Git マージコミットをrevert後に再度マージしたいけど差分が出ない時には
この間、(今更ですが)困っていたのでぐぐったら情報がでてきたので、
自分なりに解釈してメモしておきますmm
GitでAブランチに修正内容コミット // 手順1
⇩
Aブランチの内容をメインブランチにマージ // 手順2
⇩
やっぱAブランチの内容取り消したいわ。。
⇩
Aブランチの内容をメインブランチにマージしたコミットを取り消す! // 手順3
git revert -m 1 {手順2のリビジョン番号}
⇩
数日後、、、
よし、Aブランチの内容やっぱメインブランチにマージしたいわ!
⇩
Aブランチ⇒メインブランチへのマージ、再度プルリク作成!
あれ、、、差分があるはずなのに出てこない汗
という感じで困りましてググりました。。
以下のページ参照させていただきました、ありがとうございます!
qiita.com
revertしたものをさらにrevertする
ということが必要なのですね!
Gitは結局、前へ前へどんどん進めていくもので、
手順1が一番リビジョン番号が古くて、手順3が一番リビジョン番号が新しい。
そこでいくらマージしようとしても、修正を加えた手順1より、revertした手順3というのが一番最新の状態となる。
なので、差分は出てこない。
ということで、
revertした手順3のあとに、revertしたことを打ち消すコミットをする
と差分がでてくる!つまり、
git revert -m 1 {手順3のリビジョン番号}
でコミットプッシュすると差分がでてくる!
ちょと認識違っているかもですが、一旦自分はこれで納得したのでこれでmm
revertのオプションの-m 1はほかに -m 2もあるのでこれについては次回の記事でmm