常用命令


  • 建立分支 --- svn copy/cp

svn cp http://example.com/repos/myproject/trunk http://example.com/repos/myproject/branches/branchname -m 'new branch description'

```

  • 迁出分支 --- svn checkout/co

svn co http://example.com/repos/myproject/branches/branchname

注:在Branch和Trunk两边的提交都会引起主版本号的增加,这是由于svn copy只支持同一个repository```内的文件copy,并不支持跨repository的copy,因此新建的Branch和Trunk都属于同一个repository。

  • 提交内容 --- svn commit/ci

svn ci -m "commition message" filepath

```

  • 合并分支 --- svn merge

    • Branch merge to Trunk (在Trunk目录下)

svn merge http://example.com/repos/myproject/branch/branchname

// 将Branch的从版本150到当前版本的所有改动都合并到Trunk中

svn merge http://example.com/repos/myproject/branch/branchname -r150:HEAD

```

* Trunk merge to Branch (在Branch目录下),类似Branch1 merge to Branch2

	```

svn merge http://example.com/repos/myproject/trunk

```

  • 查看合并情况 --- svn mergeinfo (在Trunk目录下)

// 查看当前Branch中已经有哪些改动已经被合并到Trunk中

svn mergeinfo http://example.com/repos/myproject/branches/branchname

// 查看当前Branch中那些还未合并

svn mergeinfo http://example.com/repos/myproject/branches/branchname --show-revs eligible

