git命令(12):合并分支,合并提交信息
切换到要合并的分支:
git checkout master
合并开发分支到master:
git merge --squash dev_branch
创建提交信息:
git commit "merge dev_branch to master "
提交:
git push
merge的时候有三种选项:
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的时候不想太乱希望把这些冗余记录汇总为一条记录。