`
hehch
  • 浏览: 39989 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Subversion 基本操作

阅读更多


一、准备工作

1、获取 Subversion 服务器程序

到官方网站(http://subversion.tigris.org/)下载最新的服务器安装程序。目前最新的是1.5版本,具体下载地址在:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100&expandFolder=8100&folderID=91


2、获取 TortoiseSVN 客户端程序

从官方网站 http://tortoisesvn.net/downloads 获取最新的 TortoiseSVN 。TortoiseSVN 是一个客户端程序,用来与 subvers 服务器端通讯。Subversion 自带一个客户端程序 svn.exe ,但 TortoiseSVN 更好操作,提高效率。


二、安装服务器端和客户端

安装 Subversion(以下简称SVN)的服务器端和客户端。下载下来的服务器端是个 zip 压缩包,直接解压缩即可,比如我解压到 E:\subversion 。客户端安装文件是个 exe 可执行文件,直接运行按提示安装即可,客户端安装完成后提示重启。


三、建立版本库(Repository)

运行Subversion服务器需要首先要建立一个版本库(Repository)。版本库可以看作是服务器上集中存放和管理数据的地方。

开始建立版本库。首先建立 e:\svn 空文件夹作为所有版本库的根目录。然后,进入命令行并切换到subversion的bin目录。输入如下命令:

svnadmin create E:\svn\repos1

此命令在 E:\svn 下建立一个版本库 repos1 。repos1 下面会自动生成一些文件夹和文件。

我们也可以使用 TortoiseSVN 图形化的完成这一步:

先建立空目录 E:\svn\repos1 ,注意一定是要空的。然后在 repos1 文件夹上“右键->TortoiseSVN->Create Repository here...”,然后可以选择版本库模式,这里使用默认的FSFS即可,然后就创建了一系列文件夹和文件,同命令行建立的一样。



四、运行独立服务器

此时 subversion 服务还没有开始,只是通过它的命令建立了版本库。继续在刚才的命令窗口输入:

svnserve.exe --daemon

svnserve 将会在端口 3690 等待请求,--daemon(两个短横线)选项告诉 svnserve 以守护进程方式运行,这样在手动终止之前不会退出。注意不要关闭命令行窗口,关闭窗口会把 svnserve 停止。

为了验证svnserve正常工作,使用TortoiseSVN -> Repo-browser 来查看版本库。在弹出的 URL 对话框中输入:

svn://localhost/svn/repos1

点 OK 按钮后就可以看见 repos1 版本库的目录树结构了,只不过这时 repos1 是个空库。

你也可以使用--root选项设置根位置来限制服务器的访问目录,从而增加安全性和节约输入svnserve URL的时间:

svnserve.exe --daemon --root drive:\path\to\repository

以前面的测试作为例,svnserve 将会运行为:

svnserve.exe --daemon --root e:\svn

然后TortoiseSVN中的版本库浏览器URL缩减为:

svn://localhost/repos1

 你可能会问这样岂不是每次启动SVN服务器都要输入一次命令?怎样才能让SVN服务器在开机的时候自动启动呢?答案就是将SVN服务注册到Windows系统服务,在Windows命令提示符里执行命令
sc create SVN binpath= "\"d:\subversion\bin\svnserve.exe\" --service -r F:\SVN" displayname= "SVN Service" depend= Tcpip start= auto,这个命令是不是有点长?其实很容易理解,sc是Windows自带的系统服务注册工具,微软支持中心提供了详细的说明,这里我就不再复述了,参数binpath= "\"d:\subversion\bin\svnserve.exe\" --service -r F:\SVN"和我们前面手动启动SVN服务器的命令很像吧?只是把-d改成了--service,这不难理解,因为现在是服务嘛。好了,现在已经大功告成了,重起一下试试吧。
PS:如果想从系统服务里删除刚才注册的SVN服务可以使用sc delete SVN命令。

五、配置用户和权限

用文本编辑器打开E:\svn\repos1\conf目录,修改svnserve.conf:

将:

# password-db = passwd

改为:

password-db = passwd

即去掉前面的 # 注释符,注意前面不能有空格。

然后修改同目录的passwd文件,增加一个帐号:

将:

[users]
# harry = harryssecret
# sally = sallyssecret

增加帐号:

[users]
#harry = harryssecret
#sally = sallyssecret
test = test


六、初始化导入

下面就是将我们的数据(项目)导入到这个版本库,以后就由版本库管理我们的数据。我们的任何改动都回被版本库记录下来,甚至我们自己丢失、改错数据时版本库也能帮我们找回数据。

比如,我在 d:\wwwroot 下有个 guestbook 文件夹,里面存放的是我编写的留言簿程序。在此文件夹上“右键 -> TortoiseSVN -> Import...” ,在弹出对话框的“URL of repository”输入“svn://localhost/repos1/guestbook”。在“Import message”输入“导入整个留言簿”作为注释。
点 OK 后要求输入帐号。我们在用户名和密码处都输入 test 。完成后 guestbook 中的内容全部导入到了 svn://localhost/svn/repos1/guestbook 。

我们看到在 e:\svn\repos1 没有任何变化,连个 guestbook 文件夹都没有建立,唯一的变化就是e:\svn\repos1容量变大了。实际上我们源guestbook中的内容已经导入 repos1 版本库了,源 guestbook 文件夹可以删除了。

需要注意的是,这一步操作可以完全在另一台安装了 TortoiseSVN 的客户机上进行。例如运行svnserve的主机的IP是133.96.121.22,则URL部分输入的内容就是“svn://133.96.121.22” 。


七、基本操作流程

1、取出(check out)

取出版本库到一个工作拷贝:

来到任意空目录下,比如在f分区建立一个空文件夹 f:\work 。“右键 -> SVN Checkout”。在“URL of repository”中输入“svn://localhost/svn/repos1/guestbook”,这样我们就得到了一份 guestbook 中内容的工作拷贝。

2、存入(check in)/提交(commit)

在工作拷贝中作出修改并提交:

在 guestbook 工作拷贝中随便打开一个文件,作出修改,然后“右键 -> SVN Commit... ”。这样我们就把修改提交到了版本库,版本库根据情况存储我们提交的数据。

在修改过的文件上“右键 -> TortoiseSVN -> Show Log” ,可以看到对这个文件所有的提交。在不同的 revision 条目上“右键 -> Compare with working copy”,我们可以比较工作拷贝的文件和所选 revision 版本的区别。
分享到:
评论

相关推荐

    使用Subversion进行版本控制(针对 Subversion 1.4)

    使用Subversion进行版本控制针对 Subversion 1.4(根据r2866编译) 参照网页版 http://svndoc.iusesvn.com/svnbook/1.4/制作而成。 目录 前言 序言 读者 怎样阅读本书 本书约定 排版习惯 图标 本书的结构 本书是...

    如何结合使用Subversion和Eclipse

    火龙果软件工程技术中心 本文内容包括:开始之前将Subclipse添加到Eclipse基本的Subversion操作结束语参考资料从一开始,Eclipse便包含了与ConcurrentVersionsSystem(CVS)的紧密集成,以便提供具有变更管理能力的...

    Subversion学习

    里面是我学习Subversion时的笔记,记录了较详细Subversion+apache服务器的搭建, SVN基本命令练习,分支与融合,属性操作等一些问题. 如果有什么意见与意见,欢迎加我的泡泡:boluns@163.com.

    Subversion的配置和使用说明(一)

    服务器端配置说明服务器软件下载服务器的安装建立版本库(Repository)配置用户和权限运行独立服务器客户端使用说明客户端下载客户端的安装初始化导入基本客户端操作分支与合并服务器端配置说明1,软件下载*下载...

    为什么我们要放弃Subversion

    Subversion曾经是我们亲密无间的战友,但自从一年前部分团队成员去了美国,我们和Subversion的关系就开始出现了裂痕,首先是将Subversion服务器架设在美国后,中国开发人员频繁进行的一些操作变得非常缓慢,本来通过...

    浪曦_深入浅出系列之二_SubVersion

    4 2 SubVersion基本概念 .......................................................................................................................... 7 3 SubVersion实战 ...............................

    SVN(版本控制工具)基本操作

    SVN基本操作:版本控制工具 Subversion 的使用方法(中文版) 版本管理是团队协作开发的利器

    实验1 Git基本操作.docx

    云计算原理与实践配套实验文档之 Git基本操作:Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的...

    Subversion 服务器软件 (前提是已安装TortoiseSVN),下载后修改文件格式为:.msi

    svn://168.192.0.1,即可进行访问、编辑操作 编辑代码库基础配置文件(此文件一般不用修改) 编辑代码库 svn\conf\svnserve.conf 文件,如下: [general] password-db = passwd.conf anon-access = none auth-access...

    支持VC6的SVN (Subversion)的插件

    在家空闲的时候写了一个支持VC6的Subversion的插件,该插件利用TortoiseSVN来进行操作。 下载之后放在:C:\Program Files\Microsoft Visual Studio\Common\MSDev98\AddIns 提供基本的功能: Update Commit Lock...

    Subversion的配置和使用说明(二)

    基本客户端操作CheckOut我们所需要的项目。在我们打算用来存放检出后的项目的文件夹上边右键点击,选择“SVNCheckOut…”。如图:在弹出的窗口中输入repository的URL地址和checkout后文件的存放路径,如图所示:点击OK...

    subversion-TortoiseSVN-使用手册(CHM+HTML,中英完整版)

    TortoiseSVN 操作 D.1. TortoiseSVN 命令 E. 命令行交叉索引 E.1. 约定和基本规则 E.2. TortoiseSVN 命令 E.2.1. 检出 E.2.2. 更新 E.2.3. 更新到版本 E.2.4. 提交 E.2.5. 差异 E.2.6. 显示日志 E.2.7. 检查所作的...

    支持VC6的Subversion的插件(SVN AddOn for VC6)

    在家空闲的时候写了一个支持VC6的Subversion的插件,该插件利用TortoiseSVN来进行操作。 提供基本的功能: Update Commit Lock Unlock Add Delete Revert Log Difference Blame Setting Repo Explorer ...

    VisaulSvn Server操作指南

    1. VisualSVN Server基本操作 2 1.1. 对象:VisualSVN Server (Local)基本操作 2 1.2. 状态区操作 7 1.3. 对象:Repositories基本操作 8 1.4. 对象:dev2 基本操作 11 1.5. 其它对象上操作以上功能都有涵盖。 13 ...

    svn客户端的基本操作

    简单介绍一些SVN客户端的基本操作,包括修改,删除,增加文件或多个文件夹,冲突解决等。

    svn学习,svn学习,svn相关信息

    三、基本操作 1.检出Check Out 2.提交Commit 3.解决冲突 4.标签Tag 四、分支与合并 1.版本库的概念 2.什么是分支? 3.使用分支 五、进阶 1.以后台服务方式启动 2.从CVS转换到SVN 六、附录 ...

    软件操作培训教程.pptx

    2.Subversion相关软件 基于Subversion和TortoiseSVN的版本控制系统 Subversion:是一个开源的版本控制系统,拥有CVS的大部分特征,并在CVS的基础上有更强的扩展,用来代替 CVS 系统。 TortoiseSVN:SVN的客户端工具...

Global site tag (gtag.js) - Google Analytics