如何撤销GitHub中develop分支的最后一次Git提交?
如何撤销推送到GitHub develop分支的最后一次提交?
刚推送完提交就发现部分修改有误?别慌,针对这种已经推送到远程分支的情况,有两种常用处理方式,得看你的develop分支是不是有其他同事协作来选:
情况1:develop是公共分支(有其他人在使用)
这种情况下绝对不能修改历史,不然会给其他协作的同事带来麻烦,推荐用git revert——它会生成一个新的提交,用来抵消你上次提交的所有修改,历史记录会完整保留。
步骤如下:
- 先拉取远程分支的最新状态,确保本地和远程同步:
git pull origin develop - 撤销最后一次提交:
执行这条命令后会弹出编辑器,默认的提交信息是「Revert "你之前的提交标题"」,直接保存退出就行。git revert HEAD - 把生成的撤销提交推送到远程:
git push origin develop
情况2:develop是你独自使用的分支(无其他协作)
如果只有你自己在这个分支上工作,那可以直接用git reset来删除最后一次提交,这种方式会修改历史记录,所以公共分支千万别用!
步骤如下:
- 重置本地分支到上一个版本(完全丢弃最后一次提交的修改):
git reset --hard HEAD~1小贴士:如果你不想完全丢弃修改,只是想撤销提交让修改回到工作区,可以把
--hard换成--soft。 - 强制推送到远程分支:
# 更安全的方式,会检查远程有没有未同步的新提交 git push origin develop --force-with-lease # 或者直接强制推送(不推荐,容易覆盖他人修改) git push origin develop --force
额外提醒
操作前最好先备份一下当前分支,以防万一操作失误:
git branch backup-develop
这样就算搞砸了,还能通过git checkout backup-develop恢复到之前的状态。
内容的提问来源于stack exchange,提问作者JONKI
相关产品推荐
相关产品推荐

