4、分支
4、分支
4.1 概念
在版本控制过程中,使用多个分支同时推进多个不同功能开发。

不使用分支开发:人与人之间协作
使用分支开发:小组和小组之间协作
4.2 应用场景举例
蓝色皮肤界面功能:小组1
用户账号管理功能:小组2
支付功能:小组3
……
4.3 作用
多个功能开发齐头并进同时进行
任何一个分支上功能开发失败,删除即可,不会对其他分支造成影响
4.4 相关目录
trunk
主干
branches
分支
tags
存放项目开发过程中各个里程碑式的代码
4.5 创建相关目录
切换到svn视图
资源库位置→右键→新建→远程文件夹

创建trunk目录

Next,注释

同理,创建分支目录branches、创建tags目录

4.6 创建各个具体分支的目录
切换到java视图,创建新的Maven工程Good,并创建一个Good类,分享到svn服务器端


OK,Good会自动填充

Next,注释

Finish

右键项目,提交(在之前会有一个弹窗提示,确认即可)

接下来,创建分支
SVN视图中,右键branches目录,创建feature_skin目录,


Finish
创建feature_pay目录


Finish
创建hot_fix分支


查看最终结果

4.7 创建代码分支
项目→右键→Team→branch...
切换java视图,右键Good项目


Next,

Next,

Finish(若提示already exists,删除之前创建的feature_pay目录)
创建开发皮肤功能的分支

查看分支创建情况:

4.8 切换分支
项目→右键→Team→Swith...

选择feature_pay分支下的Good,OK
效果:

修改分支,并提交

查看服务器分支:

由此可见,内容已更新。主干分支并没有改变:

在skin分支下添加内容并提交:

4.9 合并分支
将feature_skin分支合并到feature_pay分支上
首先切换到pay分支
右键项目→Team→合并

Next,选中分支

Next,

Finish
产生了冲突

选择最后一项

补充说明:
若存在冲突解决办法,个人建议使用最后一种解决冲突
Mark as conflicted. I will deal wiht it later. --标记冲突,合并到主干解决冲突
Resolve the conflict by using my version of the file. --直接用主干的文件覆盖,分支修改无效
Resolve the conflict by using the incoming of the file. --直接用分支修改覆盖主干,以分支为准
Let me edit the file with conflict markers inserted. --直接编辑冲突,编辑完保存,选择yes保存。
Launch a graphical conflict resolution editor.--直接比对文件,修改冲突,点击保存。选择yes解决冲突



提交

查看服务器端内容

※说明:如果两个分支各自都有新内容,需要合并两次才能够让他们内容一致
分支1:☆☆☆★★★
分支2:☆☆☆○○○
分支1→分支2:
分支1:☆☆☆★★★
分支2:☆☆☆○○○★★★
分支2→分支1:
分支1:☆☆☆★★★○○○
分支2:☆☆☆○○○★★★

浙公网安备 33010602011771号