git のbranchで二人が作業してConflictが起きた
基本はpull
とあるブランチに対してAさんとBさんがそれぞれ作業をしてAさんがpushした。
BさんはAさんの変更を取り込みつつもブランチにpush したい。
pullしてみた。
$ git pull origin firstbranch:firstbranch remote: Counting objects: 1, done. remote: Compressing objects: 100% (1/1), done. remote: Total 1 (delta 0), reused 0 (delta 0) Unpacking objects: 100% (1/1), done. From xx.xx.xx.xx:myProject ! [rejected] firstbranch -> firstbranch (non-fast-forward)
rejected、拒否されたので次はマージを試みた。
$ git merge origin firstbranch Already up-to-date. Yeeah!
やけにテンション高い。
でも差分がないわけはないので、コマンドを調べてみた。
$ git pull origin firstbranch From xx.xx.xx.xx:myProject * branch firstbranch -> FETCH_HEAD Auto-merging README.md CONFLICT (content): Merge conflict in README.md Automatic merge failed; fix conflicts and then commit the result.
次はConflict、一歩前進。
どうやらREADME.mdが競合しているらしいので手で修正。
再度、ローカルのブランチに対してコミット。
$ git commit -m "コミット"
コミットができればあとはpullしてリモートに反映させる。
git pull origin firstbranch
これでリモートに変更を取り込んだ状態でpushできた。