SVN是一个版本控制工具,对于合作开发来说是一个必须要掌握的工具。所以我们就需要熟练掌握它的操作,以及关于SVN使用的一些知识。
Repository 存储了我们开发项目的各个版本,一般我们创建好一个新的 Repository 时,它的下面包括三个文件夹:branches、tags、trunk。那么它们各自的用处是什么呢?
branches(分支):顾名思义,它就是从 trunk 上分离出来的分支,就像一棵树上的树枝一样。一般 branches 用于需要开发新功能用到新技术时,存在风险,那么就把项目分出一个分支,放到 branches 中去开发,因为branches 和 trunk 互不影响,即使新技术对项目造成毁灭性打击,也不会影响其他正常的功能开发。
branches还可以用于修改 bug,比如某一个发布的版本出现了bug,如果我们直接在trunk中进行修改,那么可能就会和正在开发当前版本的人发生冲突,从而影响当前版本的开发。所以这时我们就可以从 tags 中分离出出现 bug 的已发布版本到 branches 中,待 bug 解决完毕,就可以从 branches 上合并回trunk。
tags(标签):用来存放已经发布的稳定版本,算是一种备份,它是只读的,无法在 tags 中对它进行修改。
trunk(主干):用来存放当前正在开发的版本,也就是说我们在 trunk 中进行开发。
从tags创建分支
接下来,介绍一下如何从 trunk 或 tags 中创建分支。
在 tags 中选中发布的版本,右击选择“分支/标记”
然后选择路径至 branches,点击确定之后,就把发布版本从 tags 中分离到 branches中了,最后更新一下,就可以发现在本地的 workspace 中发现 branches 中也有已发布的版本了。
从 branches 合并回 trunk
从 branches 中合并回 trunk ,注意是在 trunk 中的项目右键选择“合并”
合并的源 URL 要选择 branches 中的项目,点击下一步
最后点击合并,就将 branches 中的项目合并到 trunk 中的项目里了。