引言

通常我们使用git merge时都不会加参数,但实际工作中其实有三种参数可以选择,下面简要解释用法和使用场景让你5分钟掌握!

含义

在这里插入图片描述
(1)fast-forward:现在有master分支,dev分支拉出来开发并commit了几次,再合并回master分支,如果master分支在dev分支拉出来以后没有任何提交了,就会使用fast-forward模式,直接把master指针指向dev的最后一个提交节点上,分支提交记录为一条直线,最后master指针和dev指针都指向原来dev的最后一次提交。 git merge命令不加参数的默认是执行fast-forward模式,除非不符合fast-forward条件,即拉出dev分支后master上有其他新提交。
(2)–no-ff:禁用fast-forward模式,则会生成一个新的提交节点,来指示这个合并操作。分支提交记录也能看到master和dev各自的线(提交记录也一并合过去了),以及合并过程。推荐使用这个!能追溯到完整的分支提交历史。
(3)–squash:如果拉出来的分支上提交记录过多,合并到master的时候不想太乱希望把这些冗余记录汇总为一条记录。

工作场景

(1)fast-forward:通常用于本地自己开发,协作开发用的很少
(2)–no-ff:多人协作时常用,一般都要禁用,这样提交记录更清晰
(3)–squash:自己提交记录太多太乱,通常都会用该参数进行压缩美化

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