终于get到了真正有用的git版本回退

之前代码有问题一直不太敢回退版本,怕可能影响到其他同事。之前用自己小项目按照百度搜来的回退指南反正就是没用。。退了跟没退一样,也不知道具体要回退哪个版本。

今天终于从天使同事那里get到了真正有用的git版本回退!

情景重现:

假设你八点tcommit了版本A,八点10分commit了版本B

现在你发现版本B上已经commit过了你不想提交的文件。。你想去掉那些文件

搜百度光说回退到指定版本,,可是根本不知道我们到底应该回退到哪,按现在的情况放以前我根本不敢回退到A,怕B的修改丢失。但回退到B根本没用,push的时候如果不加force会反复报错让你拉代码,反正就是越退越乱。

直接上方法:

git reset -- soft A的版本id (这个时候你回退的版本应该是A,而不是B)
git push -- force(强制提交到远程)

现在 !代码就会回到A版本,并且回到原来B版本的修改还没有add的状态

在这个时候就可以在编辑器上去掉你不想commit的文件了

只留下你想commit的文件。

我用的是reset 不会保留版本AB中间的commit记录,如果你想知道revert和reset的区别,可以看下我之前写的一篇文章,本文就不赘述了。

你可能感兴趣的:(git)