1. ホーム
  2. git

[解決済み] git リポジトリを特定のコミットまでロールバックするにはどうすればよいですか?

2022-03-20 16:08:40

質問

私のレポには、現在100のコミットがあります。私はリポジトリをコミット80までロールバックし、それ以降のコミットをすべて削除する必要があります。

なぜですか?

このレポは、雑多なユーザーからのマージを行うためのものです。編集しすぎたせいで、たくさんのマージが私からのコミットとして入ってしまいました。これは、私のリモートブランチのラベル付けを間違えたためで、3 人の開発者がそれぞれ別のブランチとして表示されていました。その時点までリセットしてから、フォワードをプルする必要があります。

この例のように、リベースをしたかったのです。 GitHub でコミットを削除するにはどうすればよいですか?

しかし、gitは私に多くのコンフリクト管理をさせたがります。もっと簡単な方法はないでしょうか?

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

git reset --hard <old-commit-id>
git push -f <remote-name> <branch-name>

注)以下のコメントに書かれている通りです。 共同作業環境での使用は危険です:歴史を書き換えることになります。