一、使用命令行模式访问 SVN 服务器

1. 检出(checkout)

(1) 首先进入自己的工作目录,例如:D:\svnSpace

cd D:\svnSpace

(2) 运行 svn checkout 命令,命令格式如下

# svn checkout svn://SVN 服务器主机地址/具体仓库目录 保存检出内容的目录
svn checkout svn://localhost/OA MyOA

运行 checkout 命令后进入 MyOA 目录,里面有一个隐藏目录.svn,用来保存与服务器交互的重要信息,其中包括从服务器端取回的最新版本信息、文件状态、更新时间等。SVN 正是以此为依据判断当前目录中文件的状态。这个隐藏目录千万不要删除或修改其中的内容。如果服务器端保存的文件可以视为一个“正本”,那么每个开发人员检出到本地目录的文件可以视为“副本”,通常称为工作副本。

2. 提交(commit)

进入 D:\svnSpace\MyOA 目录,创建一个test.txt文件
(1) 首先执行svn add命令,将其纳入版本控制,这一步是必须的,否则没法提交到服务器
svn add test.txt
(2) 执行 svn commit 命令
  • 使用-m 参数附加日志信息
  • 开启访问权限
svn commit -m "My first commit" test.txt
 
暂时先开启匿名访问权限 :
  • 进入对应的版本库目录下的 conf 目录:D:\svnDep\OA\conf
  • 打开 svnserve.conf 
  • 将第 19 行的# anon-access = read 改为 anon-access = write,也就是去掉“# ”,将 read 改为 write。注意前面不要留空格,一定要顶格写。 
  • 不需要重启 SVN 服务,甚至命令行窗口都不需要重新打开。 

其实 svn commit 命令最后可以不指定具体文件,此时表示提交当前工作副本中的所有修改。

3. 更新(update)

执行 svn update 命令

4. 将工作副本整体回复到某一个历史版本

svn update --revision 想要取回的版本号
#svn update --revision 1

5. 将某个文件恢复到某个版本中的状态,同时不涉及其他文件

svn update 文件名 --revision 想要取回的版本号
#svn update pp.txt –revision 10

二、单一版本库权限配置

要设置授权访问就需要创建用户,并为用户设定权限。
1. 配置授权访问
(1) 打开conf/svnserve.conf
(2) 将第 19 行 anon-access = write 注释掉:# anon-access = write,表明该版本库不接受匿名访问
(3) 将第 20 行# auth-access = write 注释打开:auth-access = write,表明该版本库使用授权访问 
(4) 将第 27 行注释打开:password-db = passwd,表明使用同目录下的 passwd 文件保存用户信息
(5) 将第 36 行注释打开:authz-db = authz,表明使用同目录下的 authz 文件保存权限信息
2.  打开 passwd 文件创建用户 
# 用户名=密码
userWrite01 = 123456
userWrite02 = 123456
userRead = 123456
userOther = 123456

3. 打开 authz 文件:#后面注释的是例子

(1) 创建用户组

[groups]
# 组名称=成员列表
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
canWrite = userWrite01,userWrite02

(2) 指定路径,给用户和用户组授权

# [/foo/bar]
# harry = rw
# &joe = r
# * =屏蔽那些未设定的用户,让它们没有任何权限 # 指定路径:根目录
[/]
# canWrite组具有读写权限
@canWrite = rw
# userRead用户具有读权限
userRead = r
# 除了上面设置的,其他的用户或组没有任何权限
* =

(3) 权限的继承性:父目录设置的权限,对子目录同样有效——除非子目录进行更为具体的设定

[/subDir]
userOther = rw
* =
这个例子表示当前版本库下的 subDir 目录只有 userOther用户有读写权限,其它用户无任何权限。

三、多版本库共享配置

1. 在版本库根目录 D:\svnDep 下创建 commConf 目录
2. 将未修改的 authz 和 passwd 文件拷贝到 commConf 目录下 
3. 修改需要设置权限的版本库的 svnserve.conf 文件

  • password-db = ../commConf/passwd
  • authz-db = ../commConf/authz 

4. 在 password 中创建用户

[users]
# harry = harryssecret
# sally = sallyssecret
userERP = 123456
userCRM = 123456
userOA = 123456

5. 在 authz 中针对不同版本库为不同用户授予权限

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
[ERP:/]
userERP = rw
* = [OA:/]
userOA = rw
* = [CRM:/]
userCRM = rw
* =

四、查看工作副本信息

使用svn info查看某个版本库的信息
 
使用svn info 文件名 查看某个文件的信息

五、查看目录或文件日志信息

使用 svn log 命令
注意:使用这个命令的前提是设置匿名访问为 none,即:anon-access = none,否则会出现“svn: E220001: 条目不可读”错误。
 
 
 
 

