You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何删除已推送的合并Commit并将远程仓库回滚至指定提交?

如何回滚远程仓库到指定提交状态

别慌,这事儿处理起来很直接,分几步就能把远程仓库恢复到你截图里高亮的那个提交状态:

步骤1:获取目标提交的哈希值

先确认你要恢复到的那个高亮提交的哈希值(就是截图里那串长字符,比如a1b2c3d)。

步骤2:本地仓库硬重置到目标提交

在本地终端执行以下命令,把本地分支强制重置到目标提交状态:

git reset --hard <target-commit-hash>

注意:--hard参数会丢弃本地所有未提交的变更,如果你还有没保存的工作,一定要先备份或者提交到临时分支!

步骤3:强制推送到远程仓库

因为你修改了仓库的提交历史,普通推送会被拒绝,所以需要用强制推送覆盖远程分支:

git push origin <你的分支名> --force-with-lease

推荐用--force-with-lease而不是直接--force,它会先检查远程分支有没有其他人的新提交,如果有的话就不会执行推送,能避免不小心覆盖别人的工作。

重要提醒

如果这个分支是多人协作共享的,强制修改历史会让其他开发者的本地仓库和远程产生冲突,这种情况下更稳妥的做法是用git revert命令创建一个新的提交来撤销上次的合并操作,而不是直接修改历史:

git revert <你要撤销的那个合并commit的哈希>

执行完后直接普通推送即可,这样不会影响仓库的历史记录,其他开发者拉取更新后也不会有问题。

内容的提问来源于stack exchange,提问作者Darko Darac

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:28:00