zoukankan      html  css  js  c++  java
  • SVN常用命令与分支操作

    1.基本操作

    1.0 创建版本库: 

     Svnadmin create /data/repos  

    2.0 修改配置文件 
    Auth文件   
    [groups]   
    admin=shguo   
    [/]   
    @admin=rw   
    *=r  
    [groups] admin=shguo [/] @admin=rw *=r

    Passwd文件
    [users]   
    shguo=shguo  
    [users] shguo=shguo

    Svnserve.conf文件
    anon-access = read   
    auth-access = write   
    password-db = passwd   
    authz-db = authz  

    注意:要去掉前面的空格不然会报,认证配置失败 

    3.0启动:

    svnserve –d –r repos  

    4.0 创建目录
    svn mkdir svn://127.0.0.1/repos/ -m “mkdir”  (说明“”中是提交的log注释)
    svn mkdir svn://127.0.0.1/repos/sns/  -m “mkdir”   
    svn mkdir svn://127.0.0.1/repos/sns/trunk  -m “mkdir”   
    svn mkdir svn://127.0.0.1/repos/sns/branches -m “mkdir”   
    svn mkdir svn://127.0.0.1/repos/sns/tags  -m “mkdir”
    或者本地操作
    svn mkdir file:///data/repos/ -m “mkdir” 
    svn mkdir file:///data/repos/sns/ -m “mkdir” 
    svn mkdir file:///data/repos/sns/trunk -m “mkdir” 
    svn mkdir file:///data/repos/sns/branches -m “mkdir” 

    svn mkdir file:///data/repos/sns/tags -m “mkdir” 

    5.0导入项目:
    Svn import sns svn://127.0.0.1/repos/sns/trunk/ –m “init project”   
    查看:svn list svn://127.0.0.1/repos/sns/trunk/  


    6.0导出项目开发:

    Svn checkout svn://127.0.0.1/repos/sns/trunk/sns 

    7.0进入目录就可以进行开发操作了
    Cd sns   
    Svn status   
    Svn add  new.txt   
    Svn commit –m ‘commit’  
    Svn log new.txt


    其它一些命令:
    Svn update    
    Svn diff –r m:n path   
    Svn lock some.java or svn unlock some.java   
    Svn revert    
    Svn add /delete / copy / move   
    Svn switch –relocate svn://xxxx/one   svn://xxxx/two   

    Svn list path  

    2. Svn中分支的使用 

    2.0 创建分支
    Svn cp http://svn.shguo.com/repos/sns/trunk/  http://svn.shguo.com/repos/sns/branches/101128_sns_imageUpload_shguo -m “shguo_branch”  
    也可以通过 TortoiseSVN 中的Branch/tag来创建分支 

    2.1 取出分支来开发 

    Svn co http://svn.shguo.com/repos/sns/branches/101128_sns_imageUpload_shguo  101128_sns_imageUpload_shguo

    2.2开发完成后向主干提交 

    检查需要合并的分支的历史:
    svn log --stop-on-copy -q http://svn.shguo.com/repos/sns/branches/101128_sns_imageUpload_shguo
    合并:
    svn merge –r 16:HEAD http://svn.shguo.com/repos/sns/branches/101128_sns_imageUpload_shguo


    2.3检查冲突: 
    svn status 
    如果有解决冲突,没有就svn commit命令就可以完成提交 

    2.4 批量增加svn文件
    svn add `svn st |grep ? |awk '{print $2}'`   
    svn st |grep ? |awk '{print $2}' |xargs svn add  


    2.5 批量增加svn:ignore属性
    svn propset svn:ignore  -F ~/.svnignore -R /app/work/app1  
    ------------------------------------------------------------------------------------------
    整个具体流程总结如下 :
    1.建立两套服务器.配置一致.程序发布的目录等设置也保持一致 如:(QA环境 生产环境)
    2.其中一套作为开发测试环境使用.一套作为生产环境使用
    3.SVN建立trunk目录作为主代码分支,,建立branch目录作为其他分支;如svn://project/trunk    svn://project/branch
    4.开发人员使用branch分支进行开发;(问题点:开发自测和QA测试环境)
    5.当确认某个测试版本稳定后.将branch分支的内容合并(merge)到主干.
    6.运维将测试环境主干代码update到生产环境;
     
    3.分支使用命令示例:
    3.0 创建分支

    svn cp http://..../project/trunk  http://..../project/branch/mall_bugid3012_order -m “order”

    3.1 取出分支开发
    3.2 开发完成后提交

    3.3 检查需要合并的分支记录

       svn log –stop-on-copy –q http://..../project/branch/mall_bugid3012_order

    3.4 合并

       svn merge –r  旧版本号:新版本号(head) http://..../project/branch/mall_bugid3012_order       

    3.5 检查冲突和提交

       svn status 
       svn commit

  • 相关阅读:
    年度回忆录(?——2011.01)
    我在学英语
    技能冷却
    抗锯齿
    在cocos2dx 2.x FPS 等参数
    手指效果
    cocos2dx 简单OpenGL 画图
    cocos2dx tile map瓦片地图的黑线及地图抖动解决方案
    C++操作SQLite数据库
    精灵点击移动
  • 原文地址:https://www.cnblogs.com/chencaiming/p/7462501.html
Copyright © 2011-2022 走看看