LoginSignup
0
0

More than 3 years have passed since last update.

oursとtheirsオプションを使ってコンフリ解消を便利にできる

Posted at

マージまで

他のブランチをマージしたいブランチに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
0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0