git撤销历史节点

在开发时,总会遇到这样的问题,突然发现很久以前的一次提交或merge出了问题。但是后面有一大堆节点。

总不可能一怒全部

git reset --hard  版本号                        //回退到历史某一个版本。

而且这么做也是无效的,为什么是无效的呢?

因为git是分布式的,每个人的本地都有一个版本库,这个版本库包含这所有的每次提交操作。版本回退后,需要每一个人都版本回退,并且重新复制粘贴自己的工作。

只要有一个人没有这么做,直接推送,那么之前所有的版本回退就白做了。

但是,不可能指望着,团队中每个人都会git操作,并且愿意重做自己的工作。

怎么办呢?

撤销有问题的提交。

git revert (commit操作对应的版本号)         ()是为了表示结构

注意:是撤销有问题的提交,就是撤销了有问题的commit操作。不是推送操作。

而且把这次撤销相当于手工恢复所有那次commit所修改的代码。有冲突的话需要合并冲突,并且进行一次commit操作。

如果在本地提交了 >=2 次。

那么在推送时就会出现merge操作,如下图所示:

我们可以看到,除了推送本地最新的提交,还做了一件事,就是把本地分支和并到远程。

我们点开合并操作就可以看到

这里面不止一次提交,当执行

git revert (merge操作对应的版本号)

时,就会给出提示信息,问到底撤销哪一次提交,所以不要使用merge对应的版本号

应该直接使用commit操作对应的版本号。

 

修改完成    ->   commit    ->  push   

 

大功告成!!!

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值