読者です 読者をやめる 読者になる 読者になる

git mergeやり直し手順メモ

マージし直すときの手順メモ。

いちおう今回はマージ先のブランチを残したい場合。で、この例だとgit reset でやり直せるけど今回やりたかったのはpushしたマージをやり直したかったのでこの形になった。

最初のマージ

$ git branch
* dev1
dev2

$ git merge dev2
Auto-merging test
CONFLICT (content): Merge conflict in test
Automatic merge failed; fix conflicts and then commit the result.

〜コンフリクトを修正〜

$ git commit -m "マージするよ"

失敗に気づく・・・

マージやりなおす

$ git log --graph

*   commit xxxx3
|\  Merge: xxxx1 xxxx2
| | 
| |     マージ
| | 
| * commit xxxx2
| | 
| |     dev2で追加
| | 
* | commit xxxx1
|/
|       dev1で追加
| 
*  

# マージ前の状態で別ブランチを作る
$ git checkout xxxx1

$ git branch
* (HEAD detached at xxxx1)
  dev1
  dev2

$ git checkout -b work

# マージしなおす
$ git merge dev2
Auto-merging test
CONFLICT (content): Merge conflict in test
Automatic merge failed; fix conflicts and then commit the result.

〜コンフリクトを修正〜

# workブランチをdev1ブランチに置き換える
$ git merge -s ours dev1
$ git checkout dev1
$ git merge work

こんなやり方でいいのかわからないので、もっとよいやり方教えてください。以上です