SVN服务器与客户端配置与应用.docx

上传人:b****1 文档编号:20193295 上传时间:2023-04-25 格式:DOCX 页数:14 大小:236.26KB
下载 相关 举报
SVN服务器与客户端配置与应用.docx_第1页
第1页 / 共14页
SVN服务器与客户端配置与应用.docx_第2页
第2页 / 共14页
SVN服务器与客户端配置与应用.docx_第3页
第3页 / 共14页
SVN服务器与客户端配置与应用.docx_第4页
第4页 / 共14页
SVN服务器与客户端配置与应用.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

SVN服务器与客户端配置与应用.docx

《SVN服务器与客户端配置与应用.docx》由会员分享,可在线阅读,更多相关《SVN服务器与客户端配置与应用.docx(14页珍藏版)》请在冰豆网上搜索。

SVN服务器与客户端配置与应用.docx

SVN服务器与客户端配置与应用

SVN服务器与客户端配置与应用

简介:

什么是Subversion?

Subversion是一个自由/开源的版本控制系统。

也就是说,在Subversion管理下,文件和目录可以超越时空。

Subversion将文件存放在中心版本库里。

这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。

于是我们就可以籍此将数据回复到以前的版本,并可以查看数据的更改细节。

正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。

Subversion的版本库可以通过网络访问,从而使用户可以在不同的电脑上进行操作。

从某种程度上来说,允许用户在各自的空间里修改和管理同一组数据可以促进团队协作。

因为修改不再是单线进行(单线进行也就是必须一个一个进行),开发进度会进展迅速。

此外,由于所有的工作都已版本化,也就不必担心由于错误的更改而影响软件质量—如果出现不正确的更改,只要撤销那一次更改操作即可。

某些版本控制系统本身也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性—比如,对编程语言的支持,或者提供程序构建工具。

不过Subversion并不是这样的系统。

它是一个通用系统,可以管理任何类型的文件集。

对你来说,这些文件这可能是源程序—而对别人,则可能是一个货物清单或者是数字电影。

下载

官方下载:

服务器和程序下载:

http:

//subversion.tigris.org/getting.html#binary-packages

Windows常用客户端TortoiseSVN:

AnkhSVN(VisualStudio插件):

Subclipse(Eclipse插件):

http:

//subclipse.tigris.org/

SCPlugin(MacOSx客户端):

http:

//scplugin.tigris.org/

更多客户端和工具可以看下表或者到官方网站察看:

http:

//subversion.tigris.org/links.zh.html#clients

服务器端配置:

配置为以下几个部分,本次配置是在windows下使用的方式,以方便资源有限的项目使用。

在UNIX环境下,只是安装方式不同,命令执行并无太大区别。

注:

服务器端配置前,最好先将此机器的IP地址手动填写为固定IP地址!

●软件下载

●服务器和客户端安装

●建立版本库(Repository)

●配置用户和权限

●运行独立服务器

●初始化导入

●基本客户端操作

1,软件下载

下载Subversion服务器程序。

这里不过多赘述,注:

服务器端程序为Setup-Subversion-*.msi。

*号部分为版本号.

下载Subversion的Windows客户端TortoiseSVN。

TortoiseSVN是扩展WindowsShell的一套工具,可以看作Windows资源管理器的插件,安装之后Windows就可以识别Subversion的工作目录。

注:

客户端程序为TortoiseSVN-*-win32-svn-*.msi。

(64位系统请选择下载对应版本)

2,服务器和客户端安装

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

(注:

在安装过程中请务必不要在安装目录中包含空格,例:

C:

\ProgramFiles\Subversion是错误的路径,”ProgramFiles”中包含了空格,这样可能会引起Subversion无法正常启动!

安装TortoiseSVN,同样直接运行TortoiseSVN-*-win32-svn-*.msi按照提示安装即可,不过最后完成后会提示是否重启,其实重启只是使svn工作拷贝在windows中的特殊样式生效,与所有的实际功能无关!

这里是否需要看到效果,请自行选择是否需要重启.(注:

服务器端可选择性安装客户端程序,如无必要,可以选择不安装)

3,建立版本库(Repository)

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

svnadmincreateE:

\svndemo\repository就会在目录E:

\svndemo\repository下创建一个版本库。

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

在目录E:

\svndemo\repository下"右键->TortoiseSVN->CreateRepositoryhere...“,然后可以选择版本库模式,这里使用默认即可,然后就创建了一系列目录和文件。

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,运行独立服务器

方法一:

在任意目录下运行:

svnserve-d-rE:

\svndemo\repository我们的服务器程序就已经启动了。

注意不要关闭命令行窗口,关闭窗口也会把svnserve停止。

方法二:

在windows下使用svnService安装svn服务,

1.将svnService.exe拷贝到svn的安装目录\bin下.

2.执行svnService-install即可.

比如,你的所有项目都在c:

\svnrepo下,你可以如下

安装时用SVNService-install-d-rc:

\svnrepo

更改时用SVNService-setup-d-rc:

\otherplace\svnrepo

如果访问其中的一个项目c:

\svnrepo\project1,可以指定路径svn:

//localhost/svnrepo/project1(注:

作为url时用/)

