svn配置及基本使用
2015-10-27 22:16
363 查看
svn软件下载地址 http://subversion.apache.org/packages.html 在安装TortoiseSVN时安装客户端和服务端
下以svn在windows下使用为例,linux上类似
一:svn使用
[b]1.创建多个svn仓库[/b]
svnadmin create E:/svnServer/web
svnadmin create E:/svnServer/ot
[b]2.启动仓库服务[/b]
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
[b]3.使用svn服务[/b]
在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 目标目录 (钩子可利用此同步仓库)
[b]4.开启仓库匿名账号权限[/b]
在操作仓库的conf/svnserve.conf里配置匿名账号的权限
anon-access = write
无需重启服务即可
日志:db/revprops 下
内容:db/revs 下
[b]5.运行多个仓库服务[/b]
把所有仓库的上级目录当成服务启动起来
更换仓库地址 删除.svn 重新check out
[b]6.svn冲突[/b]
在不同地方修改 update下来后合并
在相同的地方修改,调整代码,删除冲突的其它三个文件 再提交即可
[b]7.账号和权限[/b]
一:给具体用户设置权限
在conf/svnserve.conf 中开启
password-db和authz-db = authz
在passwd中添加用户和密码
hkui=hkui123
tom=tom123
在authz里配置相应权限
配置完passwd后必须给相应的用户在authz里配置权限
给指定的仓库账号设置权限
[b]仓库有种类型设置[/b]
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
@language=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
[root@localhost 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
下以svn在windows下使用为例,linux上类似
一:svn使用
[b]1.创建多个svn仓库[/b]
svnadmin create E:/svnServer/web
svnadmin create E:/svnServer/ot
[b]2.启动仓库服务[/b]
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
[b]3.使用svn服务[/b]
在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 目标目录 (钩子可利用此同步仓库)
[b]4.开启仓库匿名账号权限[/b]
在操作仓库的conf/svnserve.conf里配置匿名账号的权限
anon-access = write
无需重启服务即可
日志:db/revprops 下
内容:db/revs 下
[b]5.运行多个仓库服务[/b]
把所有仓库的上级目录当成服务启动起来
更换仓库地址 删除.svn 重新check out
[b]6.svn冲突[/b]
在不同地方修改 update下来后合并
在相同的地方修改,调整代码,删除冲突的其它三个文件 再提交即可
[b]7.账号和权限[/b]
一:给具体用户设置权限
在conf/svnserve.conf 中开启
password-db和authz-db = authz
在passwd中添加用户和密码
hkui=hkui123
tom=tom123
在authz里配置相应权限
配置完passwd后必须给相应的用户在authz里配置权限
给指定的仓库账号设置权限
[b]仓库有种类型设置[/b]
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
@language=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
[root@localhost 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
相关文章推荐
- ubuntu15.04安装jdk8 、eclipseEE、tomcat8的流程
- 【SSH项目实战】国税协同平台-1.项目介绍
- Codeforces551C:GukiZ hates Boxes(二分+贪心)
- 各系统下设置输入法按键为ctrl+shift+space
- 普通代码块、静态代码块和构造代码块
- Mac 安装 Genymotion 下载虚拟机出现 The file is corrupt 提示问题解决办法
- C语言的指针
- 各系统下设置输入法按键为ctrl+shift+space
- android复习第二天------布局
- java--字节数组输入、输出流
- 杭电1872稳定排序
- IOS --Xcode6单元测试
- Android学习笔记之AndroidManifest.xml文件解析
- POJ 3292:Semi-prime H-numbers 筛选数
- C++生成dll和调用dll的方法实例
- VS2010快捷键
- 委托机制的具体含义
- LeetCode OJ:Populating Next Right Pointers in Each Node II(指出每一个节点的下一个右侧节点II)
- POJ 3292:Semi-prime H-numbers 筛选数
- visual c++ 2013进行MySQL编程(ODBC) -- (一) 套装安装