git强制删除最后一次提交并删除提交历史(本地和远程服务器)

649 阅读1分钟

这个过程需要谨慎操作,因为它会永久删除提交记录和相关更改。请按以下步骤操作:

  1. 首先,丢弃本地的最后一次提交:
git reset --hard HEAD~1

这会将您的本地仓库回退到上一个提交。

  1. 接下来,强制推送更改到远程仓库:
git push origin +HEAD

"+"号表示强制推送,会覆盖远程分支。

请注意,这个操作是不可逆的,会永久删除最后一次提交。在执行之前,请确保您真的想要删除该提交,并且没有其他人正在使用这个分支。

如果强制推送报错,提示如下报错

image.png

那么需要关闭推送保护

image.png

如果您只是想撤销最后一次提交但保留更改,可以使用softer的reset选项:

git reset --soft HEAD~1

这会保留更改但撤销提交。