Log.log(work)

いろんな作業メモ

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できた。


参考

qiita.com