2017-07-06 12 views
1

git pushを使ってプロジェクトを私のローカルリポジトリに持っていたときに間違ってGitにプッシュしました。'git push'を元に戻す際の問題

私はこのgit pushを取り消して、サーバリポジトリが特定のコミットに戻るようにしたいと思います。私はそのようなthis oneなどの他の質問を見てきましたが、Gitは-fが私のために働くとエラーをプルアップしないプッシュ:To prevent you from losing history, non-fast-forward updates were rejected. 私も、私は-fタグがプッシュを強制するだろうと思った

git push -f origin CommitSHA:mainline 

を試してみました以前のコミットを押しているかどうかは関係ありません。どうすればgit pushを元に戻すことができるようにこのエラーを修正する必要がありますか?

答えて

0

あなたのメッセージに何か不足していませんか?私はあなたのプッシュを拒否する部分の後に

Merge the remote changes (e.g. 'git pull') before pushing again

のようなものを言うべきだと思います。つまり、リモートブランチにはローカルブランチよりも最近の変更がある可能性があります。他の誰かが変更をプッシュしました。その場合、私はあなたが他の人のコミットを捨てるかもしれないので、強制的にプッシュしないように助言します。

あなたは可能性があり、次のいずれか

  • あなたのコミット元に戻すために代わりに使用git revertとにかく(最初は動作するはずですgit pull
  • を、それを実行してください。これは最終的には最初のものを元に戻す第2のコミットを導入するので、両方とも履歴になります(https://git-scm.com/docs/git-revert)。これは理想的ではありませんが、リモートブランチの履歴を書き直すことは決してありません。