一直不知道主干和分支在SVN中的作用
今天公司项目组的成员用到了 而且遇到了主干和分支合并的问题
其实都知道subversion的eclipse差距subclipse支持主干与分支的合并
但就是很不安全 很容易覆盖掉文件
真实案例:
主干上是和服务器上部署的代码一致的
分支上是现有正在开发解决新需求的
可是在业务部门运营项目时,发现一个很急的bug需要处理
很显然 我们会创建一个分支进行修改,
等功能全部测试通过了 再合并到主干
这样主干上的代码就和正在开发解决新需求的代码都有改动
不能用最新的分支版本来合并最新的主干版本
应该用主干的前一个版本 和创建开发解决新需求的新分支时候是一致的
就可以用分支来合并主干
注意: 还是很不安全 需要确保每次按功能来提交版本 保存版本的
==
1、如果是需要将主线的改动合并到分支上,需要在分支的工作副本下进行合并,合并的范围是需要从主线上上次合并的版本到当前主线上最新的版本,如果主线和分支都修改了相同的文件,合并后会出现冲突,然后解决冲突,如果主线修改但是分支没有修改,则主线上合并的变更内容会增加到当前副本中,提交,如果是第一次合并,则起始版本号是上次建立分支的版本号
2、相反,如果是需要将分支的改动合并到主线上,需要在主线的工作副本下进行合并,合并的范围是需要从分支上上次合并的版本到当前分支上最新的版本,合并后会出现冲突(冲突的前提如上种情况),然后解决冲突,提交,如果是第一次合并,则起始版本号是上次建立分支的版本号
合并的工作是把主线或者分支上合并范围内的所有改动列出,并对比当前副本的内容,由合并者手工修改冲突。如果当前工作副本是主线的,则合并的范围是分支上的改动,如果工作副本是分支的,则合并范围是主线上的改动