SVN
- [1 svn使用](#1 svn使用)
-
- [1.1 主干合并到分支](#1.1 主干合并到分支)
- [1.2 分支合并到主干](#1.2 分支合并到主干)
- [1.3 分支建立](#1.3 分支建立)
- [1.4 创建分支](#1.4 创建分支)
- [1.5 切换分支](#1.5 切换分支)
- [1.6 合并分支](#1.6 合并分支)
- [1.7 删除分支](#1.7 删除分支)
- [2 概念理解](#2 概念理解)
1 svn使用
1.1 主干合并到分支
- 首先,在本地trunk中先update一下,有冲突的解决冲突,保证trunk和repository已经完全同步
- 然后在/branches /MyProject上右键,依次选择"TortoiseSVN" -> "Merge...
- 在弹出的窗口中选择第一项"Merge a range of revision",这个类型的Merge适用于将某个分支或主线上提交的多个revision间的变化合并到另外一个分支上。
- 由于是要从trunk合并到branch,理所当然这里的"URL to merge from"应该填trunk的路径,"Revision range to merge"很好理解,就是你要将trunk的哪些revision所对应的变化合并到branch中
- 在点击Merge按钮前你可以先Test merge一把,看成功与否,以及merge的详细信息。点击Merge按钮后trunk所做的修改将同步到branch中。
- 至此,branch 已经完全和 trunk 同步,合并发生在本地 working copy,只要你不提交就不会影响到 repository。所以我们和合并操作后,处理好冲突(如果存在冲突)后,将代码提交到 repository。
1.2 分支合并到主干
在/trunk/MyProject上右键(注意是在主线的目录上右键),依次选择"TortoiseSVN" -> "Merge..."。
后续操作和 "分支合并到主干" 一样,其实你可以把主干也理解为一个分支 "主分支"。
因为我们把分支合并到分支一般是分支开发完毕后,所以在一般选择 all revisions ,当然你如果只想合并一部分到主干,一样可以选择 specific revisions 指定版本号合并。
// 合并到哪里就在哪个目录下点击TortoiseSVN" -> "Merge
// 合并只发生在本地working 中,还要提交一次到repository中。
1.3 分支建立
- truck主干版本为例,我们要以它为基础建立一个分枝。
- 选择新建分枝标记。
- 在这里要输入新建分枝的位置,我们选择了braches目录作为分枝的路径,以及名字为new_truck
确认建立成功;新建成功可以在游览器中查看新建分支。
1.4 创建分支
右击已经存在的SVN项目->branch/tag,弹出框的to path输入新的分支名称,建议/branch/xxx,点击OK就创建出xxx分支.(建议创建前先svn update)
1.5 切换分支
右击已经存在的SVN项目->switch,弹出框的to path输入分支名称,上面新建了/branch/xxx分支,如果想要切换/branch/xxx分支,则输入/branch/xxx点击OK.
1.6 合并分支
右击已经存在的SVN项目->merge->merge a range of revisions->URL to merge from选择需要合并的代码分支,specific range输入框选择show log选择需要合并的版本号区间,然后一路next完成合并,如果有冲突解决完代码冲突,需要svn commit才能完成合并.
1.7 删除分支
右击已经存在的SVN项目->repo browser,弹出框的左边选择需要删除的分支右击->delete
2 概念理解