git撤销历史节点

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

总不可能一怒全部

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

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

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

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

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

怎么办呢?

撤销有问题的提交。

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

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

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

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

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

git撤销历史节点_第1张图片

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

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

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

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

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

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

 

修改完成    ->   commit    ->  push   

 

大功告成!!!

 

 

 

 

你可能感兴趣的:(集成编译器和版本控制)