2016-11-02 17 views
2

ローカルコミットがあり、マスターに変更がありました。だから私はした:プッシュされたgitマージを元に戻してマージをやり直します

git pull // it automatically merged and had a conflict with one file only. 
subl <file> // Made the wrong fix and saved it 
git commit // It opened nano and I Typed "fixed merge" saved it 
git push master origin 

私は戻って前に戻って、マージとプッシュをやり直すにはどうすればいいですか?マージの前に特に右に戻ってください。

+0

可能な複製を新しいコミットとコミット戻ります既にリモートブランチにプッシュされているマージコミットを元に戻す?](http://stackoverflow.com/questions/7099833/how-to-revert-a-merge-commit-thats-already-pushed-to-remote-branch) – 1615903

+0

undoinの詳細な手順がありますg合併(合併の取り消し)(https://git-scm.com/blog/2010/03/02/undoing-merges.html) – 108

答えて

4

あなたはそれがと合併戻すことができます:

git revert -m 1 (Commit id of the merge commit) 

情報がOfficial GUIDE

で見つけることができると、あなたのブランチがマージ前にあった場所を見つけるためにgit reflog <branch>を使用することにより、他の方法でそれを行うことができます詳細、およびgit reset --hard <commit_id>を使用して古いリビジョンを復元します(このコミットに戻ります)。それからちょうどpushそれを戻すことができます。

Reflogはブランチの古い状態を表示するので、好きな変更セットに戻すことができます。

あなたは正しい分岐になっていることを確認し

あなたが最後のコミットに戻すことができ
+0

だから私はこれをして引っ張っても同じ争いを起こすだろう前に?そして、私は間違った合併で作られたプッシュはまだマスターであることがわかりますか? – IskandarG

+0

これは、マージされたコミットがまだターゲットブランチ上にあるという誤った信念をGitに残します。 –

0

git revert HEAD 

は、それはあなたがどのように[の

関連する問題