合并分支
例如,开发者切换到dev分支后,对内容进行修改,接下来执行add和commit操作。此时开发者再切换到master分支,查看当前修改,你会发现dev分支上之前做的修改在master分支上都没有生效。这是显而易见的,因为这是两个不同的分支,它们之间是完全独立不受影响的。但是大部分新创建的分支都是为了完成某个功能而去创建的。最终发布的版本一般都会从master分支上获取。因此在其他分支上进行的修改,通常都要重新Merge到主分支master。在Git中分支间的Merge工作是非常简单的,通过指令即可完成不同分支间的合并工作,代码如下所示。
- ➜ gitTest git:(master) git merge dev
- Updating e7ae095..7986a59
- Fast-forward
- README.txt | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
这样再查看master分支下的文件,dev上的修改就有了。
在合并分支的时候,经常会发生Merge冲突的问题,这是所有版本控制工具都无法避免的一个问题。Git在合并分支的时候,会对文件进行自动Merge。如果没有冲突,则自动合并代码。如果有冲突,Git会把冲突的代码都显示在代码中,让开发者删掉废弃的代码,最终完成合并操作。
Merge与Rebase
在合并分支时,还有一种Rebase操作,它与Merge操作所实现的功能基本是一样的。唯一的区别是,使用Rebase操作后Git时间线会被进行合并,而Merge操作不会。
这两个操作各有利弊,Merge操作保持了完整的Git提交记录;而Rebase让时间线变得更加干净。具体使用哪种方式进行分支合并,可以根据具体的项目进行选择,更详细的使用指南,读者可以参考“Git学习资料”一节中的资源进行进一步学习。