第一次安装完后要到服务中手动启动它,或者到服务中将它设为自动启动,让每次机器启动时自动启动这个服务。

注意:

>svn的安装目录不能有空格,否则会使创建服务失败,例安装在c:

\programfiles\subversion目录下,在创建windows服务时都会出错.

SVNService相关的命令:

可直接输入SVNService看到可使用的参数信息.

备注:

SVNService的主要功能就是安装/移除服务(通过APICreateService/DeleteService来实现的)

6,初始化导入

来到我们想要导入的项目根目录,在这个例子里是E:

\svndemo\initproject,目录下有一个readme.txt文件:

右键->TortoiseSVN->Import...

在URLofrepository输入“svn:

//localhost/trunk”在ImportMessage中输入你的日志信息,完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中。

需要注意的是,这一步操作可以完全在另一台安装了TortoiseSVN的主机上进行。

例如运行svnserve的主机的IP是192.168.0.1,则URL部分输入的内容就是“svn:

//192.168.0.1/trunk”。

(注:

导入与添加是两个不同的操作)

7,基本客户端操作

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

来到任意空目录下,在本例中E:

\svndemo\wc1,运行右键->Checkout,在URLofrepository中输入svn:

//localhost/trunk,这样我们就得到了一份工作拷贝。

URLofrepository:

是你需要导出的文件路径

Checkoutdirectory:

是你将要把文件导出的具体本地路径.

其他选项默认即可..

(注:

在另一台机器上同理,只不过需要填写URL地址)

添加操作:

该样式为在工作目录下新建的文件样式,显示为一个问号.

添加该文件需要点击TortoiseSVN>>Add…

然后提交即可

该文件就在工作目录上添加并且提交.

获取最新版本文件:

选择需要获得文件,选择SVNUpdate即可获取最新版本文件

修改操作:

该样式为文件被修改后的样式.

选择SVNCommit…提交即可

(注:

在提交过程中,可能会报错,或者禁止提交,该原因可能是人员A与人员B同时操作了该文件,造成了文件并发,或者是当人员A修改了该文件并提交后,人员B修改了该文件也需要提交时,该文件在人员B的版本低于服务器端得版本,所以禁止提交!

可以尝试如下处理方法:

将该文件获取为最新版本(SVNUpdate),然后打开该文件,文件中内容SVN已经帮助我们把本地版本与服务器端的版本不同处标注出来,做相应的修改后选择TortoiseSVN>>Revisiongraph然后在提交即可)

删除操作:

选择TorotiseSVN>>Delete删除该文件.

然后点击该文件空白处选择SVNCommit…提交

注:

点击空白处提交时是将整个文件夹内容全部提交,所以提交过程中需要选择需要提交的内容进行提交.且勿需要确证需要提交的内容后在提交,以免造成文件的提交给其他人员造成版本错误的结果!

如下图,选择需要提交的内容后再OK

同理该方法也适用于多文件提交,或者选择好需要提交的文件,选择SVNCommit…一起提交也可以.

该样式为该文件为本地的完整文件!

但并不代表这个文件是与服务器同步的最新版本.

察看所作的修改:

 

选择文件上右键->TortoiseSVN->ShowLog,这样我们就可以看到我们对这个文件所有的提交。

在版本1上右键->Comparewithworkingcopy,我们可以比较工作拷贝的文件和版本1的区别。

SVN库的目录结构详解

SVN库

┠tags(发布)

┃├1.1rc1

┃├1.2

┃├1.5

┃└1.9

┠trunk(主版本)

┃└project

┃├src

┃├classes

┃└WEB-INF

┖branches(分支)

└分支

主要的开发工作放在trunk,分支放在branches,发布版本放在tags。

存储库

trunk:

主版本

project:

项目文件,文档ER图用例图实体关系图等文档

src:

开发项目文件,程序文件

classes:

类文件,通用帮助类,例:

字符串处理通用类,通讯的通用类等,在多个项目中,可以重复利用的类文件或者解决方案

web-inf:

在WEB项目中,站点的配置信息等

branches:

分支版本(独立版本)例如历史版本v1.0/v2.0测试版本,分支A功能版本,分支B功能版本等!

tags:

标记版本,比如发行版v1.0/v2.0目前为止稳定的最可靠的版本,正在运行及适用的版本

 

注意事项:

开发人员每次修改,或者新增、删除、拷贝工作区对象后,应该立刻提交到版本库,有效保持工作区与资源库的高度一致.

开发人员在每次修改工作区中代码或者文档时,首先更新该对象,可以尽量减少冲突、合并.

保证提交到的版本库的代码没有BUG以免影响开发组,可以适当利用加锁机制,减少冲突.

切忌尽量不要提交整个工作文件夹,还有一些*.csproj的项目解决方案文件夹等会影响到整个项目的文件.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 唐诗宋词

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1