zoukankan      html  css  js  c++  java
  • svn版本库操作(四)

    一、使用命令行模式访问 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:svnSpaceMyOA 目录,创建一个test.txt文件
    (1) 首先执行svn add命令,将其纳入版本控制,这一步是必须的,否则没法提交到服务器
    svn add test.txt
    (2) 执行 svn commit 命令
    • 使用-m 参数附加日志信息
    • 开启访问权限
    svn commit -m "My first commit" test.txt
     
    暂时先开启匿名访问权限 :
    • 进入对应的版本库目录下的 conf 目录:D:svnDepOAconf
    • 打开 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: 条目不可读”错误。
     
     
     
     
  • 相关阅读:
    MySQLFront导入SQL文件报#1113错误解决
    LNMP1.3一键安装Linux环境,配置Nginx运行ThinkPHP3.2
    币胜网虚拟货币交易平台安装说明
    windows服务器详细安全设置
    WINDOWS SERVER 2008远程桌面端口修改方法
    mac终端ssh连接服务器 空闲的时候 连接断开
    FTP软件发送"AUTH TLS"提示 无法连接到服务器
    LNMP状态管理命令
    lnmp1.4环境FTP服务器的安装和使用
    springCloud
  • 原文地址:https://www.cnblogs.com/myitnews/p/11487784.html
Copyright © 2011-2022 走看看