SVN branch分支管理

SVN branch分支管理

转自:https://blog.csdn.net/liqiangeastsun/article/details/79043854 

开发过程中修改bug或者添加新功能避免影响trunk,通常需要建立一个branch,在branch上进行修改,这样 trunk 和 branch 就可以并行开发互不干扰了。

当branch修改结束测试通过后,先将 trunk 合并到 branch,确定没问题后,再将 branch 合并回 trunk。切记 trunk 任何时候都要保证稳定,不能直接将 branch 修改的代码合并到 trunk, 否则如果有冲突甚至错误修改导致 trunk 发生错误,无法正常使用,可能会影响其他同事正常开发。影响开发进度。

下面来通过实际操作来展示如何使用 branch

1、首先打开 SVN 服务器,下面使用的是 VisualSVN Server,创建一个 Repositories 命名为 BranchTest 


2、选择 创建 trunk、branches、tags 方式 


3、然后 SVN CheckOut 


4、在 trunk 下创建 Demo 测试工程,在 Demo 中添加 1.txt 并将 Demo 执行 add、commit 


5、创建 Branch 
选择 Demo 右键 TortoiseSVN -> Branch/tag 
路径是从 trunk/Demo 
To path : 为创建分支路径 
选择 HEAD revision in the repository 


6、执行 SVN Update 
打开路径 branches 可以看到 项目已经被更新下来 


7、在 分支中修改 1.txt、添加 2.txt, Commit 


8、在 Demo 中 SVN Update,Branch 中执行的修改、添加,并没有影响到 trunk 


9、Demo 中添加 3.txt 并 Commit, Branch 执行 SVN Update,3.txt 也没有出现在 Branch 中,说明Bransh 和 trunk 是相互并行互不干扰的。 


10、将 trunk 合并(Merge)到 bransh,选择 branch/BranchDemo1 右键 -> TortoiseSVN -> Merge 
选择 Merge a range of revisions 下一步 


因为从 trunk 合并到 bransh 
URL to merge from 要选择 trunk 下 Demo 的路径 


specific range (指定需要从trunk 合并过来的trunk 的变更集范围) 
all revisions 所有 trunk 中的修改都合并到 branch 
选择 specific range 在右边 show log 中可以查看 trunk 的变更集 
 
下一步 


执行下一步前可以试下 右下角 Test merge,测试下是否有冲突,看 log 没有冲突异常,点击 Merge 


执行结束打开 branch, trunk/Demo 添加的 3.txt 已经更新到 branch 中了,并且没有冲突产生 


11、对 branch 执行 Commit,然后对 trunk 和branch 都执行下 SVN Update,避免出现 out of day 
12、确保 Branch 的修改并没有和trunk 产生冲突,然后从 branch 合并到 trunk/Demo,选择 trunk/Demo 右键 -> TortoiseSVN -> Merge ,路径选择 从 branch/BranchDemo1 到 trunk/Demo 


打开 trunk/Demo 目录发现 BranchDemo1 中添加的 2.txt 和 BranchDemo1 中在 1.txt 中添加的 内容都已经更新到了 trunk/Demo 


13、对 trunk/Demo 执行 SVN Commit 将 从 branch 中合并过来的修改提交到 Repository

到此 SVN branch 分支的使用已经结束,上面只是演示操作过程,实际开发中由于多人同时协作开发,不可避免会出现不同人员 删除、修改等造成冲突,然后手动解决冲突

猜你喜欢

转载自blog.csdn.net/u013490585/article/details/84699228