运维开发网
广告位招商联系QQ:123077622
 
广告位招商联系QQ:123077622

svn配置及基本使用

运维开发网 https://www.qedev.com 2021-05-07 20:00 出处:51CTO 作者:hkui2010
svn配置及基本使用,专注web开发!原创的Linux文章。

svn配置及基本使用

svn基本配置和使用

svn软件下载地址

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

在安装TortoiseSVN时安装客户端和服务端

下以svn在windows下使用为例,Linux上类似

一:svn使用

1.创建多个svn仓库

svnadmin create E:/svnServer/web

svnadmin create E:/svnServer/ot

2.启动仓库服务

svnserve -d(独立端口运行) -r(仓库地址)

svnserve -d -r E:/svnServer/web     //启动web仓库服务

svn服务走svn协议,端口号码是3690

E:/svnLocal/hkui>svn co svn://127.0.0.1

svn co --username 用户名 --password 密码 svn://127.0.0.1/web

 

3.使用svn服务

在E:/svnLocal/hkui下新建 a.php

添加到svn仓库:svn add 文件或者目录(多个文件或目录以空格隔开即可)

svn add E:/svnLocal/hkui/a.php

提交到远程仓库

svn ci 文件路径 -m "注释内容" (不想写注释内容就 -m --force-log)

svn commit E:/svnLocal/hkui/a.php -m "第一个文件"

更新

svn update --username 用户名 --password 密码 --force --no-auth-cache 目标目录 (钩子可利用此同步仓库)

4.开启仓库匿名账号权限

在操作仓库的conf/svnserve.conf里配置匿名账号的权限

anon-access = write

无需重启服务即可

日志:db/revprops 下

内容:db/revs 下

5.运行多个仓库服务

把所有仓库的上级目录当成服务启动起来

更换仓库地址 删除.svn  重新check out

 

6.svn冲突

       在不同地方修改 update下来后合并

       在相同的地方修改,调整代码,删除冲突的其它三个文件 再提交即可

7.账号和权限

一:给具体用户设置权限

在conf/svnserve.conf 中开启

password-db和authz-db = authz

在passwd中添加用户和密码

hkui=hkui123

tom=tom123

在authz里配置相应权限

配置完passwd后必须给相应的用户在authz里配置权限

给指定的仓库账号设置权限

仓库有种类型设置

1.启动运行多个仓库服务

  svnserve -d -r E:/svnServer (svnServer下有web和ot两个仓库)

  [web:/] 表示要给多个仓库的web仓库配置访问权限

  [ot:/]  当然是在ot仓库的配置文件里配置 权限

2.运行启动单一仓库服务 svnserve -d -r E:/svnServer/web

       [/] 表示给单一的仓库设置访问权限

*= 表示其它用户没有操作权限

r只能update  rw能update和commit

比如这里是 运行多个仓库服务的

hkui能够读写,tom只能读,其它用户无任何权限

[web:/]

hkui=rw

tom=r

*=

二:给一个组别设置权限

 再在passwd中添加

 php=php123

 js=js123

 java=java123

 在authz里

 [groups]

 language=php,js,java  #表示同属一个组

 [web:/]

 hkui=rw

 tom=r

[email protected]=rw #表示language组的权限是rw

 *=

三:开启只操作某个目录的权限

比如web目录下的Video

1.管理员创建video目录,提交到svn仓库

2.给外部团队设置账号和设置工作目录,和其分支目录权限

passwd中

[users]

hkui=hkui123

tom=tom123

php=php123

js=js123

java=java123

w1=w123

w2=w223

w3=w323

authz中

[groups]

language=php,js,java

w=w1,w2,w3

[web:/]

hkui=rw

tom=r

@language=rw

*=

[web:/video]

@w=rw

*= (如果设置该项 ,只有w组的成员能操作video目录,管理员也不可以)

3.外部团队建立与仓库的联系 (checkout)

svn co svn://127.0.0.1/web/video  (只有权限和video联系)

4.外部团队 操作文件并提交到仓库

5.管理员更新即可

四:设置开机启动项服务

sc create svnd binPath= "D:/install/TortoiseSVN/192/bin/svnserve.exe -r E:/svnServer --service" start= auto

删除服务

sc delete svnd

五:查看工作日志

开启账号并配置权限后注意把svnserve.conf里的

anon-access = write改为anon-access = none而不是注释

修改完记得先清空缓存

钩子

在windows下为post-commit.bat

Linux下post-commit 记得给可执行权限即可

export LANG=en_US.UTF-8

/usr/bin/svn update --username ybjmobile --password 123456  /alidata/www/mobile

svn update --username 用户名 --password 密码 目标目录

------------------------------------------

在centos下查看svn服务

ps aux|grep svn

[[email protected] web]# ps aux|grep svn

root       3243  0.0  0.0 174512  1012 ?        Ss   21:35   0:00 svnserve -d -r /var/www/svn_db

root       5623  0.0  0.0 103320   864 pts/1    S+   22:13   0:00 grep svn

 

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号