Subversion学习笔记1

分享Subversion by 达达 at 2008-02-12

仔细研究了下TortoiseSVN发现用它很容易就能实践Subversion,甚至不用Subversion服务器,挺有意思的,所以想使用它在本机无SVN服务器的情况下深入实践一些SVN的基本操作。 :)

TortoiseSVN是一个Windows上的Subversion客户端,它和Windows Shell结合在一起,使用起来很方便,之前我在《Papervision3D入门第1步》中有提到过。TortoiseSVN是开源的,官方主页地址:http://tortoisesvn.tigris.org/

装完TortoiseSVN后,Windows的右键菜单上会多一些选项出来:

TortoiseSVN menu

因为我的参考资料是《版本控制之道》,所以我决定按书中示例项目一样结构建一个代码仓库(Repository)。不过书中用的是SVN的命令行程序,这里我用的是TortoiseSVN,会容易许多。

首先得先建立好代码仓库的目录结构,我建立在D盘,具体结构如图所示:

svn-pic1.PNG

svn-repos用来存放我所有项目的代码仓库,不过目前我只有一个项目,叫sesame,《版本控制之道》的作者对sesame这个名字的描述是:“一个不知所以但听起来很酷的名字”,呵呵。

现在项目目录建立好了,我们要使用TortoiseSVN来建立代码仓库了。

办法很简单,在sesame文件夹上右击,找到“Create repository here”菜单项,接着会弹出一个对话框让你选择repository类型,我选择的是本地文件系统。

svn-pic2.png

svn-pic3.PNG

代码仓库建立完毕后,会得到一个弹出对话框提示。接着你可以在sesame目录下看到多了一些文件。

svn-pic4.PNG

接着我们往项目中加些文件。往刚建好的项目中添加文件有两个办法,一个是用import功能,另一个是先把项目check-out到一个文件夹,再添加新文件,然后commit。书上教的是第一种方式,我个人比较习惯用第二种方式。

如下图所示,我把项目check-out到D:projectssesame目录。

svn-pic5.PNG

代码仓库的url填写必须正确,因为我们现在是本地代码仓库所以用的协议是file:///,TortoiseSVN支持的协议有:http:// ,https:// ,svn:// ,svn+ssh:// ,file:/// ,svn+XXX://

svn-pic6.PNG

签出成功后会出现如下提示信息:

svn-pic7.PNG

Sesame文件夹图标会多一个红色的钩,如果没有出现请刷新下。

svn-pic8.PNG

接着在sesame目录下建立一个trunk文件夹和一个branches文件夹,并在trunk文件夹中建立一个空的文本文件叫code.txt,它模拟我们的代码文件。

trunk和branches文件夹是SVN推荐的项目结构。trunk用来存放当前项目的主干,branches用来存放项目的不同分支。在很多开源项目中都可以看到这种目录结构。

接着我们得把新创建的东西都提交到版本控制器的仓库中,才能进行版本控制。

在sesame文件夹右击,选择commit:

svn-pic9.PNG

将我们要提交的文件和文件夹都勾选上,然后在对话框中填入注释,每次提交修改都填写注释是一个好习惯,在多人协作时别人才能知道你做了些什么事情,你自己在以后回过头来看查看修改记录时也会有所帮助。

svn-pic10.PNG

点击OK后,弹出提交完毕对话框,就算大功告成了 :)

svn-pic11.PNG

写了好多,不打算继续写了,我写的累大家看了也累,学习循序渐进慢慢来就行了 :)

回顾下今天学的吧,今天学会怎么用TortoiseSVN在本地建立代码仓库,并在本地做签出和签入操作。

在本地建立代码仓库对于个人项目其实挺有用的,你可以在你U盘上建立一个代码仓库,存放自己业余写的一些小项目。我以前不知道SVN这么好用要不然肯定就用了。我以前对自己项目的版本控制就是每次写完一部分就把整个项目文件夹压缩然后标上日期,让后放U盘上。日子长了,你自己都不知道哪个版本做了哪些修改或者加了什么功能,也没办法做不同版本的差异比较 :) 所以不要小瞧本地文件系统的SVN代码仓库,除了用来练习SVN操作外,其实也是一个很实用的功能。