zoukankan      html  css  js  c++  java
  • Mac下SVN基本操作和常见错误

    一、基本操作

    1  从服务器上下载代码

    svn checkout http://xxx.xxx.xxx/xxx

    2  获取最新的代码

    svn update

    3  提交代码

    svn commit -m 'comment'

    4  撤销本地未提交的所有操作

    svn revert --recursive .

    5  建立远程分支

    svn copy http://.../sdk/trunk http://.../sdk/branches/branch1 -m 'create branch1'

     

    6  添加目录并提交

    1)在本地建立test文件夹

    2)svn add test

    3)svn commit -m 'comment'

     

    7 删除文件和文件夹,比如一个名为test的文件夹,内含一个名为abc的文件

    在本地进入到该test文件夹所在的上级目录

    输入命令svn rm test

    看到如下的显示

    D         test/abc
    D         test

    再提交一下:svn commit -m 'delete test folder'

    (注意,提交之前要先到根目录下执行svn update,否则可能会报out of date的错误,意思是说服务器上的代码比本地的代码新)

    看到如下的显示
    Deleting       branches/test

    至此,删除成功。本地和远程都不再有test目录

     

    8  远程主干合并到本地分支

    1)svn commit -m 'some comment'(提交本地主干里的变化)

    2)  svn update(更新一下,否则会报错)

    3)  svn merge -r 版本号一:版本号二 主干svn地址  本地分支路径 (远程主干中版本号一和版本号二之间的变化合并到本地分支)

    这里版本号一不算在内,而版本号二算在内。比如1110:1113,则合并的版本号为1111,1112,1113

    如果当前路径恰巧就是本地分支路径,则本地分支路径可以不写

    例子:svn merge -r 1110:1113 http://.../sdk/trunk/

    若版本号二写成head或HEAD,则表示更新到最新的版本。如svn merge -r 1110:head http://.../sdk/trunk

    4)svn commit -m 'some comment' (本地分支中获得的更新提交到远程分支)

    注意:远程分支合并到本地主干、本地主干合并到本地分支、本地分支合并到本地主干也是上述步骤。

    SVN合并只能在远程和本地、本地和本地之间进行,不能在本地和远程、远程和远程之间进行。

     

    9 解决冲突

    若有冲突,解决完冲突后,要用命令svn resolved 路径

    例子:svn resolved dir1/dir2/file.m

     

    10 帮助命令

    svn help resolved

    此命令可以查看resolved相关的参数和功能

     

    11 查看版本提交日志

    svn log

    svn log -l15(查看最近15次的改动信息)

     

    12 删除分支

    svn rm http://.../branches/log_branch -m 'delete comment'

    svn remove http://.../branches/log_branch -m 'delete comment'

    svn delete http://.../branches/log_branch -m 'delete comment'

     

    13 创建远程目录

    svn mkdir http://.../branches/my_branch -m 'create my branch directory'

    14 svn模拟合并,可以看到操作后的结果但不会真正操作

    svn merge --dry-run 

    15 回滚

    假如提交的版本2409,提交之后就是2410。这时发现提交的代码有问题,想回滚到2409,可以用如下命令:

    svn up -r 2409

    二、常见错误

    1  操作:

    svn commit -m 'delete svntest'

    Deleting       svntest

    svn: E155011: Commit failed (details follow):

    svn: E155011: Directory '/XXX/svntest' is out of date

    svn: E170004: Item '/XX/svntest' is out of date

    解决:

    先在根目录执行svn update,然后再执行svn commit -m 'delete svntest'

  • 相关阅读:
    【解决】Ubuntu命令行弹出光驱的方法
    【8086汇编基础】02寻址方式和MOV指令
    【8086汇编基础】03变量、数组和常量的处理
    Ubuntu12.10 内核源码外编译 linux模块编译驱动模块的基本方法
    【8086汇编基础】05常用函数库文件emu8086.inc
    Ubuntu12.10 使用DNW传数据 进行ARM开发板烧写
    【8086汇编基础】04中断
    【8086汇编基础】01汇编语言简要介绍
    飞凌OK6410开发板移植uboot官方最新版uboot2012.10.tar.bz2
    【8086汇编基础】00基础知识各种进制的数据
  • 原文地址:https://www.cnblogs.com/lxwphp/p/15454408.html
Copyright © 2011-2022 走看看