1. ホーム
  2. git

[解決済み] git push -f origin master のエラーからどうすれば回復できますか?

2022-10-04 02:28:47

質問

間違ったソースをプロジェクトにコミットしてしまいました。 --force オプションを使用して、間違ったソースをコミットしてしまいました。

元に戻すことは可能でしょうか?以前のブランチはすべて -f オプションで上書きされることを理解しているので、私は以前のリビジョンを台無しにしてしまったかもしれません。

どのように解決するのですか?

Gitは一般的に何も捨てないのですが、ここから回復するのはまだ厄介かもしれません。

正しいソースがあるのなら、それをリモートにプッシュすることができます。 --force オプションでリモートにプッシュすることができます。Git は、あなたが指示しない限りブランチを削除することはありません。もし実際にコミットが失われてしまった場合は コミットを回復するための便利なガイド . 必要なコミットの SHA-1 がわかっているのなら、おそらく大丈夫でしょう。

一番良いのは すべてをバックアップして、ローカルリポジトリに何が残っているか見てください。可能であれば、リモートでも同じことを行ってください。使用方法 git fsck を使って復旧できるかどうか確認し、そしてなによりも を実行しないでください。 git gc .

なによりも、決して --force オプションは、本当に、本当に意味があって使っているのでなければ、決して使わないでください。