SVN使用入门

来源:互联网 发布:csgo的fps优化 编辑:程序博客网 时间:2024/06/05 12:08


如何快速建立Subversion服务器,并且在项目中使用起来,这是大家最关心的问题,与CVS相比,Subversion有更多的选择,也更加的容易,几个命令就可以建立一套服务器环境,可以使用起来。

  本教程分为以下几个部分,为了说明简单,教程是在windows下使用的方式,以方便资源有限的项目使用。在UNIX环境下,只是安装方式不同,命令执行并无太大区别。

  基本流程分为以下几个部分:  

    软件下载

    服务器和客户端安装

    建立版本库(Repository

    配置用户和权限

    运行独立服务器

    初始化导入

基本客户端操作

1.软件下载

下载Subversion服务器程序:SVN的官方网站http://www.subversion.org.cn/,下载最新版本的subversion服务器程序,一般是以Setup-Subversion-1.x.x.msi 命名的,(截止到2011.4.28号,最新的应该是1.6.7版,也就是Setup-Subversion-1.6.7.msi文件,现在有一个问题,由于软件是开源的,所以有很多派生版本,但是都是基于官网上subversion的源代码生成的,具体版本可能有很多种)。

下载SubversionWindows客户端TortoiseSVNTortoiseSVN是扩展Windows Shell的一套工具,可以看作Windows资源管理器的插件,安装之后Windows就可以识别Subversion的工作目录。可以到http://tortoisesvn.net/下载,和Subversion类似,一般文件是以TortoiseSVN-1.x.x.x-win32-svn-1.x.x.msi命名的。

2.服务器和客户端安装

  服务器客户端安装:直接运行Setup-Subversion-1.x.x.msi ,根据提示安装即可,这样我们就有了一套服务器可以运行的环境。

  安装TortoiseSVN同样直接运行TortoiseSVN-1.x.x.x-win32-svn-1.x.x.msi按照提示安装即可,不过最后完成后会提示是否重启,其实重启只是使svn工作拷贝在windows中的特殊样式生效,与所有的实际功能无关,这里为了立刻看到好的效果,还是重新启动机器。

3.建立版本库(Repository)

  运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如:

svnadmin create E:\svndemo\repository

就会在目录E:\svndemo\repository下创建一个版本库。

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

在想要建立版本库的文件夹上(如E:\svndemo\repository)单击"右键->TortoiseSVN->Create Repository here..."(在此创建版本库), 然后可以选择版本库模式, 这里使用默认即可, 然后就创建了一系列目录和文件。(注:已经被建立为版本库的文件夹不能再次被建立为版本库,除非将此文件夹下的所有文件删除后,再建立)

  接下来就以E:\svndemo\repository文件夹为例,讲述一下如何配置。

4.配置用户和权限

  来到E:\svndemo\repository\conf目录,修改svnserve.conf文件(可以用记事本打开):

  # [general]

  # password-db = passwd

改为:

  [general]

  password-db = passwd

然后修改同目录的passwd文件,修改下面三行的注释:

  # [users]

  # harry = harryssecret

  # sally = sallyssecret

最后变成:

  [users]

  harry = harryssecret

  sally = sallyssecret

 在passwd文件中,“=”前的字符就是用户名,后面的就是密码,主机可以按需要修改用户名和密码。还要注意“[users]”前面的注释“#”一定要删除掉。(‘#’号为注释符号)

5.开启服务器

  在cmd命令行模式下运行:

svnserve -d -r E:\svndemo\repositorycmd命令行模式:“开始”->“运行”->“输入上述命令) 我们的服务器程序就已经启动了。此时运行此程序的机器作为服务器,注意不要关闭命令行窗口,关闭窗口也会把svnserve停止。

6.初始化导入

  在主机上:

  来到我们想要导入的项目根目录,如E:\test,目录下很多想要导入到版本库的文件,如xxx1.txt, xxx2.txt, xxx3.c......xxx9.jpg文件:

在当前文件夹(E:\test)的空白处单击

右键->TortoiseSVN->Import...(导入)

URL of repository(版本库URL输入svn://localhost/trunk”(可以视情况增加目录,如项目1放于“svn://localhost/trunk/project1”,则会在主机trunk目录下自动建立project1文件夹)

Import Message(导入信息)中输入你关于文件修改的相关信息。

(注:1.以上是在当前机器运行svnserve,即为主机的情况下的操作,作为客户机上传主机 

       的操作需要按照下述步骤。

      2.目录下的所有文件都会被导入)

  完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中(主机的E:\svndemo\repository)。

  需要注意的是,这一步操作可以完全在另一台安装了TortoiseSVN的机器上进行。例如运行svnserve的主机的IP133.96.121.22,则URL of repository(版本库URL输入的内容就是svn://133.96.121.22/trunk。其他操作同主机操作。

7.基本客户端操作

  取出版本库到一个工作拷贝(此操作会建立一个与主机同步的文件夹,与下述的导出文件不同): 

来到想要得到工作拷贝的目录下,如E:\export,运行“右键->Checkout”(SVN检出),在URL of repository(版本库URL中输入"svn://localhost/trunk",设置“检出目录”。这样,在“检出目录”下我们就得到了一份版本库中所有文件的工作拷贝。 

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

打开xxx.txt,作出修改,然后右键,可以进行诸如:更新、提交(增加新文件)、更新至版本(更新某一版的文件)、版本追溯等操作。这样我们就把修改提交到了版本库,我们可以运行。 

  检出成功的文件夹为如下的形式SVN使用入门 - rosicky0301 - 小山隹的Blog与普通文件夹SVN使用入门 - rosicky0301 - 小山隹的Blog是不同的,在检出的文件夹下可以进行诸如:更新、比较、增加新文件等操作,SVN使用入门 - rosicky0301 - 小山隹的Blog表示文件已经在本地修改,可以通过单击右键进行更新操作。

  查看所作的修改: 

xxx.txt“右键->TortoiseSVN->Show Log”(显示日志),这样我们就可以看到我们对这个文件所有的提交。在想要查看的文件上“右键->Compare with working copy”(与前一版本比较),我们可以比较工作拷贝的文件和上一版本文件的区别。  

8.导出主机文件到本地操作

  在任意文件夹(如果是检出文件夹,操作会不同)下单击右键->TortoiseSVN->export...(导出),在弹出的对话框中URL of repository(版本库URL中可以选择导出的文件,选择要导出的目录,还可以自己选择导出某一版的文件(默认导出最新版本的文件)。

  可以将任意文件(如ddd)拖入到本地的“检出文件夹”下,然后该文件图标会变成SVN使用入门 - rosicky0301 - 小山隹的Blog这时右键单击可以将其更新至主机。


原创粉丝点击