- 简介
- 我们都知道SVN是管理项目源代码的软件,可以把我们开发中的各个阶段的代码记录下来,供我们以后来使用,那么SVN具体的结构你是否知道呢?下面我们来介绍一下它的基本结构
- Trunk、Branches、Tags、作用
- Trunk
- 这是SVN目录的主分支,表示日常开发中的项目,任何时候Trunk里包含的都是最新的开发代码。 这里的代码将会工作到你的下一个主要发布版本。
- Trunk应该只被用来开发将会成为你的下一个重要版本的代码。
- 几乎常常人们只使用trunk来存放他们的代码。发放了一个版本后继续在其上进行下一版开发。这样开发是混论的,如果出现大的Bug往往不好恢复到之前版本,因此,增加了一个Branches文件
- Branches
- 常用的Branches分支有好几种类型,这里列出常用的几种。
- Release Branches
- 当trunk达到准备发布的阶段时(或者你想冻结新特色的添加时),你应该创建一个release branches。
- Bug fix branches
- 分支也可以用于处理trunk或release branches里发现的严重的Bug。
- Experimental branches
- 有时你想将某个新技术引进项目。这很好,但是你当然不想赌上你的整个项目。想象一下,你想把你的Web程序从PHP4改为PHP5。你要花多少时间?在这期间你的trunk停止使用?直到你把所有到PHP5的转换做完
- Tags
- 一般情况下,tag,是用来做一个milestone的,不管是不是release,都是一个可用的版本。这里,应该是只读的。
- 在SVN中Tag和Branches,在一个选项里面创建时区别不明显,Tags中存放的也是Trunk的一个副本,只不过是只读的,不可以修改,权限不同。
- Trunk、Branches、Tags详细使用
- Trunk
- 文件夹中右键,选“Create repository here”
- 选择“Create folder Structure”,然后,浏览建好的文件结构
- Branches
- Create
- Merge
- Branches To Trunk
- 这种方式用的最多,属于常用的一种。
- 在Trunk中,选中UI文件夹,右键
- 如下图,选择”merge”
- 选择“Merge a range of revisions”
- 选择要合并的目录,这里选择branches中UI文件夹
- 合并完成
- Trunk To Branches
- Branches To Branches
- Tags
- 标记同branches类似,同上.
- 意义
- SVN解决了我们数据备份、 版本控制、 数据同步等面对的问题,因而深受很多人喜爱和使用,它是一个不错的管理知识的软件工具。
- 我们自己也可以用SVN管理我们的知识。