チョコパイを240こ食べたエンジニア

PHPエンジニアをやった後、現在はフロントエンドエンジニアに・・。好物は『チョコパイと焼き鳥』。Twitterは@chooringo(ちょうりんご)

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