git でmergeした時、conflictが発生。それを解消してcommitしてpushしたんだけど、やっぱり無かったことにしたい。
はい。 git でmergeした時、conflictが発生。それを解消してcommitしてpushしたんだけど、やっぱり無かったことにしたい。
こんな時、
(´-`).。oO(まじでやっちまったー。もうどうしたらいいかわからないよー。dふぉdふぉdんfdsf;)
と思うのですが、まずは落ち着きましょう。
実際、merge commitはgit revert -m 1 コミット名で消せます。
ですが、困ったことに再度mergeが出来なくなります。 要するに同じコミット名であるため、mergeを受け付けなくなるのです。
一番簡単な方法ですが、
もし、mergeしたbranchが、自分しか使ってないブランチであった場合は、git reset --hard HEAD^ で一個前に戻して上げましょう。
そして禁断のコマンド git push -f origin ブランチ名 をすれば解決します。 ですが、他にそのブランチを使っている人がいたらただじゃ済まないので、周りをよくみてからよく相談してからgit push -fは使いましょう。
コミット名が被っているから再度mergeできない訳で、git revert -m 1でなかったことにした後、rebaseするなりなんなりしてコミット名を変えて再度mergeするのが一番じゃないでしょうか。