之前一篇笔记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
比较多。