1.Fast Forward
Fast Forward意为"快进模式"。主要使用在多分支合并的情况下。即:当前分支合并另一个分支的时候,如果合并的过程中没有Conflict冲突的时候,则会通过直接移动两个分支的指针,来达到合并的过程,这个过程就叫做Fast Forward。
在Fast Forward模式下,当我们merge合并后,将会删除无用的分支dev,在这种情况下,Fast Forward就有一个弊端暴露了,即:删除分支后,会丢掉分支的所有信息。
什么是丢掉分支信息呢?看下面的例子
新建一个分支dev,在分支dev上做了三次操作:①新增用户功能 ②新增角色功能 ③新增权限功能,然后切换至master主分支,使用Fast Forward模式进行合并分支
2.No Fast Forward(--no-ff方式)
如果要强制禁用Fast Forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。此处就会使用到 --no-ff 参数方式merge提交了
附:如何使用IntelliJ IDEA来使用--no-ff方式提交
如果你使用IDEA工具来使用Git,你想使用--no-ff方式提交,你可以在此处进行勾选: