svn服务器搭建(一)

svn服务器搭建(一)

什么是svn:

集中式代码管理的核心是服务器,所有开发者在开始新一天的工作之前必须从服务器获取代码,然后开发,最后解决冲突,提交。所有的版本信息都放在服务器上。如果脱离了服务器,开发者基本上可以说是无法工作的。下面举例说明:
开始新一天的工作:
1、从服务器下载项目组最新代码。
2、进入自己的分支,进行工作,每隔一个小时向服务器自己的分支提交一次代码(很多人都有这个习惯。因为有时候自己对代码改来改去,最后又想还原到前一个小时的版本,或者看看前一个小时自己修改了哪些代码,就需要这样做了)。
3、下班时间快到了,把自己的分支合并到服务器主分支上,一天的工作完成,并反映给服务器。

  下图就是经典的svn工作流程,从流程上看,有不少缺点,但也有优点。

 wKiom1MO_JXS01-KAADxyqJ3grs549.jpg

缺点

1、服务器压力太大,数据库容量暴增。
2、如果不能连接到服务器上,基本上不可以工作,看上面第二步,如果服务器不能连接上,就不能提交,还原,对比等等。
3、不适合开源开发(开发人数非常非常多,但是Google app engine就是用svn的)。但是一般 集中式管理 的有非常明确的权限管理机制(例如分支访问限制),可以实现分层管理,从而很好的解决开发人数众多的问题。

优点

1、管理方便,逻辑明确,符合一般人思维习惯。
2、易于管理,集中式服务器更能保证安全性。
3、代码一致性非常高。
4、适合开发人数不多的项目开发。
5、大部分 软件配置管理 的大学教材都是使用svn和 vss

----------------------服务端的安装--------------------------

1  安装svn服务:

yum install -y subvers*


2  创建数据存储的根目录:

mkdir -p /opt/svn/svndata


3  创建用户及密码的权限目录:                  

mkdir -p /opt/svn/svnpasswd


4  启动svn服务器:

svnserve -d -r /opt/svn/svndata/


5  创建svn数据库"che":

svnadmin create /opt/svn/svndata/che


6  复制验证文件和密码文件:

cp /opt/svn/svndata/che/conf/authz /opt/svn/svnpasswd/authz
cp /opt/svn/svndata/che/conf/passwd /opt/svn/svnpasswd/passwd
chmod 700 /opt/svn/svnpasswd/*


7  备份配置文件:

cd /opt/svn/svndata/che/conf/
cp svnserve.conf svnserve.conf_bak


8  修改svn配置文件:

vim svnserve.conf


anon-access = none
auth-access = write
password-db = /opt/svn/svnpasswd/passwd
authz-db = /opt/svn/svnpasswd/authz


9  添加账号:zhen 密码:123456   帐号:xing 密码:123456  

cd /opt/svn/svnpasswd/
vim passwd

[users]
zhen = 123456
xing = 654321
#提示:
# 等号前是账号  后面是密码:


10  修改authz

#版本库目录格式:
#[<版本库>:/项目/目录]
#@<用户组名> = <权限>
#<用户名> = <权限>
sagroup = zhen,xing
[che:/]
zhen = rw
xing = rw
@sagroup= rw


提示:

    对svn 权限的修改不必重启SVN服务.


-----------------至此服务端配置完成-------------------


windows 客户端:

 

客户端分为32位跟64位(这里选择了64位):
http://tianjin.mycodes.net/201310/TortoiseSVN-1.8.2.24708-x64.zip




-----------------客户端安装完成-----------------------


测试部分:

在d:/svn-test/下新建立一个目录che并创建点文件 任意

wKiom1MO3wPAq8KgAAL8dl_st6A411.jpg


2  输入帐号和密码:

wKioL1MO96azIXc0AAE4l6d0XeE855.jpg

wKiom1MO98zwODNyAACm8PgT9ME235.jpg


3 测试上传数据:

wKiom1MO-BjQObq-AAIH4POVrHE148.jpg


4  新建N多文件夹,返回che目录--右键--svn提交-- 点“全选”---确定

wKiom1MO-F2hjqjzAALuMCVNaLk406.jpg

wKioL1MO-Diw7EouAAIrDionVVk730.jpg


5  上传完成:

wKiom1MO-ITSoohKAAGS5RQt2MM028.jpg


6 完成之后的截图:

wKioL1MO-IiSo-7AAAMVrzjYl20093.jpg


7 更换xing账号下载内容:

wKiom1MO-NmClrVQAAGE1JRw5Js668.jpg


至此 简单的svn服务已经搭建完成,后续篇章会发出来关于svn钩子的使用方法和linux下的svn客户端使用方法。



你可能感兴趣的:(SVN,代码管理)