--no-ff 指的是强行关闭 fast-forward 方式 注意:fast-forward 方式就是当条件允许的时候,git 直接把 HEAD 指针指向合并分支的头,完成合并。属于“快进方式”,如果删除分支,就会丢失分支信息,因为在这个过程中没有创建 commit
git merge --squash 用来把一些不必要的 commit 进行压缩。比如:feature 分支在开发时写的 commit 很混乱,合并的时候不希望把这些历史 commit 带过来,于是使用 --squash 进行合并,此时文件已经同合并后一样了,但不移动 HEAD,不提交。需要进行一次额外的 commit 来总结一下完成最终的合并即可
总结: --no-ff:不使用 fast-forward 方式合并,保留分支的 commit 历史 --squash:使用 squash 方式合并,把多次分支 commit 历史压缩为一次即可
|