翻译: Bravo Youngphp
Next: 版本库的备份与存储html
到目前有不少关于Subversion (SVN) 和 TortoiseSVN的优秀书籍和教程。其中有部分在本文的参考资料区有列出。这篇教程无疑是站在巨人的肩膀上。它只覆盖了subversion (SVN)有限的一部分功能。 然而我但愿此文能简化你对SVN的认识。前端
Subversion 是一种跨平台的开源版本控制系统 (http://subversion.tigris.org/). 它由版本数据库 (FSFS 或 BDB) 和一些命令行工具组成。目前有各类各样的SVN前端工具。mysql
Subversion是为多人参与的项目专门设计的。 但它也可用于管理我的项目。linux
此文仅限于基于Windows的本地SVN环境(未单独配置远程的服务器)。git
打开Tigris.org网站的下载区,选择 开源代码软件工程工具Subversion (http://subversion.tigris.org/)。 Windows下最新的命令行版Subversion的安装文件和库都能在http://www.open.collab.net/downloads/subversion/下载到。下载安装包。SVN的默认安装目录为C:\Program Files\Subversion,固然你也能够修改磁盘路径。web
如今你就能够开始使用SVN了。 若是你不习惯使用命令行工具,那你有必要安装一个你以为合适的GUI前端。sql
TortoiseSVN是一种Subversion客户端, Windows下它是一个命令行扩展, Windows资源管理器的一个插件(http://tortoisesvn.tigris.org/)。数据库
最新版本能够在这下载到 http://tortoisesvn.sourceforge.net/downloads. 截止到2015.12.18的最新版本为:TortoiseSVN-1.9.2.26806-x64-svn-1.9.2.msi,若是须要切换语言,还能够在官网上下载相应语言包。windows
若是你电脑安装的Windows是32位的请选择32位的TortoiseSVN安装包,若是你电脑安装的Windows是x64的请选择x64的TortoiseSVN安装包。 下载区域的另外一个文件TortoiseSVN-xxx-xxx.md5, 是安装时不须要的。它包含安装包的验证编号checksum,该验证编号能有效验证你是否下载到了合适的安装包 (且它没有损坏)。
你能够下载程序HashFile (http://www.shokhirev.com/nikolai/programs/progmisc.html) 来验证下载到的安装包的 MD5 哈希值 (checksum). 该验证编号必须和TortoiseSVN-xxx-xxx.md5文件上的信息彻底一致。
这个安装也是直接的,赞成默认设置便可。 惟一有趣的是ASP.NET hack. 默认状况下, SVN 使用 .svn 工做目录 (正如Linux下隐藏文件的命名风格)。
![]() |
![]() |
默认的, 不含有 ASP.Net hack |
含有给VS.Net web项目用的ASP.Net hack |
这使得 微软 ASP.Net 和 the hack 强制 SVN 去使用 _svn 做为工做目录。 若是你要使用Subversion对ASP.Net项目进行版本控制,请不要安装ASP.Net hack这一项。
注: 安装完TortoiseSVN后,你的Windows 资源管理器的主目录上会出现下图所示的新的按钮:
同时这些新增按钮也会添加到 (经过鼠标右键单击激活) 的上下文菜单中。
目前有不少Subversion管理方式(参看手册). 如今咱们主要考虑以下主要的情形:
在这种情形下你不该该会担忧安全性和开启一个subversion服务器。
假设你的项目驻放在 C:\Projects\MyProject 路径下,它包含以下文件,或许还有些子文件夹:
步骤0 (可选). 设置全局忽略文件类型。 你可能不想跟踪临时文件 或 某些其余格式的文件。鼠标右击任意一个文件夹,而后打开TortoiseSVN的Settings:
固然你也能够鼠标右击文件, 打开Windows资源管理器主目录中的TortoiseSVN/Settings。
"General" -> "Subversion"处,你能够列出各类各样的文件类型,并使用空格隔开 (好比上图中示例的 *.bak *.~*
). 注意到这个设置会对全部的工做目录有效。参看手册的5.25可了解更多的设置。
步骤1.建立版本库Repository。 在你的硬盘上为你的项目建立版本库的目录, 好比 C:\SVN. 在它里面建立一个空的子目录 \MyProject. 鼠标右键点击MyProject,并选择TortoiseSVN -> 在此建立版本库:
选择默认"原生文件系统"(FSFS)选项,并单击OK按钮:
这一步将 C:\SVN\MyProject 转化为含有以下内容的版本库:
到目前为止,它仍是一个空的版本库,虽然Subversion已经建立了几个目录和文件 ! 咱们须要将咱们的项目文件中须要进行版本控制的文件填充进去并将它连接到咱们的工做项目的目录。这些操做中可能会有几个和你们的习惯操做不同、新的操做。
步骤2. 导入初始化。 在你的磁盘的某处 (好比 在 C:\tmp) 建立一个目录 (好比 \new) ,含有以下3个子目录:
C:\tmp\new\branches C:\tmp\new\tags C:\tmp\new\trunk
相应的文件结构为:
为了能用更多高级的项目管理功能,这个结构是必须的, 若是事先建立它也不会带来什么损害。 有些手册首推先导入此结构到版本库,而后向里面添加项目。我推荐使用以下的快捷方式:
URL 选择 file:///C:/SVN/Myproject (左斜杠"/" !):
"Import finished" 消息出现时,代表 C:\tmp\new\下的全部文件及子文件夹都已成功导入版本库 :
不须要担忧"tmp\new" 消息, 只要验证哪些文件真正地导入到了版本库中便可。 书表右键单击 C:\SVN\MyProject ,而后打开 TortoiseSVN -> Repo-browser(版本库浏览器):
导航 至 file///C:/SVN/MyProject/trunk:
注意到全局忽略列表的文件都没被导入。 而且也没有 'C:\tmp\new' 目录的痕迹了, 'C:\tmp\new' 目录再没有什么用处了,能够删掉。
步骤3. 建立工做目录 - 将你的项目与数据库链接起来. 如今你已经成功增长了你对全部须要进行版本控制的文件添加了版本控制,而且当前的空目录 C:\Projects\MyProject (回忆一下, 咱们以前已将改目录中的全部文件 移动 到了 目录 C:\tmp\new\trunk 中,对么?). "为了让你的双手移动文件的这个行为得到"赞美", 彻底获得批准, 而且彻底导入Subversion目录, 你须要从版本库中对它进行检出Checkout" . 书表右击 C:\Projects\MyProject 文件夹,并选择 "SVN Checkout"(SVN 检出):
设置 URL 为 file:///C:/SVN/MyProject/trunk ,并设置检出目录为: C:\Projects\MyProject
点击OK. 会提示"Checkout (检出) has finished":
"赞美" 以"对勾Check"小图标的形式反映在你的项目目录和里面全部的文件(和全部的子目录)上。
这样的含有"对勾Check"的目录被称为工做目录。如今你能够开始使用SVN管理你的项目版本了,也能够学到更多关于Subversion的知识。
也可参看: Buildix - 磁盘上的敏捷开发平台 http://buildix.thoughtworks.com/.
Buildix 包含如下几部分:
英文源地址: http://www.shokhirev.com/nikolai/programs/SVN/svn.html
Practical guide to subversion on Windows with TortoiseSVN
by Nikolai Shokhirev