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
     
  • 相关阅读:
    TCP源码—连接建立
    TCP系列02—连接管理—1、三次握手与四次挥手
    TCP系列01—概述及协议头格式
    ubuntu软件管理apt与dpkg
    318. Maximum Product of Word Lengths
    317. Shortest Distance from All Buildings
    316. Remove Duplicate Letters
    315. Count of Smaller Numbers After Self
    314. Binary Tree Vertical Order Traversal
    313. Super Ugly Number
  • 原文地址:https://www.cnblogs.com/zhming26/p/5886209.html
Copyright © 2011-2022 走看看