本站所有文章均为原创,如对您有帮助,恳请帮忙点击任何一处广告
  • 首页
  • Jenkins
  • SVN教程(1)使用subversion在CentOS系统搭建SVN

SVN教程(1)使用subversion在CentOS系统搭建SVN

发布:TangLu2017-2-22 16:39分类: Jenkins 标签: svn subversion

一、什么是SVN

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

二、SVN服务端的部署

1、在Windows下要安装SVN的话推荐使用VisualSVN Server,它集成了SVN和Apache,基本属于傻瓜式安装,不用单独配置Apache。而在CentOS系统下直接使用一条yum命令就可以安装上subversion

yum install subversion


2、安装好subversion后创建一个目录作为仓库的根目录。该目录会存放项目代码

mkdir /svn  #目录名自定义


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

svnadmin create /svn/weixin


4、进入仓库目录可以看到有生成一些目录和文件,这些文件就是create命令所创建的,每一个项目的仓库都有独立的配置文件。项目内的代码或者附件都是无法直接读到的,而是存放在一个数据库文件里,只能通过SVN客户端工具才可以查看到项目中的文件

svn2.png

 

5、只需要对以下几个文件做配置:svnserve.conf(主配置文件)、authz(用户权限配置文件)、passwd(用户及密码信息文件)。修改svnserve.conf后需要重启服务,而authz和passwd文件修改后立即生效。

svn3.png

 

svnserve.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


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

 

三、SVN Windows客户端的使用

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

 

2、SVN客户端图标说明

svnicon.jpg


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

svn11.jpg

svn9.png

 

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


三、SVN Linux客户端的使用

1、在Linux系统中直接使用svn命令进行各项操作吗,这里执行了一个checkout,代表将SVN服务端里的代码拉取到本地目录中。通过下图可以看到Windows上创建的文件已经出现在系统里svn12.png


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


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

svn add linux.txt     #用add把新增的文件添加进去
svn commit -m "linux test"     #使用commit提交到SVN仓库中


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

svn13.png  

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

已有 0/2847 人参与

发表评论:

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

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