2014.09.19
wolfgang

gitでmergeをrevertしたところ・・・

ども、さえきです。
弊社ではgithubを使ってまして、自分も入社してから本格的に使い始めています。
基本的な処理は慣れてきましたが、想定外のことが起こるとまだあたふたしてしまいます・・

先日、間違ってmergeしてしまったので、元に戻そうとrevertしたとき
以下の様な壁に当たりました。

revertのmオプション?

mergeをrevertしようとすると以下のエラーが出ました。

[code language=”bash”]
$ git revert xxx
error: Commit xxx is a merge but no -m option was given.
fatal: revert failed
[/code]

調べてみるとmergeしたブランチかmergeされたブランチどちらを戻すの?という指定が必要のようです。

Gitのrevertの-m(mainline)オプションについて
http://blog.toshimaru.net/git-revert-mainline/

gitのmerge-commitをrevertする
http://d.hatena.ne.jp/koba04/20121122/1353512656

んで、なんとなく”-m 1″でrevertしてて、うまく元に戻らないなぁと悩んでたら、
実は僕のケースは”-m 2″でrevertするケースでした。

一旦はrevertしたんだけど、またmergeしたい・・・

revertはうまくいき、あーよかった、と一安心。
んで、revertしたブランチを再度mergeしようとしたんですが・・mergeできない・・・

gitで間違ってmergeしてしまったものをrevertして再度mergeするとどうなるかを検証する。
http://qiita.com/mapyo/items/450b14c2a24c436ed57e

えー、どうすりゃいいんだーと思って調べてたら以下のサイトに解決方法が

Git で merge commit を revert したあと、再度 merge したい
http://blog.risouf.net/entry/23

revertしたコミットをrevertすればいい、とのことで、それでやっと解決!

あーまだまだgitの修行が足りない・・

では