本站所有文章均为原创,如对您有帮助,恳请帮忙点击任何一处广告

【SVN】使用subversion搭建SVN服务与SVN基础使用教程

发布:TangLu2017-2-22 16:39分类: 服务部署 标签: svn subversion

一、SVN是什么

SVN是一种版本控制系统,它使用版本号记录了每一次文件和目录的修改状况和具体修改细节。在SVN中任何一次提交都会对所有文件增加一个新的版本号,即使该次提交没有修改这些文件。每一次提交不管是单个文件还是多个文件,都是作为一个整体进行提交。如果提交过程中传输中断,不会引起数据损坏。借助版本号还可以实现数据回滚的功能。在Linux系统中要搭建SVN服务的话用到的软件叫做subversion,由Apache维护开发。


二、SVN服务端的安装

1、在Windows下要安装SVN的话推荐使用VisualSVN Server,它集成了SVN和Apache,基本属于傻瓜式安装,不用单独配置Apache。而在Linux下就更简单了,直接使用yum安装subversion,如图

svn1.png

 

2、安装好subversion后创建一个仓库的根目录,以后的开发项目都放这个目录里便于管理,这个目录名自定义即可

[root@server1 ~]# mkdir /svn


3、使用svnadmin命令来给每个项目建立自己的仓库。该命令可以跟很多参数,如要查看帮助信息可以使用"svnadmin help [ command ]"来查看,如svnadmin help create

[root@server1 ~]# svnadmin create /svn/weixin


4、进入该仓库,可以看到该目录下生成了一些目录和文件,这些文件就是create出来的,每一个项目的仓库都有独立的配置文件。项目内的文件是不会出现在这些目录中的,而是一个数据库文件里,只能通过SVN客户端工具才可以查看到项目中的文件

svn2.png

 

其他文件暂且不用理会,只需要对以下几个文件做编辑,svnserve.conf是主配置文件;authz是用户权限配置文件;passwd是用户及密码信息文件。修改svnserve.conf必须重启服务,而authz和passwd可以直接生效。

svn3.png

 

svnserve.conf是主配置文件,相当于Apache的httpd.conf,对其以下几项修改:

[general]
anon-access = none    #取消匿名访问
auth-access = write    #授权用户有可写权限
password-db = passwd    #指定用户配置文件,后面会用到
authz-db = authz    #指定权限配置文件,后面会用到


编辑passwd文件,建立svn客户端用户以及密码,一行一个,这里建立了两个用户

svn4.png

 

编辑authz文件,指定SVN仓库目录,比如我们一开始"svnadmin create /svn/weixin"创建了weixin这个项目,那么这里就可以写[weixin:/]。紧接着下面写明对应用户的权限,如r、rw、或者为空(没有权限)。

svn.jpg

使用svnserve命令启动SVN服务,-d表示后台运行svn服务,-r是指定svn的根目录;启动后执行netstat检查端口,默认监听在3690端口上svn6.png

 

----------SVN客户端使用----------:

在Windows使用SVN服务的话,需要下载一个TortoiseSVN客户端软件,安装好软件后在本地电脑创建一个目录,右键该目录选择checkout,这样就可以把SVN服务器上的文件下载到本地。通常情况操作这步后文件夹的图标会发生变化,会多一个勾的图标,如果没有变化,可以重启下本地电脑svn7.png

 


----------SVN图标示意说明----------:

svnicon.jpg

在对话框里输入SVN服务器项目地址以及需要Checkout的目录,然后点击ok按钮,之后会要求输入用户名密码,这个时候就输入在passwd里设置的信息即可

svn11.jpg

svn9.png

 

登录成功后便可以在该工作目录里进行编辑或创建文件,操作完成后对该目录右键,选择check commit提交,这个操作等于是上传到SVN服务器。如果是刚搭建好的SVN服务,服务器端并没有项目文件,那么我们在客户端可以先把本地的文件通过右键--import到服务器上去,相当于是一个初始化,后续进行更新时再选择commit即可。比如实际工作中开发都是在本地电脑通过SVN把站点先checkout一次到本地电脑某个目录,经过更新后再由本地电脑给commit到服务器上的站点目录中,这样服务器上的文件也会更新了。

 

现在切换到Linux使用客户端测试,使用Linux的SVN命令进行checkout操作,登录后可以看到Windows上创建的文件已经出现svn12.png


svn checkout svn://192.168.36.100 /svnwork/ --username=tanglu --password=123456789


 

在Linux上创建一个文件后提交到SVN

[root@server1 svnwork]# svn add linux.txt     #用add把新增的文件添加进去
A         linux.txt
[root@server1 svnwork]# svn commit -m "linux test"     #commit正式提交
Adding         linux.txt
Transmitting file data .
Committed revision 2.    #版本号发生了变化


再回到Windows上查看下,可以看到版本更新,而且还可以通过show log来查看每次文件的变动及操作人员以及文件前后发生的具体变化,到此SVN的基本操作就全部演示完毕!

svn13.png  

 

 

 

 

 

 

温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!
et_highlighter51
版权所有:《Linux运维技术学习站点
文章标题:《【SVN】使用subversion搭建SVN服务与SVN基础使用教程
除非注明,文章均为 《Linux运维技术学习站点》 原创
转载请注明本文短网址:http://www.linuxe.cn/post-231.html  [生成短网址]

已有 0/2274 人参与

发表评论:

欢迎分享Linux运维技术学习站点

欢迎使用手机扫描访问本站,还可以关注微信哦~