工具篇:git merge

git merge合并代码时可以带以下参数

--ff: 这是git merge的默认参数。ff即fast-forward的缩写,表示用fast-forward模式。这种方式会把源分支的提交历史合并到当前目标分支,提交历史相当于在当前分支进行的逐个提交。head指向源分支的最后一次提交代码,且不会为这次merge创建新的提交。比如回退代码到head^时,是包含合并代码的提交向前一步,即回退到源分支的倒数第2个提交上。

--no-ff:这是合并带注解tag时的默认参数,表示关闭fast-forward模式。会为这次merge创建一个新的提交。回退代码到head^时,是回退到不包含合并代码的目标分支的上一次提交,即merge前的版本。这种方式查看提交历史,提交结构清晰。

--squash:把源分支的提交合并成一个提交,然后合并到目标分支。

这些参数都会把源分支代码合并到目标分支,区别在于提交历史的整洁程度和向前看时的提交轨迹。

通常我们把 master 作为主分支,上面存放的都是比较稳定的代码,提交频率也很低,而 develop 是用来开发特性的,上面会存在许多零碎的提交,快进式合并会把 develop 的提交历史混入到 master 中,搅乱 master 的提交历史。如果根本不在意提交历史,也不爱管 master 干不干净,那么 –no-ff 其实没什么用。不过,如果某一次 master 出现了问题,你需要回退到上个版本的时候,就会比较混乱。而使用--no-ff时,回退到上一个版本,就会回到merge前的状态。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值