欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

git撤销历史节点

程序员文章站 2022-03-21 13:53:42
...

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

总不可能一怒全部

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

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

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

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

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

怎么办呢?

撤销有问题的提交。

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

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

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

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

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

git撤销历史节点

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

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

git撤销历史节点

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

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

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

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

 

修改完成    ->   commit    ->  push   

 

大功告成!!!

 

 

 

 

相关标签: git