2013-01-09 6 views
5

私が見たことのないマスターブランチでいくつか変更を加えました。議論のために、私は791fda4e1ac0e1a393e01340bf0fba3f333a73ffという名前のコミットハッシュを持っています。これは、すべてがレポで安定していたときのように、今私のHEADを作りたいと思っています。私は、次の操作を実行しようとしました:Git:HEADを前回のコミットに戻す

git reset 791fda4e1ac 
git reset --soft [email protected]{1} 
git commit -m "Revert to 791fda4e1ac" 
git reset --hard 

しかし、起源は、それが非早送りプッシュだと考えているので、私はgit push origin、私は、拒否されたのですかとき:

! [rejected]  master -> master (non-fast-forward) 

の正しい方法は何ですかハッシュ791fda4e1acをコミットするために私のHEADを元に戻し、オリジンサーバーもそこに置いていますか?

答えて

10

ノンファストフォワードであるため、拒否されました。他の人が作成した可能性のある履歴を破棄します。

代わりにgit revertを使用して、既存のコミットを元に戻す新しいコミットを作成します。

また、他の誰もあなたのリポジトリを使用しておらず、今後これらのコミットについて気にしない場合は、git push -fに進み、警告を無視してください。

+1

この場合、 'git revert'コマンドはどのように見えますか? – drevicko

+1

@drevickoさまざまな可能性についてhttp://stackoverflow.com/questions/1463340/revert-multiple-git-commitsを参照してください。私はhttp://stackoverflow.com/questions/1463340/revert-multiple-git-commits#comment19940208_11743042ベストが好きです。 – CletusW

2

強制プッシュ(git push -f origin)を行う必要があります。

関連する問題