一:普通的合并
1.visualSVNServer建立库
2.建立用户
3.关于SVN组成中trunk,branches and tags的使用查看:
trunk树干,brancher复制必要改的枝,tag是一个比较合适的快照。
参考:http://blog.csdn.net/wishfly/article/details/8664795
4.建立项目
5.建立分支,注意首层目录可自动创建(大于2层找不到路径)
VisualSVN中由trunk项目copy为分支项目结构为:
6.切换到分支上并在分支上提交一个文件
7.切换到trunk项目中(主干是没有这个新提交的文件的)
8.此时我们要把分支合并到我们的trunk的my_svn_test项目中。
a.选择合并指定的某些可用集合或版本。
b.填写我们要合并的分支版本。
c.如果有冲突提示用户自行处理。
d.合并后的统计。
9.合并完毕后,我们的trunk下就会多出来branches项目中新增的文件。
10.然后进行提交就可以完成trunk和branches的同步了。
当然了,我们合并前最好一定是要保证该提交的提交,保证干净或没有冲突的项目。
至此,简单的把branches合并到trunk中的基本操作基本完成。
合并参考:http://www.cnblogs.com/wenlong/archive/2012/05/07/2586853.html
二:有冲突的合并
1.如果同个文件在主干和分支中都有修改了同一个文件中相邻或相同的行时就会发生文件冲突。
a.修改我们在主干中的文件,切换到分支,修改我们在分支中的文件。
b.然后进行合并提示有文件冲突:
我们发现有文件的冲突,然后正常的方式解决冲突应该就可以了,right的是从服务进来的文件。
三:树的冲突情况比较多,文件移动删除,重命名都可能造成,这个再测试。
四:
1.另外要说明的是并行开发时修改到了项目中共同的文件最好加上比较详细的log日志说明如
因为合并时很可能遇到冲突,那样你为了保证自己代码的正确性,可以查看log日志的说明看是否需要重点处理和解决,如果没有日志,那会比较头疼不好定位,时间可能会因此流逝或不好下手。
2.另外要注意的问题是配置文件的冲突问题,在开发环境中查看项目是否有异常的信息一定程度上只能识别编译后有异常或错误的java或jsp文件,而一些如数据库等自己定义的文件类型可能不能被开发环境所识别,如:
所以合并时要比较注意配置文件的冲突和解决。
3.有些配置文件在进行分支开发时就需要规划好一定的空间,如数据库表的序号配置文件,分支时就留出合理的空间以便逐渐进行扩张。
总结:
a.分支合并主干代码的时候,就是把主干的代码拿到分支这边来,分支没有的就添加,同文件的更新或解决冲突,文件名修改的就树冲突解决。
b.主干合并分支的时候也类似,之所以放到a步之后执行,是尽量把冲突先放到分支上执行,再合回到主干上。
c.开放封闭原则,避免或减少冲突。