您的位置:首页 > 其它

svn 大全

2015-11-25 19:34 316 查看
1、SVN基础概念

1)工作拷贝

从svn服务剪下来放到本地作为开发之用的目录和文件

2)基准版本

创建工作拷贝时记录的最后的版本号

3)head版本

svn服务器的最新版本

当本地update时,基准版本变为最新版本

当本地commit时,基准版本变为工作拷贝版本

2、svn服务器搭建 CentOS

1)yum -y install subversion

2)svnadmin create /usr/svn/svnrepos

3)进入svnrepos

修改passd [users]下添加用户和密码truong=123456

修改authd [groups]下添加truong=rw

修改svnserver.conf 放开non-access,auth-access,auth-db=authd,pass-db,real=/usr/svn/svnrepos

4)svnserve -d -r /usr/svn/svnrepos

3、客户端

如果是Windows,采用TortoiseSVN

如果是CentOS,直接yum -y install subversion

4、svn命令

1)svn co svn://truong/trunk [本地放置位置] --username= --password=

2)svn export svn://truong/trunk 导出项目,不带.svn文件

3)svn add test.html 通知svn服务器添加

4)svn commit -m "" test.html 真正提交文件

5)svn up test.html 更新文件

6)svn delete test.html 删除文件

7)svn list svn://truong/trunk/src 查看目录

8)svn cat -r 5 test.html 查看版本号为5的文件

9)svn status svn://truong/trunk/src 查看状态:编辑、冲突等

10)svn lock test.html 锁住文件的修改,只有本人能修改

svn unlock test.html 锁住文件的修改

11)svn revert 回复文件到基准版本

12)svn resolved 解决冲突

5、svn备份

1)svnhotcopy

热备份,适用于项目比较大。只能全量备份

2)svndump

适用于代码量比较小。可进行增量或者全量备份

3)不能采用copy或者rsync方式。经多次或长时间备份,会出现无法还原问题

6、开发分支、阶段性tag、Merge

1)、创建分支

客户端TSVN选择branch/Tag

在ToPath中输入分支路径http://svn.tuanche.cn/svn/sold/user/html5/branches/分支名

点击OK

checkout上述svn路径

2)、创建tag

客户端TSVN选择branch/Tag

在ToPath中输入分支路径http://svn.tuanche.cn/svn/sold/user/html5/tags/Tag名

点击OK

如有需要checkout上述svn路径

3)、Merge

客户端TSVN选择Merge

选择Merge a range of revisions

点击Next

再次点击Next

点击TestMerge查看

点击Merge并解决冲突

点击OK

7、文件冲突

Local edit imcomming edit upon update

8、文件冲突

一般由于一个人在svn库上移动,删除文件或者所属文件夹、重命名

另一个人移动,删除文件、重命名或者修改文件

出现场景

1)同一分支

local edit incomming delete upon update

local delete incomming delete upon update

local delete incomming delete upon update

2)不同分支

local edit incomming delete upon merge

local delete incomming edit upon merge

local delete incomming delete upon merge

9、权限管理

在SVN中有三个项目:ALL,CRM,OA

有三个用户:all,crm,oa

步骤:

1)、打开svnserve.conf,去掉下面四行中的 # 符号

# anon-access = read #不用账号登录,只有读属性

# auth-access = write #账号登录,有读写属性

# password-db = passwd #指定用户密码文件

# authz-db = authz #指定用户分组和指定各组对各个项目的填写属性

2)、打开passwd,新建三个用户

all = all

crm = crm

oa = oa

3)、打开authz,新建三个gruop

group_all = all,crm,oa

group_crm = all,crm

group_oa = all,oa

4)、在authz中设置权限

# 对ALL项目,三个人都有读写权限

[/ALL]

@group_all = rw

* =

# 对CRM项目,all,crm两个人才有读写权限

[/CRM]

@group_crm = rw

* =

# 对OA项目,all,oa两个人才有读写权限

[/OA]

group_oa = rw

* =
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: