文档章节

SVN服务器的搭建与使用(详细图解)

o
 osc_mervd488
发布于 2018/04/24 14:29
字数 2545
阅读 12
收藏 0

精选30+云产品,助力企业轻松上云!>>>

Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说。

本教程使用的svn版本是1.9.7 64位

一. 下载和搭建SVN服务器.

现在Subversion已经迁移到apache网站上了,下载地址:

http://subversion.apache.org/packages.html

这是二进制文件包的下载地址,你可在左侧的导航栏找到源代码、文档的下载地址。

里面是各个系统的下载文件,找到windows对应的下载文件,如下图所示:

 

 

个人认为最好用VisualSVN server 服务端和 TortoiseSVN客户端搭配使用.

点开上面的VisualSVN连接,下载 VisualSVN server,如图:

 

然后下载 TortoiseSVN 客户端,官网下载地址: https://tortoisesvn.net/downloads.html

 

在下载页面的下面你还可以找到语言包(这个装不装无所谓,视个人英语水平而定),下图红框部分是简体中文64位版本,后面有svn使用的相关说明文档PDF(个人建议下载PDF看一下),如图:

TSVN:针对 Windows 平台的 Subversion 客户端的文档说明

TMerge:针对 Windows 平台的比较与合并工具的文档说明

 

下载完成后,应该有这些安装包,如图:

 

安装VisualSVN server的安装包,双击VisualSVN server安装包,如图:

 

点Next,进入下一步,如图:

√上同意,下一步

 选择上面一个选项,点Next,进入下一步,如图:

选择免费版本,点击 Standard Edition ,如下图:

 

Location是指VisualSVN Server的安装目录

Repositorys是指定你的版本库存放目录(需要比较大的空间)

Server Port指定一个端口

Use secure connection勾山表示使用安全连接

 

后面基本上,Next,Next,Install就结束了,安装完成如下图所示

 

启动VisualSVN Server Manager,如图:

 

安装TortoiseSVN 和 简体中文语言包这个很简单,基本上一路Next就可以了,也没有什么特别的配置,这里就不截图说明了

安装完成以后在桌面任意空白地方单击鼠标右键,会在右键菜单里找到SVN,如图:

 

选择设置,进入下一步,如图:

 

在右边的语言里面选择简体中文,然后点击应用,确定,汉化即完成,如图:

 

到这里,服务端和客户端都已经安装完毕,下面介绍用VisualSVN Server创建版本库,以及TortoiseSVN的使用.

 

 

二,svn的基本使用

 

上一篇介绍了VisualSVN Server和TortoiseSVN的下载,安装,汉化.这篇介绍一下如何使用VisualSVN Server建立版本库,以及TortoiseSVN的使用.

首先打开VisualSVN Server Manager,如图:

 

可以在窗口的右边看到版本库的一些信息,比如状态,日志,用户认证,版本库等。

 

1.建立版本库

右键单击左边窗口的Repositores,选择Create New Repository创建一个普通版本库,如图:

                     

 

输入仓库名称,下一步,然后选择一个标准的仓库模板,里面会有标准的版本控制文件夹(选空的其实也无所谓,文件夹可以自己建)然后下一步:

   

这里可以配置仓库的权限,现在先不管,默认所有人都有读写权限(后面可以修改),然后create

 

 

 

版本库就创建好了,版本库中会默认建立trunk、branches、tags三个文件夹,如图:

 

这时候我们将项目导入到版本库中,找到你的项目文件夹在项目文件夹上点击鼠标右键,找到SVN菜单,选择导入,如图:

 

在弹出的对话框中填上版本库URL,这个URL可以从VisualSVN Server Manager中获取,在你的版本库上单击右键,选择Copy URL to Clipboard,这样就把版本库URL复制到你的剪贴版了如图:

 

将复制的版本库URL粘贴上,在URL后面加上trunk子路径。然后在导入信息里面填上导入信息"导入项目到版本库"。如图:

 

点击确定,所选中的项目就会被导入到版本库中。

 

2.建立用户,用户组

项目导入到版本库以后,不能随便让谁都能够读写版本库,所以需要建立用户组和用户。

在VisualSVN Server Manager窗口的左侧右键单击Users,选择Create User 或者在右侧空白处邮件新建->User,如图:

   

 

在弹出的对话框中填写账号和密码,然后点击OK,如图:

 

用相同的方式分别创建用户 prg1,prg2,prg2,qa1,qa2,mgr 六个用户,分别代表3个开发人员,两个测试人员和一个项目经理,如图:

 

 

然后我们建立用户组,在VisualSVN Server Manager窗口的左侧右键单击用户组,选择Create Group或者新建->Group,如图:

   

这里创建一个程序组,然后按下图操作即可(ps:这里的图片是自己拼接的)

用相同的方式创建组Manager,QA,并把相关人员加入到对应的组

 

3.设置读写权限

接下来我们给用户组设置权限,在MyRepository上单击右键,选择属性,如图:

 

在弹出的对话框中,进行如下操作:

如果不修改的话,默认创建的账号都能随意的读写版本库里面的文件。

 然后我来添加其他的用户组进来,点击Add按钮,选中我们前面添加的用户组,给program,manager权限设置为Read/Write,qa组权限设置为Read Only,如图:

   

到此,服务端就完成了.

接下来,我们用客户端去检出代码,在桌面空白处单击右键,选择SVN检出(check out),在弹出的对话框中填写版本库URL(具体获取方式,上面讲上传项目到版本库的时候讲过),选择检出目录,点击确定。

如图:

 

检出完成之后,我们打开工作副本文件夹,会看到所有文件和文件夹都有一个绿色的√。如图:

至此,创建版本库和使用TortoiseSVN导入项目,检出项目已经介绍完毕.

 

三. TortoiseSVN的使用,以及冲突解决办法.

  接下来,试试用TortoiseSVN修改文件,添加文件,删除文件,以及如何解决冲突等.

1.添加文件

在检出的工作副本中添加一个Readme.txt文本文件,这时候这个文本文件会显示为没有版本控制的状态,如图:

 

这时候,你需要告知TortoiseSVN你的操作,如图:

加入以后,你的文件会变成这个状态,如图:

这时候使用TortoiseSVN进行提交。这样别人就能看到你所做的更改了 ,右键 svn commit(svn 提交)即可,如图.

 

2.修改文件

使用TortoiseSVN更新,修改工作副本中的Readme.txt文件,加入"hello world!",然后保存,你会发现Readme.txt文件的图标改变了,如图:

这个红色的叹号代表这个文件被修改了,这时候,提交更改,其他人即可看到你的更改。

3.重命名文件

使用TortoiseSVN更新,重命名工作副本中的Readme.txt文件为"Readme1.txt',然后保存,你会发现Readme.txt文件的图标改变了,如图:

重命名操作对svn来说,实际上是进行了2个操作,相当于删除原来的Readme文件,然后又新增Readme1文件,提交的时候如下图所示

 

4.删除文件

使用TortoiseSVN更新,使用TortoiseSVN删除工作副本中的Readme.txt文件,然后提交,版本库中的相应文件即被删除掉了,如图:

 

5.强制写注释

为了以后你能更清晰的看到你所做的每一次更改的原因,你在每次提交的时候应该写上注释,而且尽量详细。

但是,可能有的人因为觉得太繁琐,而不填写注释,这不利于以后的版本控制,可以将强制在提交的时候写注释,首先单击右键,选择TortoiseSVN->properties ,如图:

 

在弹出的对话框中,点击new->log sizes,设置提交日志的最小字符数和锁定日志的最小字符数为10,提交文本框中显示边线的字符位置设置为100,点击确定,如图:

 

修改完成后,当前已提交项目需要重新提交一次,以后再次提交的时候,如果输入的注释少于10个字符,将无法提交.

6.冲突解决

冲突问题是最常见的问题,它是这样产生的,A用户check out了一个工作副本A,接着B用户又check out了一个工作副本B,然后A用户对副本A中的文件C做了修改(可以是内容修改,文件删除,重命名,以及位置移动),并且提交.这时候B用户也对文件C的相同部分做了修改,这时候如果B用户进行提交,会先被告知版本过时,要求更新,然后更新的时候会提示冲突了,这时候可以用冲突编辑器进行手动选择。

 

7.TortoiseSVN客户端重新设置用户名和密码 

在第一次使用TortoiseSVN从服务器CheckOut的时候,会要求输入用户名和密码,这时输入框下面有个选项是保存认证信息,如果选了这个选项,那么以后就不用每次都输入一遍用户名密码了。

不过,如果后来在服务器端修改了用户名密码,则再次检出时就会出错,而且这个客户端很弱智,出错之后不会自动跳出用户名密码输入框让人更新

在TortoiseSVN的设置对话框中,选择“save data”,在“认证数据”那一行点击“clear”按钮,清除保存的认证数据,如果只有一个svn的话,直接clear all即可,再检出的时候就会重新跳出用户名密码输入框。

   

 

 如果错误或不好的地方欢迎指正

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

平时使用的Lszrz到底是什么协议?说说Xmodem/Ymodem/Zmodem

XMODEM, YMODEM, and ZMODEM 由于平时使用rz/sz较多,r/s好理解,一个send一个receive。但是由不太清楚z是什么意思,故有此文。 sx/rx, sb/rb (b=batch)和sz/rz分别实现了xmodem,ymodem和z...

独钓渔
42分钟前
17
0
真正的强智能时代已经到来。道翰天琼认知智能机器人平台API大脑。

最近,我常说人工智能的寒冬快要来了,提醒业界要做好思想准备,但同时我也说:冬天来了,春天就不会远了…… 2019年6月我写了篇文章《深度学习的问题究竟在哪?》,说到深度学习的一个主要问...

jackli2020
51分钟前
24
0
什么是控制型人格,控制型人格的筛查测试

一、 什么是控制性人格 拥有控制型人格的人,他们会尽力的隐藏自己的意图,但是又会使用很微妙的方式来利用周围人的弱点,进而占取便宜时,使他们能够得到自己想要的东西。这类人的控制欲非常...

蛤蟆丸子
今天
14
0
【Spring】Spring AOP 代理对象生成逻辑源码分析

1. spring aop案例(POJO注入) 1.0 被代理接口 TargetInterface /** * 被代理的接口 * @author Yang ZhiWei */public interface TargetInterface { void show(); String show......

ZeroneLove
今天
36
0
聊聊dubbo-go的gracefulShutdownFilter

序 本文主要研究一下dubbo-go的gracefulShutdownFilter gracefulShutdownFilter dubbo-go-v1.4.2/filter/filter_impl/graceful_shutdown_filter.go type gracefulShutdownFilter struct {......

go4it
今天
30
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部