2016-09-11 9 views
2

私はすべてをプッシュするdevブランチを持っています。最後のコミットは私たちのビルド全体を破壊し、私は同じものを削除する必要があります。地元のために私は地元のレポに適していますリモートgitでコミットを削除する

git reset --hard <SHA_ID>

を使用しますが、私はプッシュしようとすると、現在のブランチの先端がリモートの背後にあると私は再びそれをプッシュする前にgit pullを使用することを示しているため、変更は拒否されます。

私の質問は、私のローカルリポジトリと同じHEADにリモートを移動させ、最後のコミットを削除する方法です。これはあなたがかなりの原因となることがあり、しかし、悪い習慣と見なされていること

$ git push origin --force 

注:

+1

フォースプッシュ?あるいは、元に戻すのではなく、明示的に変更をロールバックするコミットを押してください。 – jonrsharpe

答えて

3

あなたが同じにリモートブランチは、あなたの地元のレポにコミット「リセット」する--force引数を使用することができますこの枝に頼っている人のために混乱します。友好的なアプローチは、間違ったコミットを認め、git resetで「起こったことがないかのように」行動するのではなく、git revertで修正することです。

+0

10分前に受け入れることはできません。助けてくれてありがとう:)また、 'git reset'という1つの確認は、正しくコミットされていないファイルだけにありますか?私たちはすでにコミットして、リモートに物を押し込んでいます – georoot

+0

@georoot私はあなたのフォローアップの質問を理解していません。 'git reset 'を使うと、その後にコミットをすべて失うことになります。 – Mureinik

+1

あなたは 'git reset。 'と書いたが、私の悪いことに気づいた。 – georoot

関連する問題