14285


マージの取り消しをしたいです教えて下さい。

間違ってマージをしてしまいました。  
現在のブランチがHEADでマージをしたら、masterブランチが消えてしまいました。  
プッシュはしていない状態なので、リモートの方は何も更新されてない状態だと思っています。

どのような操作を行えば良いでしょうか？SourceTreeを使っております。

こちらの参考にしようかと思っていますが正しいでしょうか？  
[参考URL](http://blog.livedoor.jp/noanoa07/archives/1981451.html)

> 『※マージのコミットを打ち消す操作は SourceTree  
>  ではできないようです。右上の「端末」ボタンを押すと、ターミナルが開くのでコマンドを入力します。 「git revert -m1  
>  HEAD」（直前のコミットの場合）。直前のコミットでない場合は、HEAD ではなくそのコミットのハッシュ値にします。』

追記8/11  
masterブランチは消えていないと言うことですね。  
こちらを参考にすれば、ソースツリーのグラフを元の状態に戻せますか？

[参考２](http://qiita.com/muran001/items/dea2bbbaea1260098051)

> やらかし１５：マージしたけどやっぱり元に戻したい時
>
> あくまで他者に取り込まれていない場合です！  
>  マージする。  
>  $ git checkout <マージ先ブランチ>  
>  $ git merge <マージ元ブランチ>
>
> マージしたあと、やっぱやめよって思ったらこれをやる  
>  ORIG_HEADを指定すればマージ前に戻る  
>  $ git reset --hard ORIG_HEAD


CC BY-SA 3.0
2015-08-11T11:40:56.217
14283
2015-08-11T12:51:50.983
2015-08-11T12:17:54.587
10715
10715
question
git
マージの取り消しをしたい（プッシュしていない状態）リモート有り


「元に戻す」というのが良く分からないのですが、コミットの参照を`master`やその他ブランチから外すことを、`detached
HEAD`といい、この状態で行った変更はどこかのブランチを再度`checkout`すればなかったことになります。

ですので、GUI上から`master`ブランチを再度チェックアウトしてみてはどうでしょうか。

gitを覚えたばかりのときは、今何をして、どういう状態になっているのか、訳が分からなくなるかもしれません。そこで、`git
reflog`コマンドを覚えることをお奨めします。これはローカルのブランチに行った変更の履歴を見ることができます。特定の状態に`checkout`できるので、おおよそどうにでもなります。


CC BY-SA 3.0
2015-08-11T12:51:50.983
14285
2015-08-11T12:51:50.983
5337
14283
answer