原文地址:http://blog.163.com/qq371557620@yeah/blog/static/8428365820172110320574/
编码过程中,我们经常会遇到需要多个分支并行开发的情况。那么问题来了,在svn下如何建分支,开发任务完成后如何分支合并就成了开发人员需要熟练掌握的svn技能。
1、创建分支
在trunk(主干)上点击右键,在tortoiseSVN菜单中选择Branch/tag;
弹出对话框
在to path输入框中输入新建分支的路径,一般是:branches/分支名,也就是相当于分支保存的路径名。
在下面选择head revision in the repository,为当前SVN中trunk目录下最新的代码建立分支,如果需要为指定的revision建立分支,可以选择。
点击OK完成分支建立
打开branch目录,此时没有任何文件,没有刚才建立的分支。这是因为分支创建操作是在服务器端完成的,当需要编辑分支时,在branch目录下点击update,刚才建立的分支会下载下来。
1、当前复制源,及专业术语中的trunk(主干)
2、分支存放的位置,当然也是在svn版本库中。
3、写日志
4、是否把主干的路径切换到分支,如果勾选了。建立分支之后,在主干里做出的修改并提交后,更新会提交到分支上,主干的原版本不会变。所以最好不要勾选。
2、合并分支
加入我们是要将trunk合并到branch,那么我们就应该是在branch上操作(及在那个合并“到”的目录下操作)
在branch(分支)上点击右键,在tortoiseSVN菜单中选择merge;
弹出对话框中选择merge type
Merge a range of revisions(一般主要选择这个)
然后点击next按钮
弹出对话框
1、合并的来源
2、合并的目的
注:合并的结果会直接与目前「工作目录」(Working Copy) 做比对,并修改目前工作目录中的所有文件。因此建议在做合并之前可以将所有尚未 commit 的档案先 commit 到版本库,避免不必要的冲突事件发生
然后差不多就是点击next--->ok就可以了。当然在点击OK之前还可以点击“test merge”试试。
总结:
1、分支穿件主要是现在服务器端操作,本地需要update之后才能看到相关文件
2、合并前,主要是操作的那个目录先进行commit、update,保证不会out of day。再进行merge操作
3、合并发生在本地的working copy,只要不提交(commit)就不会影响到repository.