SVN教程(二)快速入门

先从最基本的来,命令行。

从CollabNet下载SVN安装程序,我目前看到的最新文件是“CollabNetSubversion-client-1.8.10-2-x64.exe”,安装过程很简单,不啰嗦了。CollabNet管它叫Client,我觉得并不十分合适,因为它毕竟还包含了svnserve,何况即使没有svnserve,在本机也是可以直接应用的。

安装程序会自动为你设置好环境变量PATH,你还可以到安装路径去看看,都是一些dll和exe文件,利用这些简单的命令就可以进行版本控制啦!

1、检查是SVN是否已经安装好 -- svn help
打开命令行,输入
svn help
如果命令可识别,就说明SVN已经安装好了,否则就去检查一下环境变量PATH。

2、创建Repository  -- svnadmin create
什么是Repository呢?Repository,一般称为版本库,是存储我们要管理的文件信息及版本信息的”仓库“。SVN很像是一个文件服务器,客户端上传文件到文件服务器,在需要的时候再下载下来;不同的是,SVN版本库中还保存了版本信息。所以在使用SVN管理版本之前必须要先创建版本库。
SVN版本库就是一个有特定结构的文件夹,这些我们将在后面陆续介绍。创建SVN版本库的命令是:
svnadmin create <文件夹路径>
注意:svnadmin是一个整体,svn和admin之间没有空格。
比如,我要将D:\ztest\repository这个目录设置为版本库,命令是:
svnadmin create D:\ztest\repository
命令运行成功后,你就会在这个目录中发现多了一些文件夹,比如conf目录、db目录等等。

3、导入数据  -- svn import
创建好了版本库,就可以向版本库导入数据了。
没架服务器就可以导入数据了?没错。SVN并没有要求一定要运行于服务器之上,如果你只是在本机操作,完全可以不装任何服务器。
基本命令格式如下:
svn import <数据路径> <版本库URL> -m "说明信息"
例如,我想将D:\ztest\data目录导入D:\ztest\repository这个版本库中,命令是:
svn import D:\ztest\repository file:///D:/ztest/repository -m "测试"
简单的说明一下,import后面的第一个路径,是你要导入到版本库中的数据,第二个路径是版本库的位置,-m后面跟的是说明信息。因为我们是在本机使用版本库,所以使用的URL是file:///格式的路径。SVN支持的协议包括file、http、https、svn等,当然这也是可以扩展的。

4、查看数据  --svn list
现在,你是不是想看一看导入的数据情况?可以通过下面的命令实现:
svn list <版本库URL>
例如,我想查看上述数据导入的情况,应该使用命令如下:
svn list file:///D:/ztest/repository
需要注意的是,如果你import的目录中什么都没有,那么list命令也会什么都看不到。如果想要连同目录一起导入,应该使用下面的命令:
svn import D:\ztest\repository file:///D:/ztest/repository/data -m "测试"
没错,就是在版本库URL后面加了个路径。

5、导出数据  -- svn checkout
如果想要将已经上传到版本库的数据导出,可以使用下面的命令实现:
svn checkout <版本库URL> <导出路径>
例如,我想将上述数据导出,应该使用如下命令:
svn checkout file:///D:/ztest/repository D:\ztest\out
对于导出的数据,SVN管它叫工作副本。在这个目录中,除了我们上传数据以外,还会多一个.svn目录,这个目录保存了版本控制的相关信息,不能删除。
我这里说的“导入数据”和“导出数据”都是相对于SVN的,实际上相对于版本控制本身来说,更专业的术语应该是check in和check out。在上述命令中,导入数据和导出数据的路径都可以省略,默认是当前路径。

6、提交数据  --svn commit
现在,你可以找任意一个文件,做一些修改,然后使用下面的命令将变化提交给SVN:
svn commit <工作副本路径> -m "说明"
比如,我想将刚刚修改的数据提交,命令为
svn commit d:\ztest\out -m "modify sth!"

以上我们简单的叙述了SVN从创建到使用的一个流程,这些命令你都可以通过svn help进行查询。比如,你想要查看svn commit的用法,可以输入命令:
svn help commit

看到本节的最后,可能有人会问,你在本机上操作SVN玩得挺欢,可是这有什么用啊。的确,SVN这样的版本控制工具,更适用于多人开发的网络环境下。但在本机直接使用的好处也是显而易见的,如果用一句话来说,就是给个人管理文件提供了一个非常好的工具。我以我自己的实践来说明一下吧。首先,本机SVN无疑是一个数据备份的好工具。我一般会在移动硬盘上创建一个Repository,然后将重要数据都传到这个库中。其次,本机SVN也是对个人文件版本管理的好工具。比如说个人简历这样的东西,会随着你个人的情况不断发生变化。我想会有一大部分人将老文件保存,而用一个文件新文件来代替它。你是不是有过在文件后面加个”v1.2.doc“的经历?这虽然可以用,但会导致文件膨胀和管理混乱,毕竟你要自己管理版本号。而用了本机SVN之后,就不必了。

所以,SVN即使在单机情况下,也是一个非常好的工具,它不仅是软件项目中管理的重要工具,也是文档管理的重要工具。

你可能感兴趣的:(SVN)