1.前情回顾
上篇文章其实是我工作中经常使用git的方式,既不用考虑git merge或git rebase等git的高级用法,而且又可以将提交的内容看起来像使用过git rabase一样清洁,之所以会有这样的效果是因为我在git pull代码之前就从来没有进行过一次git commit.画个图来解释一下整个过程:
从图中可以看到 我写的代码真正添加到暂存区和本地仓库的时间点 是在将远程仓库的代码git pull到我本地并解决冲突之后,因此我的提交的代码历史就像使用过git rebase一样整洁----->一条线,没分叉合并过的痕迹.
2.两个注意点:
git merge命令相对比较简单,我认为下面两种情况需要注意一下:
- 2.1在如下情况下进行git merge,不会产生新的提交
merge后的结果为:
- 2.2在如下情况下进行git merge 肯定会产生一个新的提交
merge后的结果为:
3.git merge在工作中正确的使用姿势
由2中的注意点,我们可以归纳出两种代码提交方式
- 方式1
- 方式2
这两种方式,本质上是一样的,都会使提交历史分叉,而且第二种方式会使提交历史的先后顺序发生改变,以我们组为例,在未规范代码提交方式时大家大都采用这两种方式进行提交,提交历史就变成了下面的样子:
看起来乱糟糟的.但是 虽然乱,却也有一些好处,比如说简单(尤其是第二种方式,更简单)而且一般不会出现错误, 如果没有强迫症,我觉得这样进行代码提交还是比较推荐的.