阅读量:2
在实际开发中,你是否遇到过错误的提交了代码,想要删掉本次提交记录的情况,你可以按照如下方法实现。
1、使用 git revert
如果你想要保留历史记录,并且对远程仓库其他使用者的影响最小,你可以使用 git revert
命令。这个命令会创建一个新的提交,这个新提交是对之前提交的逆向操作。例如,要撤销最近的一次提交,你可以执行:
git revert HEAD git push origin main
这里 main
是你的目标分支,根据实际情况可能需要替换。
2、使用 git reset(推荐)
如果你需要从历史记录中完全删除某次提交,可以使用 git reset
。注意,这种方法会重写历史,可能会给其他协作者带来问题。如果确定要这么做,可以按照以下步骤操作:
git reset --hard HEAD~1 git push origin main --force
这里 HEAD~1
将 HEAD 移回到前一次提交,--hard
选项会使工作目录中的文件状态与仓库同步。--force
选项用于强制推送到远程仓库,这会覆盖远程仓库中的历史。
3、使用 git push --force-with-lease
:
如果你需要强制推送,但又想确保不会覆盖其他协作者的工作,可以使用 --force-with-lease
选项。这个选项比 --force
更安全,它会在推送前检查远程分支的状态是否发生了改变。
git reset --hard HEAD~1 git push --force-with-lease origin main