linux下SVN的使用

AuthZ的:配置用户组以及用户组权限
的passwd:配置用户名和密码
的svnserve.conf:配置默认权限,权限配置文件及密码配置文件


的svnserve.conf文件中:
(NONO什么都不能干写入提交读更新)
[一般]


anon-access = none #无验证用户
auth-access = write #验证用户


password-db = passwd #表示密码文件的路径和名字(可随意指定)
authz-db = authz #表示authz文件的路径和名字(可随意指定)






的passwd文件用来记录用户名和密码
的用户= 123456 #user用户名和密码
USER1 = 123456 #USER1用户名和密码


的authz:配置用户组以及用户组权限:
[GROP]标签用来只是用户租的分配
[版本库:/] 自定义版本库标签并在下方指示用户组合用户权限




[groups]
pm = user
dev = user1,user2


[/] //所有版本库
@pm = rw
@dev = r // @表示给用户组分配权限
user = rw //给用户分配权限


[s1:/] // s1版本库
@pm = rw
user1 = rw
user = rw
#表示在s1版本库中下午组和用户user user1指定权限


[回购:/]
* = rw #表示在这个回购版本库中所有用户的权限都是wr






5.SVN版本库的访问
----------------
svnserve -d -r / home / text / svnroot / s1 / #运行版本库


svn co(checkout)svn://192.168.0.130#
会提示输入用户名和密码


6.SVN服务自启动
/etc/rc.local#脚本 中添加
svnserve -d -r / home / text / svnroot / s1 /




SVN的基本操作
====================
1.在co出的工作副本中新建文件或文件夹在没有add之前是无处于版本控制状态


在工作副本中的文件会有修改状态,常规态或无版本控制态,在CI后SVN的版本号会增加,提交完成后本地的工作副本的版本号页随之增加


2。 chckout-检出export-导出
----------------------------


svn co -r 2 //检出版本2,有版本控制,会有.svn文件夹
svn export -r 3 //导出版本3,直接导出,无版本控制


注:
.svn记录着工作副本最后一次更新后的变化
.svn标记工作副本的一切变化




3.常见SVN客户端命令
---------------------
1)增加文件或目录到版本库中
svn add - 添加到版本控制
svn添加文件名 #增加某个文件到版本库
svn添加目录名 #默认把目录和目录下所有文件增加到版本库
svn add目录名--non-recursive#只增加目录而不增加目录下的文件
svn add * #把当前目录下所有的文件和目录及目录下的文件递归增加到版本库,
(注:如果一个目录已经在版本库中则不会再去增加这个目录或目录下的文件)
svn添加* --force #强制增加即使目录已经在版本库中也会扫描这个目录下的文件或目录\
增加无版本控制的文件到版本库中




2)提交
svn ci(commit)-m“这是索引“文件名
注:-m参数必须要加
svn ci -m”这是ind ex“* #提交所有文件




3)更新工作副本
svn up(update) #全目录更新,每个文件只会从服务端更新一次最新版本(某个文件更新回历史版本后用svn up无法再更新到最新版本)
当工作副本中缺某某文件svn up也会更新到工作副本
svn -r 1文件名 #更新文件到历史版本1
svn up * #所有文件被强制更新到最新版本


4)删除文件(从版本库中删除)
svn rm #可以加-m参数 
svn del(删除) #可以加-m参数


5)svn di(diff) - 版本差异比较
1>比较本地工作副本修改后内容和最新更新的版本内容
svn di文件名
@@ - 0.0 + 1.12 @ @#表示修改过的行号
- ...代码... #修改前的内容
+ ...代码...#修改后的内容


2>比较工作副本和任意历史版本的差异
svn di -ri文件名


6> svn di比较所有文件的差异




6)svn mkdir doc #创建文件或目录并增加版本库中(相当于touch + svn add)




7)svn cat svn://192.168.0.130/hello.c#在不检出版本库的情况下查看文件




4.工作副本还原
-------------------
svn revert #还原副本中的文件成最后更新的内容


svn revert 文件名
svn revert *#还原当前目录下的所有文件但是不会递归还原目录
svn revert --recursive *#递归还原当前目录下的文件和目录


5.二进制冲突与树冲突
------------------- ---
1>。什么是冲突
冲突出现于工作副本长时间未更新时
p推迟处理,冲突内容保存在冲突文件中
或者用命令:svn resolve index.html
    svn resolved index.html表示冲突已经处理


<< <<<<<<<<<<<<<
if(a> b)//自己的内容
==============
if(b> a) //其他人的内容
>>>>>>>>>>>>>>>>




6。锁定和解锁
----------------
svn lock //锁定文件,防止别人修改
svn unlock //解锁文件,修改并提交后会自动解锁








SVN进阶应用
=== ===========
1.1> .svn list(snv ls --recursive递归显示) 列出当前目录下处理版本控制的所有文件
2> .svn status 列出工作副本中的文件(夹)的状态
3> .svn log 查看提交日志(来自svn ci的-m参数)
4> .svn info 工作副本及文件(夹)的详细信息






2.svn cp 
svn cp ac copy.c 复制并添加到版本库中
svn cp -r 4 ac copy4.c 复制版本4并添加到版本库中
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值