简要:最近需要在一台linux服务器上搭建svn服务,系统是redhat。接下来整理一下自己所进行的操作步骤。
SVN简介
SVN是一种版本管理系统,前身是CVS,是开源软件的基石。即使在沟通充分的情况下,多人维护同一份源代码的一定也会出现混乱的情况,版本管理系统就是为了解决这些问题。
SVN中的一些概念 :
a. repository(源代码库)
源代码统一存放的地方
b. Checkout (提取)
当你手上没有源代码的时候,你需要从repository checkout一份
c. Commit (提交)
当你已经修改了代码,你就需要Commit到repository
d. Update (更新)
当你已经Checkout了一份源代码, Update一下你就可以和Repository上的源代码同步,你手上的代码就会有最新的变更
日常开发过程其实就是这样的(假设你已经Checkout并且已经工作了几天):Update(获得最新的代码) –>作出自己的修改并调试成功 –> Commit(大家就可以看到你的修改了)
如果两个程序员同时修改了同一个文件呢?SVN可以Merge这两个程序员的改动,对,合并,实际上SVN管理源代码是 以行为单位的,就是说两个程序员只要不是修改了同一行程序,SVN都会自动合并两种修改。如果是同一行呢,SVN会提示文件Confict, 冲突,需要手动确认。
TortoiseSVN简介
TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件 服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将 Subversion 和版本控制系统看作一种“时间机器”。
这里我们开始操作吧:
1.配置好yum,检查subversion 安装包
#yum list |grep subversion 结果显示 yum库里的svn安装包信息
#yum -y install subversion 开始进行svn的安装操作 -y 表示同意
2.安装完成以后,检查安装的状态#svnserve –version 结果显示svn的安装版本号信息
#netstat -nat 结果显示 tcp 3690端口的信息 注意查看是否为监听状态
3.创建svn版本库#mkdir /data/svndata 设置存放svn的文件路径信息
#chmod 777 -R /data/svndata 设置文件夹权限777
#svnadmin create /data/svndata/wealth 创建版本库 wealth为版本库名称
4.修改svnserver的配置配置说明
svnserve.conf —- svn服务配置文件,存在于svn版本库目录的conf目录下
passwd —用户名口令文件,该文件名以及存放位置可以 在svnserve.conf里进行设置,默认为 同目录。
authz —svn权限配置文件,该文件名以及存放位置也可以在svnserve.conf里进行设置,默认为同目录。
a.修改 svnserve.conf 文件
#vim /data/svndata/wealt/conf/svnserve.conf
[general]anon-access = none 控制非鉴权用户访问版本库的权限
auth-access = write 控制鉴权用户访问版本库的权限
b.修改conf/passwd文件
#vim /data/svndata/wealth/conf/passwd
[users]
#vim /data/svndata/wealth/conf/authz
修改
#killall svnserve
#svnserve -d -r /data/svndata -d表示后台运行 -r指定根目录是/data/svndata
或者使用
#ps -aux |grep svn
查看进程ID ,然后kill掉即可。
转载请注明:苏demo的别样人生 » linux下 搭建SVN 服务器