Git撤销已经push到远程分支的commit

有时想要撤销已经push到远程仓库的commit,将代码还原为commit之前的样子,应该如何做呢?

如果只有自己使用的分支:可以使用git reset命令

git log 查看需要还原的commitId,如下截图,

我们需要撤销ffe4a的提交,即将代码还原到3082966的commitId上


回退代码

执行git reset --soft commitId,soft可以换为hard,但两者有区别

  • soft:表示会保留当前工作区,即保留commit前修改的内容
  • hard:表示会撤销工作区内容,即不保留commit前修改内容

撤销后再次git log查看是否撤销成功

覆盖远程分支git push origin 分支名 --f 即可

如果是两人共同开发这个分支,那么使用reset去回退是有问题的,如果他人本地仓库的代码比远程仓库代码新,他人此时拉取代码的话,是不能拉到你回退后的代码的,就算他人pull代码,你的提交记录依旧在, 而且如果他人有了新的修改进行了提交,你回退的版本又会重新出现。

这时候我们可以使用git revert 命令

git revert commitId 来撤销某次commit

再git pull origin 分支名称 -f 下即可

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值