web-dev-qa-db-ja.com

egitでコミットを削除する方法は?

私は削除したいエジットでいくつかの悪いコミットをしました。

Some bad commits I want to delete

Egitからコミットを削除するにはどうすればよいですか?

ありがとう!

編集:ハードリセットを数回試みましたが、何もしませんでした。 Hard reset screen

編集2:ハードリセットは実際に変更をロールバックしますが、これらのコミットを一度も行っていないかのように、履歴から完全に消えるようにしてください。

26
stommestack

リポジトリのRightMouseで、「表示->履歴」をクリックします。最後の「フェッチ」の前に最後のコミットを選択する必要があります。ほとんどの場合、現在のHEADの下での2番目のコミットです。そのコミットのRightMouseと「リセット->ハード」(すべてのコミットとローカルワークスペースの変更を選択したコミットにリセットします)。

上向き矢印が下向き矢印に変化するのがわかるはずです。つまり、コミットが削除され、リポジトリが古くなっています。 「fetch」と「rebase」を使用して最新の状態にします。

33
Frank

ケプラーのEgit3. を使用すると、必要なツリー式にハードリセットできます。

enter image description here

ただし、一度ハードリセットすると、git Push --forceその後:アップストリームリポジトリの履歴がなければ、そのコミットがリストされます。

5
VonC