可以使用git reset
命令来撤销提交,然后再重新提交更改。另外使用git reset之前先做好项目的备份,以备不时之需。下面是一个简单的示例,说明如何使用git reset
命令来撤销提交:
首先,编辑远程仓库中main
分支的提交历史记录,可以使用以下命令(如果是master就把main改成master):
git checkout main
然后,使用git reset命令来撤销提交。例如,如果您想要撤销最近3次提交,可以使用以下命令:
git reset HEAD~3
完成撤销操作后,本地仓库会回到3次之前的版本,本地仓库最近3次的历史提交记录也会删除,然后使用git push --force-with-lease命令将本地仓库当前版本强制推送到远程仓库,这样远程仓库也会回到3次之前的版本,并且远程仓库最近3次的提交历史记录也会消失。例如,如果您想要将本地仓库当前版本强制推送到远程仓库中的main分支,可以使用以下命令:
git push --force-with-lease origin main
这样本地仓库和远程仓库的最近3次历史提交记录就会消失,并且本地仓库和远程仓库都会回到3次之前的版本,然后再把本地项目commit到本地仓库,再push到远程仓库,这样远程仓库中就有了项目的最新版本并且想要删除的3次历史提交记录也删除了