如何从分支历史记录中删除提交?我应该使用git reset-hard HEAD吗?


当前回答

假设您尚未推送到远程存储库,则可以重新克隆存储库。这是我几次选择的方法。

其他回答

如果您没有发布更改,为了删除最新提交,您可以

$ git reset --hard HEAD^

(注意,这也会删除所有未提交的更改;请小心使用)。

如果您已经发布要删除的提交,请使用git-restore

$ git revert HEAD

删除整个提交

git rebase -p --onto SHA^ SHA

显然,用您想要删除的引用替换“SHA”。该命令中的“^”是文字。

http://sethrobertson.github.io/GitFixUm/fixup.html#change_deep

我已经推了。需要远程返回一些提交。尝试了许多变化,但只有Justin via git bush的这句话对我来说很好:

git reset --hard $GIT_COMMIT_HASH_HERE
git push origin HEAD --force

在我的情况下,我对这只小狗的魔法代码是这样的:

git reset --hard @{u}

测试一下,告诉我。我试过几种不同的方法,但只有这一种对我有帮助。

如果你是IntelliJ用户,界面简直太棒了。只需单击一次,即可立即看到效果。这个地方的快捷方式:MacOS上的Cmd+9。