私はうんざりしました...プッシュされたコミットを元に戻して、それが起こったことがないようにするにはどうすればよいですか?
プッシュされたコミットを元に戻して、それが起こったことがないようにするにはどうすればよいですか?
ありがとうございます!
私はうんざりしました...プッシュされたコミットを元に戻して、それが起こったことがないようにするにはどうすればよいですか?
プッシュされたコミットを元に戻して、それが起こったことがないようにするにはどうすればよいですか?
ありがとうございます!
警告:ここのすべてのステップは破壊的です。間違ってはいけないし、始める前にレポのコピーを取ってください。
git reset --hard $what
ここで、SHAとは何か、またはそのブランチに戻る予定のものです。 (例:最新コミットを破棄したい場合はHEAD^
)
これを実行したら、git push --force ...
をリモートリポジトリに取得します。
これは、リモートのリポジトリから死んだBLOBなどを削除する以外はすべてを解決します。それがあなたにとって重要ならば、人生はより困難です。それを取り除くプロトコルの方法はありませんので、リモートのリポジトリを削除して新しいクリーンなコピーを作成するか、バックエンドに固有の処理を行います。
Danial Pittmanは、あなたが取った行動を「消去する」プロセスを提供しましたが、別の方法を提案します。可能であれば、あなたが行った変更を修正して、前のコミットを本質的に無効にする方がよいでしょう。はい、人々は依然としてレポ履歴を見て、おそらく「間違い」を見ることができますが、これはより安全なアプローチです。さらに、変更した変更が実際に必要な場合は、このメソッドを実行するときにリポジトリに残ります。希望が助けてくれる!
コミットにパスワードのような機密情報が含まれている場合、これは役に立ちません。それは、彼の希望の私の解釈であり、行われたことを元に戻すことではなく、それが起こったことがないようにすることです。 – johnny
@johnny正確に – fancy
私は、この質問を見る他の人が自分のオプションを知っていることを確認したかったと思います。 – jbranchaud
重複:http://stackoverflow.com/questions/927358/git-undo-last-commit –