原文地址: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.

最新文章

  1. jqGrid jqGrid分页参数+条件查询
  2. iOS-工作经验+资料分享(长期更新)
  3. 65. Reverse Integer && Palindrome Number
  4. 项目演化系列--验证体系(基于angular的前端验证)
  5. HDU-4507 吉哥系列故事——恨7不成妻 数位DP
  6. 【C#】动态加载dll程序集
  7. 2015第37周二foxmail邮箱客户端迁移
  8. [Locked] Two Sum
  9. printf用法之打印2进制,八进制,十进制,十六进制
  10. FragmentActivity
  11. Coordinator节点
  12. python爬虫——爬取小说 | 探索白子画和花千骨的爱恨情仇(转载)
  13. What is the best way to handle Invalid CSRF token found in the request when session times out in Spring security
  14. 微信小程序跳转微信小程序新增配置项目 navigateToMiniProgramAppIdList
  15. python学习笔记(2)--基本语法元素
  16. win10系统安装了多个版本的JDK如何切换
  17. Linux 小知识翻译 - 「小型移动式PC」
  18. get-post区别
  19. php笔记篇(二)
  20. SpringMVC源码阅读:核心分发器DispatcherServlet

热门文章

  1. Ubuntu Linux 解决 bash ./ 没有那个文件或目录 的方法
  2. css3整理--media
  3. day_5.20 py
  4. hadoop 使用ip配置导致hdfs启动失败
  5. Android所有Demo资源汇总,太全了(申明:来源于网络)
  6. linux下安装cmake(安装opencv库)
  7. ELK(Elasticsearch6.0以上版本head插件安装)
  8. 难以接受你的改变:从project.json到.csproj
  9. nvidia-smi failed because it couldn't communicate with the nvidia driver
  10. POJ 1102 - LC-Display