【Git实践】大型项目合并分支小技巧
在使用Git作为项目版本控制工具时,经常会多分支开发。比如下图, 我们一般会有两个分支,dev分支,作为平时开发分支;master分支,作为上线分支。上线前会使用merge或者rebase将开发分支合并至主干分支,而后编译打包部署至回归测试环境或者生产环境。 这在一般情况下是正常的。但是,想象一下,在大型项目中,经常是几十人在同时开发,同时进行的项目需求会有十几个。按照之前所述,每个人都会基于开发分支,检出自己的需求分支,开发完成后,再将需求分支合并至开发分支,而后再合并至主干分支。正常合并时,需求分支上有多个提交,合并至其他分支时也会有相应数量的提交。时间长了以后,分支上会有非常非常多的提交记录。但是,我们在进行开发时,可能会有一些无用的提交,比如,我可能是为了打个日志、暂存一下修改的内容等等。这是就会添加一些无用的提交。 为了解决这种情况, Git在merge命令,给出了--squash选项 ,这个命令的作用是:进行分支合并时,使用单个提交来替代合并。直白点,合并分支后, 多个提交记录合并为单个提交记录 。这样提交数量就少了很多,分支上也干净了许多,一个提交就代表了你做的这个需求。 示例如下: branch1从master检出,从1处开始,有4个提交记录数,合并至master时未加--squash选项,master有同样的提交记录数。 branch2从master检出