【SVN】

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 主干合并到分支

  1. 首先,在本地trunk中先update一下,有冲突的解决冲突,保证trunk和repository已经完全同步
  2. 然后在/branches /MyProject上右键,依次选择"TortoiseSVN" -> "Merge...
  3. 在弹出的窗口中选择第一项"Merge a range of revision",这个类型的Merge适用于将某个分支或主线上提交的多个revision间的变化合并到另外一个分支上。
  4. 由于是要从trunk合并到branch,理所当然这里的"URL to merge from"应该填trunk的路径,"Revision range to merge"很好理解,就是你要将trunk的哪些revision所对应的变化合并到branch中
  5. 在点击Merge按钮前你可以先Test merge一把,看成功与否,以及merge的详细信息。点击Merge按钮后trunk所做的修改将同步到branch中。
  6. 至此,branch 已经完全和 trunk 同步,合并发生在本地 working copy,只要你不提交就不会影响到 repository。所以我们和合并操作后,处理好冲突(如果存在冲突)后,将代码提交到 repository。

1.2 分支合并到主干

在/trunk/MyProject上右键(注意是在主线的目录上右键),依次选择"TortoiseSVN" -> "Merge..."。

后续操作和 "分支合并到主干" 一样,其实你可以把主干也理解为一个分支 "主分支"。

因为我们把分支合并到分支一般是分支开发完毕后,所以在一般选择 all revisions ,当然你如果只想合并一部分到主干,一样可以选择 specific revisions 指定版本号合并。

// 合并到哪里就在哪个目录下点击TortoiseSVN" -> "Merge

// 合并只发生在本地working 中,还要提交一次到repository中。

1.3 分支建立

  1. truck主干版本为例,我们要以它为基础建立一个分枝。
  2. 选择新建分枝标记。
  3. 在这里要输入新建分枝的位置,我们选择了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 概念理解


相关推荐
OP_YH5 天前
【IDEA配置】IDEA 配置Java web项目(采用Tomcat容器)
java·后端·svn·tomcat·intellij-idea
老猿的春天7 天前
TortoiseSVN 文件夹以及文件不显示差异感叹解决步骤
windows·svn
AlbertS7 天前
SVN克隆或更新遇到Error: Checksum mismatch for xxx
svn·sqlite·checksum·mismatch·svn-base
舒小羽14 天前
SVN常用命令
svn
Amarantine、沐风倩✨16 天前
Git 的基本概念和使用方式
java·javascript·git·svn·node.js·1024程序员节
李老头探索23 天前
Tortoise SVN 安装汉化教程(乌龟SVN)
svn
dawei.wang1 个月前
svn status各状态含义
svn
冰激凌zz1 个月前
SVN版本回退
svn
不被定义的程序猿1 个月前
git&SVN提交规范
git·svn
peaceLT1 个月前
【SVN】一文读懂Subversion(SVN)
svn