svn 大全

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
* =


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值