• svn 基础


    安装,略过。

    快速创建、配置及启动项目

    创建项目

    svnadmin create /home/svn/project_name     #创建名为project_name的项目(/home/svn为自定义创建的目录)
    
    #修改配置文件
    [root@localhost project_name]# cat conf/svnserve.conf |grep -v "^$|^#"
    [general]
    anon-access = none              #修改为none,read或者write都不能用
    auth-access = write              #这里不用改动
    password-db = passwd             #这里文件路径为默认当前conf的路径,可以指定到别的路径,用来存放用户名和密码
    authz-db = authz                #同上,用来设置项目的访问路径及用户权限
    realm = project_name              #这里设置项目地址后的项目路径,名称要与创建的项目名称相同
    [sasl]
    
    [root@localhost flagship]#
    cat conf/authz |grep -v "^$|^#" [aliases] [groups] adminxxx = admin              #adminxxx为自定义的别名,用来在指定权限的时候使用,admin 为在passwd里创建的用户名 [flagship:/]                #设定访问路径,这里指定的为 “/”,表示访问路径为 svn://ip/project_name @adminxxx = rw               #用户权限为读写
    [flagship:
    /03技术文档]           #相当于在项目里新建了03技术文档这个文件夹,这里这样设置,访问时,地址为 svn://ip/project_name/03技术文档 @kaifa = rw @ceshi = r [root@localhost flagship]# cat conf/passwd |grep -v "^$|^#" [users] admin = admin            #用户名和密码

    启动项目

    svnserve -d -r /home/svn/ --listen-port 3691    #设置监听的端口,一般情况下,/home/svn目录会有多个svn项目
    svnserve -d -r /home/svn/xxp2p       ##默认监听3690 端口启动

    使用及备份

    检出

    #直接检出
    svn  checkout  http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名 --password 密码
    svn  checkout  svn://路径(目录或文件的全路径) [本地目录全路径]  --username 用户名 --password 密码
    
    
    #导出一个不带.svn文件夹的目录树
    svn  export  [-r 版本号]  http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名
    svn  export  [-r 版本号]  svn://路径(目录或文件的全路径) [本地目录全路径] --username 用户名
    svn  export  本地检出的(即带有.svn文件夹的)目录全路径  要导出的本地目录全路径
    如果没有指定版本号,会export最新的 例子: svn export svn:
    //localhost/测试工具 /home/testtools --username wzhnsc svn export svn://localhost/test/testapp --username wzhnsc svn export /home/testapp /home/testtools

    #更新到本地
    svn update
    svn update -r 修正版本 文件名
    svn update 文件名
    
    例子: svn update       #后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本 svn update -r 200 test.cpp   #将版本库中的文件 test.cpp 还原到修正版本(revision)200 svn update test.php     #更新与版本库同步。提交的时候提示过期冲突,需要先 update 修改文件,然后清除svn resolved,最后再提交commit。

    上传

    ##添加文件
    svn add 文件名
    svn commint -m "message"
    
    例子: svn add test.php         #添加test.php svn commit
    -m "添加我的测试用test.php" test.php
    svn add
    *.php           #添加当前目录下所有的php文件 svn commit -m "添加我的测试用全部php文件" *.php ##提交 svn commit -m “提交备注信息文本“ [-N] [--no-unlock] 文件名 svn ci -m “提交备注信息文本“ [-N] [--no-unlock] 文件名 必须带上-m参数,参数可以为空,但是必须写上-m
    例子: svn commit
    -m “提交当前目录下的全部在版本控制下的文件“ * #这个*表示全部文件 svn commit -m “提交我的测试用test.php“ test.php svn commit -m “提交我的测试用test.php“ -N --no-unlock test.php     #保持锁就用–no-unlock开关
    svn ci
    -m “提交当前目录下的全部在版本控制下的文件“ *       #注意这个*表示全部文件 svn ci -m “提交我的测试用test.php“ test.php svn ci -m “提交我的测试用test.php“ -N --no-unlock test.php     #保持锁就用–no-unlock开关 #删除 svn delete svn://路径(目录或文件的全路径) -m “删除备注信息文本” 推荐如下操作: svn delete 文件名 svn ci -m “删除备注信息文本” 例子: svn delete svn://localhost/testapp/test.php -m “删除测试文件test.php” 推荐如下操作: svn delete test.php svn ci -m “删除测试文件test.php”

    查看日志

    svn log 文件名
    
    例子: svn log test.php    #显示这个文件的所有修改记录,及其版本号的变化

    #查看文件详细信息
    svn info 文件名

    查看版本库下的文件和目录列表

    svn list svn://路径(目录或文件的全路径)
    svn ls svn://路径(目录或文件的全路径)
    

    例子: svn list svn://localhost/test svn ls svn://localhost/test       #显示svn://localhost/test目录下的所有属于版本库的文件和目录

    解决冲突

    svn resolved [本地目录全路径]
    例子:
    $ svn update
    C foo.c
    Updated to revision 31.
    
    如果你在更新时得到冲突,你的工作拷贝会产生三个新的文件: $
    ls foo.c foo.c.mine foo.c.r30 foo.c.r31 当你解决了foo.c的冲突,并且准备提交,运行svn resolved让你的工作拷贝知道你已经完成了所有事情。 你可以仅仅删除冲突的文件并且提交,但是svn resolved除了删除冲突文件,还修正了一些记录在工作拷贝管理区域的记录数据,所以我们推荐你使用这个命令。

    备份

    snvlook youngest 项目路径        #查看最新的版本号
    
    svnadmin dump  项目路径  -r 版本号  > doc    #dump最新的版本号到 doc文件 ,如果不指定版本号默认dump所有版本
    
    svnadmin load /home/svndata/doc1 < doc    #恢复doc文件到项目 doc1

    例子:
    svnadmin dump /home/svn/project_name -r 16111 | gzip > /root/doc.gz    #dump并压缩

  • 相关阅读:
    浅议APC
    fastIO
    设备对象 驱动对象
    PostMessage和SendMessage的区别
    使用DLL在进程间共享数据
    32位程序读写64位程序内存
    windows文件映射
    windows消息传送(自定义消息和WM_COPYDATA)
    windows剪贴板
    mysql innobackupex备份工具
  • 原文地址:https://www.cnblogs.com/FRESHMANS/p/8797106.html
Copyright © 2020-2023  润新知