1
git log 

現在のブランチのすべてのコミットが一覧表示されます。3 つのコミットがあり、途中のコミットを削除したい場合は、次のコマンドを提案できます。

git reset --hard <sha1-commit-id>

ただし、そのコミットIDに戻したくありません。ブランチから削除したいだけなので、次回git logはリストに表示されません。事前にサンクス。

EDIT、説明不足で申し訳ありません。コミットIDを削除すると言いましたが、関連するすべての変更も削除することを意味していました。

4

3 に答える 3

2

コミットはリモートブランチにもありますか? これに対する答えに応じて、何をすべきかが決まります。

そうでない場合は、実行しgit rebase -i <sha before the one you want to remove>てください。これにより、コミットを削除できます。

リモートにある場合は、削除したくありません。押したり引いたりして問題を引き起こすことになります。プッシュした後に履歴を書き換えるのは悪いことです。したがって、その場合はgit revert <sha that you want to remove>. これにより、変更を元に戻す新しいコミットが作成されます。

于 2013-04-09T14:42:59.473 に答える