1. ホーム
  2. git

[解決済み] Githubやローカルで直近のn回のコミットを削除する方法は?

2022-04-20 13:59:36

質問

GitHub リポジトリのひとつから最後の 2 つのコミットを削除しようとしています。提案されたとおりにやってみたところ ここで : git push -f origin HEAD^^:master . 最後の2つのコミットが削除されたので、うまくいったようです。

次に、ローカルリポジトリからそれらを削除するために git rebase -i HEAD~2 . それらのコミットに関連する行を削除し、次のようにチェックします。 git log が正しく削除されていることを確認します。

その後、ローカルリポジトリに変更を加え、新しいコミットを作成し、GitHub にプッシュします。問題は、GitHub のアカウントに削除しようとした前のふたつのコミットが残っていることです。

Github リポジトリをローカルにクローンして変更を加えた場合、新しいコミットをプッシュしても、その古いコミットが GitHub にプッシュされないからです。

どうすればいいですか?

最後の2つのコミットをローカルで削除するには、以下を使うことをお勧めします。

git reset --hard HEAD^^

Rebaseは全く別の操作なので、ここでは役に立ちません。