SVN 如何把主干上的修改合并到分支上来
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SVN 如何把主干上的修改合并到分支上来相关的知识,希望对你有一定的参考价值。
情况是这样的,现在公司项目分布到全国,各省有相同模块,有不同模块,现在是把相同模块作为主干,不同模块作为分支,如果在主干修改后合并到每个分支上去同步。目前只是在分支上一个个把主干合并过来,能不能直接在主干上一次性分发一样合并到每个分支上
那就写个脚本好了,在主干成功commit后,就执行脚本对每个分支挨个进行update、merge、commit再高端一点可以把脚本放到post-commit钩子里,每次commit成功后由SVN服务器自动调用这个脚本,在脚本里判断只要是trunk上的commit,就对每个分支挨个进行update、merge、commit
但这个脚本自动执行可能会有问题,主要是主干和分支可能发生冲突,所以还是手动处理比较好 参考技术A
用脚本批量合并到分支,然后将仓库同步到各省,各省再来update。
把相同的模块作为trunk,不同的模块作为branches,这些模块都在一个目录。
svn具备部分检出功能,每个模块可以建立一个目录,然后在目录下建立 trunk-branches-tags结构,设置好属性,也可以用git+submodule。
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。
ECLIPSE下SVN的创建分支/合并/切换使用
最近接项目要求,要在svn主干上创建分支,用分支来进行程序的bug修改,而主干上进行新功能的开发。分支上的bug修改完,发布后,可以合并到主干上。项目程序可以在主干和分支之间进行切换,来实现主干和分支的同时维护。
1.创建分支
创建分支实际上就是将程序copy一份到指定的分支目录,如下图示:
在项目名称上点击右键,弹出菜单,选择"Team",再选择"Branch/Tag",弹出下面的页面:
上图中的"Copy to URL"填写创建新分支的路径地址,后面会将程序copy到该目录下,形成新的分支。点击"Next":
选择当前最新的版本,点击"Next"
如果勾选了上图下面的switch working copy to new branch/tag,eclipse的程序项目会自动切换到分支下。这里我们不选择,待会自己切换。
这样就创建了一个1.0的分支
2.合并
可以从主干合并到分支,也可以从分支合并到主干,根据需要可以选择合适的选项,如下图:
上图中的选项:
1) 从主干合并到分支
2) 从分支合并到主干
3) 将主干上的修改合并到分支
4) 合并2个分支到主干
5) 从主干到分支,手工指定不需要合并的修改
6) 从主干到分支,手工指定要合并的修改
上图显示没有任何修改,所以不用进行合并。
3.切换
在项目名称上点击右键,选择"Team" –> "switch to another Branch/Tag/Revision"。
选择需要切换的目的地址,点击ok即可。
这样,在项目里就可以在主干和若干分支间进行任意切换,来实现对不同版本/分支的程序进行修改提交操作。
参考:
Overview of CollabNet Merge Client
https://desktop-eclipse.open.collab.net/servlets/ProjectProcess?pageID=MEuUjb&freeformpage=Merge%20Client
eclipse中将SVN分支合并到主干的方法
http://www.darrenfang.com/merge-branches-to-trunk-in-eclipse.html
本文转自:http://www.blogjava.net/paulwong/archive/2014/05/27/414162.html
以上是关于SVN 如何把主干上的修改合并到分支上来的主要内容,如果未能解决你的问题,请参考以下文章