Git分支管理(一)+https://developer.aliyun.com/article/1393952
删除分支
在我们合并了dev分支后,dev分支也就没用了,所以我们删掉他
git branch -d 分支名字
我们已经完成了合并,所以此时删除分支时可以的。
合并冲突
在实际分支合并时,并不是每次都能合并成功的,有时候会遇到代码冲突的问题
我们创建一个新的分支并切换至该分支
git checkout -b 新的分支名字 一条指令一步到位
再切换至master分支做修改。
两个分支都对原有旧版本代码做了修改并提交,现在我们将newdev与master合并
这些符号之间的代码就是冲突的代码,我们只能手动去除冲突,保留一个
再次添加提交
我们此时的模式是--no -ff,也就是非快进模式
接着,我们删除分支
分支管理策略
通常我们合并分支时,如果可能,编译器通常会采用fast-forward模式,合并后结果是这样
master直接指向dev指向的最新提交。
但在合并冲突部分,我们也看到通过解决冲突问题,会在进行一次添加提交,得到的最终状态是:
这样的好处是,从分支历史上就可以看出分支信息。
我们已经删除了dev和newdev分支,但是我们仍然可以看到他们的过往信息,尽管我们删除了newdev分支,但是我们仍然可以看到现在的master分支是由其他分支合并而得到的。
编译器支持我们强制禁用fast-forward模式,那么在merge时会生成一个新的commit,这样我们就可以从分支历史上看出分支信息。、
我们再次新建一个分支测试--no -ff模式的合并
别忘了切换到master分支
所以在合并分支时,加上--no-ff参数就可以用扑通模式合并,合并后的历史有分支,能看出来做过合并,而fast-forward模式就看不出来曾经做过合并。