Gitでマージの競合を解消してみる
Gitでマージの競合を解消してみる。
現状
現状、sample.txtのファイルが1つある状態。
$ cat sample.txt 111 222 333 $ git status # On branch master nothing to commit (working directory clean) $ git branch * master
ブランチ側で修正
$ git checkout -b test Switched to a new branch 'test' $ vi sample.txt 111 OOO 333 $ git commit -a -m 'OOOに修正' [test bbc6338] OOOに修正 1 files changed, 1 insertions(+), 1 deletions(-)
マスター側で修正
$ git checkout master Switched to branch 'master' $ vi sample.txt 111 XXX 333 $ git commit -a -m 'XXXに修正' [master a1be055] XXXに修正 1 files changed, 1 insertions(+), 1 deletions(-)
競合
マージすると競合する。
$ git checkout test Switched to branch 'test' $ git merge master Auto-merging sample.txt CONFLICT (content): Merge conflict in sample.txt Automatic merge failed; fix conflicts and then commit the result.
ファイルは下記のような状態
$ cat sample.txt 111 <<<<<<< HEAD OOO ======= XXX >>>>>>> master 333
解消
改めて修正する。
$ vi sample.txt 111 OOO 333
$ git commit -a -m '改めてOOOに修正' [test 0d9acdb] 改めてOOOに修正
ログは下記のようになる。
$ git log --graph * commit 0d9acdbd55837ede5c604bc7dd09f8b8a4998fc1 |\ Merge: edd2104 62cdb25 | | Author: Your Name <you@example.com> | | Date: Tue Mar 4 10:11:26 2014 +0900 | | | | 改めてOOOに修正 | | | * commit 62cdb256401877b2f1a31d703789163efc32aade | | Author: Your Name <you@example.com> | | Date: Tue Mar 4 10:10:45 2014 +0900 | | | | XXXに修正 | | * | commit edd2104f3ad512a86f8d2aaf5c26a67c18ce2a3f |/ Author: Your Name <you@example.com> | Date: Tue Mar 4 10:10:20 2014 +0900 | | OOOに修正 |
マスターにマージする
ついでに、マスターにもマージしてみる
$ git checkout master Switched to branch 'master' Your branch is ahead of 'origin/master' by 1 commit. $ cat sample.txt 111 XXX 333 $ git merge test Updating 62cdb25..0d9acdb Fast-forward sample.txt | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
マージされた。
$ cat sample.txt 111 OOO 333
$ git log --graph * commit 0d9acdbd55837ede5c604bc7dd09f8b8a4998fc1 |\ Merge: edd2104 62cdb25 | | Author: Your Name <you@example.com> | | Date: Tue Mar 4 10:11:26 2014 +0900 | | | | 改めてOOOに修正 | | | * commit 62cdb256401877b2f1a31d703789163efc32aade | | Author: Your Name <you@example.com> | | Date: Tue Mar 4 10:10:45 2014 +0900 | | | | XXXに修正 | | * | commit edd2104f3ad512a86f8d2aaf5c26a67c18ce2a3f |/ Author: Your Name <you@example.com> | Date: Tue Mar 4 10:10:20 2014 +0900 | | OOOに修正 |