SVN简明教程

SVN简明教程

 

准备阶段:
安装Setup-Subversion-1.5.3.msi(服务器)和TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi(客户端)

1.创建版本库
选好想要将版本库放在哪里,比如说本例中把版本库放到D:/SVN/repo文件夹里,现在我们可以右击这个文件夹,然后在ToriseSVN的弹出菜单里选择Create repository here,
等一会后就会弹出对话框表示创建成功,默认的是FSFS的格式。


2.将 svnserve 作为 windows 服务运行。从 Subversion 1.4 开始,svnserve 可以安装为 windows 服务。
在命令提示符运行如下命令:
sc create svnserve binpath= "C:/Program Files/Subversion/bin/svnserve.exe --service --root D:/SVN/repo" displayname= "Subversion" depend= tcpip start= auto

3.svnserve的认证
默认情况下,svnserve只提供匿名用户读访问的权限,也就是说你只能从版本库中checkout和update工作拷贝,但是无法commit对工作拷贝任何更改,为了更好的使用和管理SVN,我们给SVN加入用户验证。
修改senserver.conf后为:
anon-access = write     表示匿名用户有写的权限

4.SVN的访问
svn://     通过未认证的 TCP/IP 自定义协议访问 svnserve 服务器。
由于我们在运行svnserve的时候已经将根目录定位到repo文件夹了,所以使用svn://访问时直接输入svn://localhost/ 即可访问到,如果不加上那个--root选项的话那么地址就必须是svn://localhost/repo。如果是从其他计算机访问,只需要将localhost改成SVN服务器机器的IP地址即可。

5.首次导入(import)
我们建立一个import文件夹,里面有三个目录,分别是design,release,trunk,右击import文件夹,可以点import选项,进行导
入,导入之后就可以删除该文件夹了。

6.首次检出(checkout)
需要将版本库的代码检出(checkout)到一个文件夹,就得到了一份工作拷贝,可以对工作拷贝进行修改。可以使用Checkout命令。注意,不要检出到刚才用于导入(import)的文件夹,否则文件的覆盖会出现错误,如果确实很需要,就先删除原文件夹中的所有内容,然后检出(checkout)。
具体操作是在你想的获得开发源码的地方比如说本例在E:/workspace,在此文件夹里右击,在弹出菜单中选择SVN Checkout…,弹出如下界面(图3-3-1),因为我们只需要开发代码所以地址要定位到trunk文件夹,其他的默认即可,点击OK。

7.提交修改(Commit)
红色的小叹号表明文件已经做了修改。

8.回退(Update to reversion)
这个情况是很容易发生的,那就是当大家修改了代码之后,发现程序有很大漏洞,而且及其难改,这个时候就可以将你的项目回退到以前的版本,具体操作是:右击想要回退的文件夹或者文件,在TortoiseSVN弹出菜单中选择Update to reversion…然后回弹出一个界面,比如说我们想要回退到第10个版本只需要在Revision中填写相应的版本号,然后点击OK即可。

9.Branch and Tag
当我们开发到一定程度,感觉这个版本已经做够成熟了,已经可以拿来发布了,我们可以将这个版本当做一个备份保留起来这样以后修改,出了大问题可以立刻拿这里面的版本来用。操作方法是:首先从版本库中将trunk中的项目checkout到一个文件夹里,然后右击checkout下来的这个文件夹,TortoiseSVN弹出菜单中选择Branch and Tag…,
在To URL里填好路径,既然是可以发布的版本,我们就把它放到release文件夹里的V1.0文件夹里吧,如果没有这个文件夹会自动创建的。然后在下面的Log窗口里写上日志,点击OK即可。然后我们可以使用TortoiseSVN里的Repository Brower来看看是否加入了。

10.查看所有版本(show log)
进入checkout的目录,可以右击"show log"查看所有版本。

11.导出(Export )
我们想要给客户一个项目,当然不能带版本信息,我们可以用TortoiseSVN菜单里的Export来实现,新建一个文件夹,右击文件夹TortoiseSVN菜单里选择Export…

你可能感兴趣的:(工作,SVN,服务器,subversion,import,tortoiseSVN)