自分のGitHubリポジトリの最後の2つのコミットを削除しようとしています。私は、hereとして提案しました:git push -f origin HEAD ^^:master。それは動作するように思われ、最後の2つのコミットが削除されます。Githubとローカルの最後のnコミットを削除するには?
次に、git rebase -i HEAD〜2を使用してローカルリポジトリから削除しました。これらのコミットに関連する行を削除し、正しく削除されていることをgit logで確認します。
その後、ローカルリポジトリにいくつかの変更を加え、新しいコミットを作成してGitHubにプッシュします。問題は私のGitHubアカウントで私が削除しようとした前の2つのコミットがあることです。
ローカルリポジトリに問題があると思うのですが、自分のGithubリポジトリを自分のローカルにクローンして、新しいコミットをプッシュするときにここでいくつかの変更を加えると、それらの古いコミットはGitHubにプッシュされません。
最後の二つのコミットを削除するには
この変更を既にリモートリポジトリにプッシュしている場合。 git push -fで削除することができます-f –
最後のn回のコミットでこれを一般化できますか? –
@ user_19 'git reset --hard HEAD^4'や' git reset -hard HEAD〜4'のようなことができます。あなたの履歴にマージが含まれていると、状況が少し複雑になることがあります。リビジョンの指定に関する詳細は、対応するセクション[here](https://www.kernel.org/pub/software/scm/git/docs/git-rev-parse.html)を参照してください。 –