什么是fast forward, 顾名思义,就是快速向前进,Git怎么做到快速的呢?
原来如果Git判定可以fast forward的时候,直接修改当前HEAD指针的指向然后再修改当前HEAD指针,说白了就是修改两个指针的指向,而并没有生成新的commit对象。
所以当你修改了其中的一个branch中的某个commit的时候,另一个branch如果也引用了此commit,则这个branch会很意外的出现变化,因为引用的是同一个commit对象。
所以一般有几种方法:
1 –no-ff
显示告诉Git不要fast forward
2 cherry-pick
3 –squash
将所有commit合并成一个commit,这样肯定是生成一个新的commit。
原文:http://blog.csdn.net/hongchangfirst/article/details/45484191
作者:hongchangfirst
hongchangfirst的主页:http://blog.csdn.net/hongchangfirst
版权声明:本文为hongchangfirst原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。