之前一篇笔记Git相关用法(一)提到了一些常用的git命令,里面提到了git reset这个命令。

git reset我主要用在本地回滚,上一篇笔记Git相关用法(一)里面提到git reset <commit-id>可以回退到你想要的那个版本,但这样的话,你本地的文件并没有回退。

git reset --hard <commit-id>这个命令加上--hard这个参数,表示缓存区和工作目录都回退到这个版本。

还有一个git revert命令,也有回滚的作用。

下面就来说一下git revert这个命令的用法。

比如说我现在的提交历史如下图所示:

现在我要revert B这次commit,我需要用的命令是git revert 1235

再看提交历史,结果如下图所示。可以看到多出了一个D点,这个点是对B的revert。

注意,revert的时候可能会产生一些冲突,当发生冲突的时候,你需要解决冲突。

git revert会在提交历史里面留下痕迹,git reset不会在提交历史里面留下痕迹。相对而言,我用git reset比较多。