2017-05-01 9 views
0

ローカルブランチとマスターブランチの両方の最後のコミットにロールバックするにはどうすればよいですか?ローカルブランチとマスターブランチの両方でロールバックしますか?

$ git reset --hard HEAD^ 
HEAD is now at e861a3e Added push menu label. 

$ git status 
On branch master 
Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded. 
    (use "git pull" to update your local branch) 
nothing to commit, working tree clean 

それは引くために私を頼みます。しかし、私が引っ張っても、私は同じ支配権をマスターブランチから返すことになります。

私は自分のコードで間違いを犯しました。私はコミットして押しました。だから私はコミットとプッシュをロールバックする必要があります。

これはどのように正しく行うことができますか?

+2

ローカルブランチでリセットした後、強制的にプッシュローカル: 'git push --force origin master'を実行することができます。 – jojo

+2

あなたはこの回答を読むことができますhttp://stackoverflow.com/questions/4114095/how-to-revert-git-repository-to-a-previous-commit –

答えて

2

通常はではありませんリモートからのコミットを削除してください。一般的には、ではなく、はリモート履歴を変更する必要があります。誰かがそのコミットの上で変更を加えることができたかもしれません。

通常は、に戻ります。はコミットしてください。リバートは、リバートされたコミットに含まれるすべての変更を元に戻す新しいコミットです。あなたは、あなたが他のすべてのコミットとしてこのコミット押すと、COMMIT_HASHの変化がなくなっている

git revert COMMIT_HASH 

でコミットを元に戻します。

これを行う前に、ローカルブランチでコミット削除を元に戻す必要があります。これを行うには

git reset --hard origin/master 
+0

答えに感謝します。 – laukok

関連する問題