【Git实践】大型项目合并分支小技巧
我们一般会有两个分支,dev分支,作为平时开发分支;master分支,作为上线分支。上线前会使用merge或者rebase将开发分支合并至主干分支,而后编译打包部署至回归测试环境或者生产环境。
这在一般情况下是正常的。但是,想象一下,在大型项目中,经常是几十人在同时开发,同时进行的项目需求会有十几个。按照之前所述,每个人都会基于开发分支,检出自己的需求分支,开发完成后,再将需求分支合并至开发分支,而后再合并至主干分支。正常合并时,需求分支上有多个提交,合并至其他分支时也会有相应数量的提交。时间长了以后,分支上会有非常非常多的提交记录。但是,我们在进行开发时,可能会有一些无用的提交,比如,我可能是为了打个日志、暂存一下修改的内容等等。这是就会添加一些无用的提交。
为了解决这种情况,Git在merge命令,给出了--squash选项,这个命令的作用是:进行分支合并时,使用单个提交来替代合并。直白点,合并分支后,多个提交记录合并为单个提交记录。这样提交数量就少了很多,分支上也干净了许多,一个提交就代表了你做的这个需求。
示例如下:
branch1从master检出,从1处开始,有4个提交记录数,合并至master时未加--squash选项,master有同样的提交记录数。
branch2从master检出,从5处开始,有3个提交记录数,合并至master时使用了--squash选项,master分支只有一次提交记录。
总结
优点
主干分支干净,提交记录数少,一个需求一个提交。和rebase很像。
缺点
合并至主干后,若想回滚需求分支多次提交记录中的某条提交记录,则无法办到,只能手工修改代码,再次进行提交。
欢迎关注我的公众号:张恒强的学习笔记
以上是 【Git实践】大型项目合并分支小技巧 的全部内容, 来源链接: utcz.com/z/514112.html