天天看点

SVN在终端的使用

SVN的安装与基本使用

  • 在终端安装svn  输入一下语句(前提是安装了xcode)
    sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/bin/svn /usr/bin/svn
               
  • 在终端输入
    svn --version
               
     在终端输出以下信息
    svn, version 1.7.19 (r1643991)
    compiled Mar 10 2015, 12:33:03
               
  • 克隆工程
    svn checkout + 项目地址
               
  • 查看工程修改状态
    svn status
               
  • 更新下拉服务器所做的更改
    svn update
               
  • 提交工程中的更改
    svn commit -m "提交注释说明"
               

SVN手动合并代码冲突 

  • 如果提交的过程中与服务器发生冲突,先手动解决冲突,选择一方保留自己的代码
    <<<<<<< .mine  (表明这是我本地代码所做的修改)
    我自己的代码
    =======
    服务器的代码
    >>>>>>> .r1420  (表明这是版本为r1420的代码与我本地修改的冲突代码)
               
     然后声明冲突已经解决
    svn resolved + 冲突文件路径
               
    然后,将解决后的冲突,做一次提交
    svn commit -m "解决某某冲突"
               

SVN普通分支的讲解

  • 在服务器创建一个文件夹,做为svn分支的讲解
    svn mkdir -m "create a file project" http://svn/Test
    //checkout到本地
               
    svn co http://svn/Test
  •  给Test工程创建一个分支
    svn mkdir –m "创建分支branches文件夹" http://svn/Test/branches
               
  • 将主分支上的内容拷贝到分支上
    svn copy –m "将主分支中的内容拷贝到分支上" http://svn/Test/ChunkDemo http://svn/Test/branches/RB-1.0
               
  • 将分支中的内容checkout到本地
    svn checkout http://svn/ios/Test/branches/RB-1.0 rb1.0
               
  • 在本地的分支做出修改,上传到svn库中,并将分支的修改合并到主分支上

    svn merge –r1234:1235 http://svn/Test/Branches/Rb-1.0

SVN bug分支的讲解

  • 为分支创建tags文件夹
    svn mkdir –m”给branches创建tags” http://svn/Test/tags
               
  • 给tags文件夹添加内容
    svn copy –m "将branches中的内容拷贝到tags中" http://svn/Test/branches/RB-1.0

               
  • 在svn服务器上tags文件夹先checkout一份工程
    svn co http://svn/Test/tags
               
  • 存在bug保存的工程
    svn copy –m "创建bug分支" http://svn/Test/branches/RB1.0 
    http://svn/Test/branches/BUG-10512
               
  • 修改bug之前的tags保存工程
    svn copy –m "创建bug分支" http://svn/Test/branches/BUG-10512
    http://svn/Test/tags/PRE-10512
               
  • 将修改bug之前的工程checkout到本地
    svn co http://svn/Test/tags/REL1.0.0
    svn co http://svn /Test/branches/BUG-10512
               
  • 将bug修改好之后的版本保存到svn服务器
    svn ci –m "fixing bug 10512"
               
  • 将修改好bug之后的版本保存到服务器
    svn copy –m "tag bugfix finish" http://svn/Test/branches/BUG-10512
    http://svn/Test/tags/POST-10512
               
  • 将修改好的工程合并到主分支,然后上传到服务器
    svn merge –r1476:1484 http://svn/Test/branches/BUG-10512
               
  • 将主分支上传到服务器
    svn ci -m "将用tag标记的bug修复之后的代码合并的主分支上传到服务器"
               
  • 将没用的分支删除
    svn delete http://svn/Test/branches -m"测试完成,删除branches"
    svn delete http://svn/Test/tags -m"测试完成,删除tags"