マージまで
他のブランチをマージしたいブランチにcheckoutし、それを最新にする。
git checkout 他のブランチをマージしたいブランチ
git pull
コンフリ解消
コンフリの発生。
git merge マージしたいブランチ
# コンフリする
CONFLICT (content): Merge conflict in コンフリが発生しているファイル名
どちらのブランチを優先するか、またファイル単位ではどちらの内容を優先するかがわかっている場合にはいちいちエディタでコードを確認するよりも以下の方法を使った方がコンフリを速く解決できる。
ブランチ単位でどちらの内容を優先すれば良いかが明白な場合
他のブランチをマージしたいブランチの内容を優先する場合
git merge -Xours
マージしたいブランチの内容を優先する場合
git merge -Xtheirs
以上でマージが完了する。
ファイル単位でどちらの内容を優先すれば良いかが明白な場合
他のブランチをマージしたいブランチのファイルの内容を優先する場合
git checkout --ours ファイル名
git add ファイル名
マージしたいブランチのファイルの内容を優先する場合
git checkout --theirs ファイル名
git add ファイル名
優先するブランチやファイルを間違えた場合
# マージを最初からやり直す
git merge --abort
# マージ自体を取り消す
git reset --hard ORIG_HEAD