読者です 読者をやめる 読者になる 読者になる

git pull/pushできなくなってしまった人への参考資料

gitの勉強をしていると
うまくpushできなかった時の解決方法として
・git pull
・git fetch
の二種類がみつかるとおもいます。どちらを使うべきかと言うとはっきりは言えませんが、調べた限りではgit fetchを使って変更箇所を治すのがいいとされています。
と言っても、もうpullしてしまったという人もいると思うので、まずはpullの後の説明をします。
git pull
を行うと、競合(コンフリクト)が起きているファイルを「最新情報と変更部分」を加えた状態のものに書き換えてローカルレポジトリに反映させてくれます。
試しにそのファイルを開いてみましょう。
すると以下のようにHEADと何かで囲まれた部分があるとおもいます。(これはサンプルです)
sample.txt------------------
sample
text
itaya_user_a
<<<<<<< HEAD
sakura
test_a
=======
sakura_user_b
test
>>>>>>> 52658903394ee3d55c52192ac88e5b86d722dbd3
program
----------------------------
ここでは、リモートリポジトリでは
sakura
test_a
という部分が、ローカルリポジトリでは
sakura_user_b
test
となっているからpushできないよと言われてます。
そのため、この部分を必要に応じて変更します。
最終的にはこのようなこのような形にします。
sample.txt------------------
sample
text
itaya_user_a
sakura_user_b
test_a
>>>>>>> 52658903394ee3d55c52192ac88e5b86d722dbd3
program
----------------------------
そしたら、これをadd/commit/pushします。
すると問題なくpushできるとおもいます。