git merge 三种常用模式


2个月前 172次点击 来自 其他

标签: Git

fast-forward

Git 合并两个分支时,如果顺着一个分支走下去可以到达另一个分支的话,那么 Git 在合并两者时,只会简单地把指针右移,叫做“快进”(fast-forward)不过这种情况如果删除分支,则会丢失merge分支信息。

--squash

把一些不必要commit进行压缩,比如说,你的feature在开发的时候写的commit很乱,那么我们合并的时候不希望把这些历史commit带过来,于是使用–squash进行合并,此时文件已经同合并后一样了,但不移动HEAD,不提交。需要进行一次额外的commit来“总结”一下,然后完成最终的合并。

--no-ff

关闭fast-forward模式,在提交的时候,会创建一个merge的commit信息,然后合并的和master分支

结论

一般而言,我们在开发中都保存好每次commit信息,无论是主分支,功能分支,特性分支。
所以最常用的情况是携带--no-ff参数进行merge。如果提交的commit信息特别混乱,比如开发周期很紧没有详细记录commit信息,则使用--squashmerge时做一次总的commit信息汇总。

Made with in Shangrao,China By Devler.

Copyright © Devler 2012 - 2022

赣ICP备19009883号-1

Top ↑