svn版本库操作(四)的更多相关文章

  1. svn版本库更新后自动同步到www

    注意:www目录一定要用SVN服务器 checkout出Repositories的代码 步骤: (1)新建www根目录 mkdir -p /data/www/lehuo (2)在www根目录下检出(c ...

  2. TortoiseSVN和VisualSVN-Server的配置使用,外网访问SVN版本库

    TortoiseSVN和VisualSVN-Server的配置使用,外网访问SVN版本库 SVN客户端程序:TortoiseSVN SVN服务器程序:VisualSVN-Server ######## ...

  3. SVN版本库(访问权限)配置实例笔记

    http://blog.csdn.net/zjianbo/article/details/8578297 SVN版本库(访问权限)配置实例笔记 本系列文章由ex_net(张建波)编写,转载请注明出处. ...

  4. 工作随笔——使用svnsync实时备份SVN版本库

    前段时间把SVN版本库从win迁移到了Linux上,没隔几天那台win的磁盘就严重坏道了....这TMD什么运气! 花费了点时间研究了下svn自己的同步工具.写个日志记录下. 注意:svnsync要求 ...

  5. Linux 搭建svn版本库

    一.安装svn服务器端yum install subversion      从镜像下载安装svn服务器端 如果后面执行“svnadmin create /usr/local/svn/sunny”提示 ...

  6. SVN版本库备份和恢复

    1.版本库备份 1.1.svnadmin dump方式备份 此方法借助的是Subversion官网推荐的svnadmin dump备份方式,它的优点是比较灵活,既可以进行全量备份又可以进行增量备份,并 ...

  7. linux服务器上创建svn版本库

    1. 创建存放各个svn版本库的目录svnrepos(自己定义路径) -bash: cd /usr/local/apache/htdocs/ -bash: mkdir svnrepos 2. 假设我要 ...

  8. 使用svnsync实时备份SVN版本库

    前段时间把SVN版本库从win迁移到了Linux上,没隔几天那台win的磁盘就严重坏道了....这TMD什么运气! 花费了点时间研究了下svn自己的同步工具.写个日志记录下. 注意:svnsync要求 ...

  9. linux 创建svn版本库,并在svn上配置checkstyle做代码风格检查

    一.创建SVN版本库 1.安装svn服务器 yum install subversion 2.查看版本 svnserve --version 3.建立SVN版本库目录(即你的SVN服务器里面的文件存放 ...

随机推荐

  1. luoguP2178 [NOI2015]品酒大会(后缀自动机)

    题意 承接上篇题解 考虑两个后缀的\(lcp\)是什么,是将串反着插入后缀自动机后两个前缀(终止节点)的\(lca\)!!!于是可以在parent tree上DP了. 比后缀数组又简单又好写跑的还快. ...

  2. jenkins配置自动部署java程序

    任务背景 该项目包含4个程序包:a.jar,b.jar,c.jar,d.jar,每次启动前需要修改程序中的配置文件(修改数据源配置),然后按照先后顺序启动. 任务目标 1.利用jenkins拉取代码, ...

  3. [译][ABP vNext]ABP CLI,v0.18版本的新模板和其他功能

    ABP CLI,v0.18版本的新模板和其他功能 ABP v0.18已发布, 包含解决的70+个issue,500+次提交 网站更改 abp.io网站完全更新以突出ABP框架的目标和重要功能.文档和博 ...

  4. 转:xcode项目打不开:incompatible project version问题

    这个是xcode版本对应不上,不一定要修改版本,我们修改记录版本的文件里面的版本号就行了. 低版本xcode打开高版本xcode项目或库工程的时候就会出现,打不开的问题 解决 1可以重建创建工程,将文 ...

  5. git操作记录(如何回退到某个历史版本,如何提交部分文件等方法)

    当前项目使用git管理代码,在使用的过程中会遇到一些问题,这里记录下 1.合并代码后 在合并组员的代码后会出现下面的界面,开始的时候都会关闭,重新打开,乐此不疲到忍无可忍 解决方法: 出现这种界面是要 ...

  6. pytorch——auto-encoders

    自动编码器的训练方法: (1)Loss function for binary inputs (2)Loss function for real-valued inputs

  7. linux 用du查看硬盘信息

    linux 用du查看硬盘信息 <pre>[root@iZ238qupob7Z web]# df -hFilesystem Size Used Avail Use% Mounted on/ ...

  8. 转 经典分类网络Googlenet

    转自https://my.oschina.net/u/876354/blog/1637819 2014年,GoogLeNet和VGG是当年ImageNet挑战赛(ILSVRC14)的双雄,GoogLe ...

  9. 使用IDEA的Git插件上传项目教程

    如何使用IDEA的Git插件上传项目 一.在https://www.cnblogs.com/zyx110/p/10799387.html中下载 二.注册码云账号 搜索gitee码云插件并安装

  10. 如何查询正在运行的SQL Server agent job

    运行"msdb"系统数据库下的存储过程"dbo.sp_help_job",可以得知现在SQL Server中有多少个正在运行的agent job: USE [m ...