mergeしたときにコンフリクトが残っている状態だとcommitができない。
ただ、持ち場を離れないいけないときは、中途半端でもいいからgit pushしておかないとモヤモヤしてしまうと思います。
一度、今の状態で全ファイルをコミットして、Pushしてしまう。
この際に、コンフリクト解消用ブランチを作ってそこで作業すると、混乱せずに済むかもしれない。
また、コンフリクトしているファイル一覧はどのように出すのかはわからないので、どこかに控えておく。
1 2 3 |
git add . git commit git push |
一息つき、別のマシンで作業することになった。
コンフリクト解消用ブランチをcheckoutし、さらに対象ファイル(test.yml)を–conflict=mergeでcheckoutする。
1 2 |
git checkout --conflict=merge test.yml git add test.yml |
そうすると、コンフリクト解消前の状態として扱われ、エディタなどのマージツールで扱えるようになる。
test.ymlのコンフリクトが解消したら、以下でマージコミットに混ぜ込む。
1 2 |
git add test.yml git commit --amend |
pushする。
force pushが必要になるので、やはりコンフリクト解消用ブランチを作ってそこでやるのが良いと思う。
1 |
git push -f |