```

解决冲突


  • 处理选择

    • (p) postpone --- 推迟处理
    • (df) diff-full --- 列出所有的修改
    • (e) edit --- 直接编辑冲突的文件
    • (mc) mine-conflict --- 只用自己的修改,去掉别人的修改
    • (tc) theirs-conflict --- 去掉自己的修改,使用别人的修改
    • (s) show all options --- 显示其他所有的命令
  • 提交代码遇到的冲突
    1. xxx is out of date

      • 本地某文件或目录结构冲突
      • 解决方案
        1. svn update;
        2. 若svn合并成功,则svn commit提交本地的修改。
        3. 若产生冲突(One or more files are in a conflicted state.)
    2. One or more files are in a conflicted state

      • 本地文件冲突
      • 解决方案
        1. 现在postpone

        2. 多出3个文件,xxx.mine、xxx.r777、xxx.r778

        3. xxx文件中出现如下内容,其中小于号和等号之间的内容是本地的修改,而等号与大于号之间的内容是远程的修改(即有冲突的部分)

          <<<<<<< .mine
          ...............
          =======
          ...............
          >>>>>>> .r778
        4. 根据所需的修改,对xxx文件进行修改

        5. 完成修改后,输入svn resolved xxx命令,本地删除原先多出的3个文件

      注:xxx是尝试合并的文件;xxx.r777是本地修改文件的基础版本,777是版本号;xxx.mine是本地修改后的文件,即,在xxx.r777文件基础更改的文件;xxx.r778是远程最新版本的文件,778是版本号

    3. svn合并分支时遇到的冲突

      • 两个操作:增加本地没有的文件、合并本地已有但不同的文件
      • 若产生冲突,则采用One or more files are in a conflicted state相同的办法处理冲突

SVN使用总结的更多相关文章

  1. svn 常用命令总结

    svn 命令篇 svn pget svn:ignore // 查看忽略项 svn commit -m "提交说明" // 提交修改 svn up(update) // 获取最新版本 ...

  2. svn常用命令

    1.新建版本库 [root@localhost repos]# mkdir -p project [root@localhost repos]# svnadmin create project [ro ...

  3. 对Maven、gradle、svn、spring 3.0 fragment、git的想法

    1.Maven Maven可以构建项目,采用pom方式配置主项目和其他需要引用的项目.同时可结合spring3.0的新特性web  fragment. 从现实出发,特别是对于管理不到位,程序员整体素质 ...

  4. 电脑新建svn仓库

    步骤1:安转svg: 注意事项: 安装的时候选择:Modify 安装到以下图片的步骤时: 黄色区域选择: 步骤2:新建svn仓库文件夹(本教程例子:D:\svn-5gpos),选择文件夹右键,点击下图 ...

  5. 项目持续集成环境(jenkins + SVN + maven + tomcat)

    整体流程 每次SVN上代码有变动,触发自动构建动作,并部署到服务器的tomcat上,具体流程: 1.SVN上提交代码修改 2.maven执行Goals 3.将web工程打成war包 4.关闭服务器的t ...

  6. Jenkins配置MSBuild实现自动部署(MSBuild+SVN/Subversion+FTP+BAT)

    所要用到的主要插件: [MSBuild Plugin] 具体操作: 1.配置MSBuild的版本 [系统管理]->[Global Tool Configuration]->[MSBuild ...

  7. ASP.NET Aries 2.0 发布(原来的源码SVN已关闭,开源源码已迁移到GitHub)

    主要更新: 1:增加子目录部署支持. 2:增加Taurus.MVC支持. 3:优化及Bug修复. 1:增加子目录部署支持: 其实在重写Aries框架的时候,我是去掉了目录部署功能的,主要是为了加快Ar ...

  8. [开源]QuickSwitchSVNClient,快速完成SVN Switch的工具

    在实际的开发中,我们一般使用SVN工具进行源代码的管理.在实际的产品开发中,根据项目的一些定制要求,往往需要对某一些代码的修改,但是又不想影响主要的开发,这个时候需要对当前的主分支做一些分支处理(br ...

  9. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)

    前言     上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库 ...

  10. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)

    前言     但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A ...

随机推荐

  1. eclipse 查看变量或方法在什么地方被调用的快捷键

    选中方法名,点鼠标右键,菜单里有个”打开调用层次结构 ( Open Call Hierarchy )“,选中或者按下快捷键Ctrl+Alt+H,就在下面栏目里能看到调用的树形结构了. 或者: 1.双击 ...

  2. 以练代学之shell入门(一)

    5年前的时候,开始接触linux操作系统,接触的第一步就是学习shell脚本.用小脚本以连代学入了门. 1) 9*9乘法输出 2) 检验主机的服务是否启动 3) 冒泡排序 4) 备份当时team服务器 ...

  3. centos6升级python2.7

    #下载python #wget http://python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2 #安装支持https yum install opens ...

  4. OPTIMIZE TABLE 小解

    首先看一下语法:  OPTIMIZE [NO_WRITE_TO_BINLOG | LOCAL] TABLE tbl_name [, tbl_name] ... 我们知道mysql存储引擎里面的数据和索 ...

  5. ios 中 documents和library 的区别

    简单来说就是用户在APP中输入并保存的数据放在Documents文件夹中(如用户输入的文本等), 并且如果手机连接电脑时,iTunes会自动备份其中文件,苹果不允许我们将下载的大型文件放入该文件夹. ...

  6. eclipse安装svn和maven插件以及m2e-extras

    相关介绍: 1.SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从CVS迁移到Su ...

  7. oracle 字符串

    oracle获取字符串长度函数length()和hengthb() lengthb(string)计算string所占的字节长度:返回字符串的长度,单位是字节 length(string)计算stri ...

  8. 【SVN】Error running context: 由于目标计算机积极拒绝,无法连接

    SVN服务没开启,步骤如下: 1.打开[控制面板]→[管理工具]→[服务]: 2.找到[visual SVN Sever],右击选择[启动]: 3.服务开启后,导入数据就成功了!

  9. [转载] 深入理解Android之Java虚拟机Dalvik

    本文转载自: http://blog.csdn.net/innost/article/details/50377905 一.背景 这个选题很大,但并不是一开始就有这么高大上的追求.最初之时,只是源于对 ...

  10. jQuery事件对象event的属性和方法

    事件处理(事件对象.目标元素的获取,事件对象的属性.方法等)在不同浏览器之间存在差异,jQuery在遵循W3C规范的情况下做了封装统一 一.事件对象常用的属性: event.type:获取事件的类型, ...