SVN(SUBVERSION)
前言:
SVN是Subversion的简称,是一个开放源代码的版本控制系统,说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。类似的工具号有git(github是其应用)。
环境:ubuntu 16.4 客户端:windows
一、服务器端下载地址
http://subversion.apache.org/packages.html#ubuntu
二、服务器端安装
sudo apt-get install subversion
sudo apt-get install libapache2-svn
三、SVN的一些基本概念
参考材料:http://subversion.apache.org/quick-start#branching-and-tagging
术语
什么是存储库(Repository)?
版本库(repositiry)是一个版本控制数据库,通常驻留在服务器上,通常由Apache HTTP Server(通过mod_dav_svn模块)或svnserve服务器公开。存储库作为一个单一的源,作为一个中央存储,它包含版本数据修改的完整历史记录。
存储库URL示例:
· Apache HTTP服务器:https: //svn.example.com/repos/MyRepo/MyProject/trunk
· svnserve的: SVN://svn.example.com/repos/MyRepo/MyProject/branches/MyBranch
· 直接访问(Unix风格): file://var/svn/repos/MyRepo/MyProject/tags/1.1.0
· 直接访问(Windows风格): file:/// C:/ Repositories / MyRepo / trunk / MyProject
什么是工作副本(Working Copy)?
工作副本是您用来与中央Subversion(SVN)存储库交互的本地和私有工作区。您可以使用工作副本来修改您的项目的内容并获取其他人提交的更改。
工作副本包含项目的数据,外观和行为就像本地文件系统上的常规目录,但有一个主要区别 - 工作副本将跟踪其中的文件和目录的状态和更改。您可以将工作副本视为具有版本控制功能的常规目录。工作副本的根目录中有一个名为.svn的管理目录。管理目录包含Subversion管理版本控制功能所需的元数据。
根据您的需要,可以从同一个存储库或项目中获得尽可能多的工作副本,并可以使用任何本地修改组合。
什么是工作副本(Working Copy)?
Trunk(主干):是用来做主方向开发的,一个新模块的开发,这个时候就放在trunk, 当模块开发完成后,需要修改,就用branch。
Branch(分支):是用来做并行开发的,这里的并行是指和trunk进行比较。
tag(标记):是用来做一个milestone的,不管是不是发布版本,但都是一个可用的版本。 这里,应该是只读的。更多的是一个显示用的,给人一个可读的标记。
比如,3.0开发完成,这个时候要做一个tag,tag_release_3_0,然后基