如何从分支中删除提交?

发布时间 2023-10-17 21:27:43作者: 小满独家

内容来自 DOC https://q.houxu6.top/?s=如何从分支中删除提交?

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


注意:git reset --hard 会删除你的工作目录的更改
在运行此命令之前,请确保存储任何要保留的本地更改

假设你正在那个提交上,那么这个命令将会将其打回...

git reset --hard HEAD~1

HEAD~1意味着头部之前的提交。

或者,您可以查看git log的输出,找到要备份到的提交的提交ID,然后执行以下操作:

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


如果您已经推送了它,您需要强制推送才能摆脱它...

git push origin HEAD --force

然而,如果其他人可能已经拉取了它,那么最好启动一个新分支。因为当他们拉取时,它将只是将其合并到他们的工作中,并且您将再次将其推送回去。

如果您已经推送了它,也许最好使用git revert来创建一个“镜像”提交,它将撤销更改。但是,两个提交都将出现在日志中。


顺便说一下:git reset --hard HEAD非常适合用于清除正在进行中的工作。它将您重置回最近的提交,并清除工作树和索引中的所有更改。


最后,如果您需要查找已“删除”的提交,通常可以在git reflog中找到,除非您已经清除了存储库中的垃圾。