什么是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
时间: 2024-10-10 09:28:18