SVN使用总结
常用命令
建立分支 --- 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 --- 显示其他所有的命令
- 提交代码遇到的冲突
xxx is out of date
- 本地某文件或目录结构冲突
- 解决方案
- svn update;
- 若svn合并成功,则svn commit提交本地的修改。
- 若产生冲突(
One or more files are in a conflicted state.
)
One or more files are in a conflicted state
- 本地文件冲突
- 解决方案
现在postpone
多出3个文件,xxx.mine、xxx.r777、xxx.r778
xxx文件中出现如下内容,其中小于号和等号之间的内容是本地的修改,而等号与大于号之间的内容是远程的修改(即有冲突的部分)
<<<<<<< .mine
...............
=======
...............
>>>>>>> .r778
根据所需的修改,对xxx文件进行修改
完成修改后,输入svn resolved xxx命令,本地删除原先多出的3个文件
注:xxx是尝试合并的文件;xxx.r777是本地修改文件的基础版本,777是版本号;xxx.mine是本地修改后的文件,即,在xxx.r777文件基础更改的文件;xxx.r778是远程最新版本的文件,778是版本号
svn合并分支时遇到的冲突
- 两个操作:增加本地没有的文件、合并本地已有但不同的文件
- 若产生冲突,则采用
One or more files are in a conflicted state
相同的办法处理冲突
SVN使用总结的更多相关文章
- svn 常用命令总结
svn 命令篇 svn pget svn:ignore // 查看忽略项 svn commit -m "提交说明" // 提交修改 svn up(update) // 获取最新版本 ...
- svn常用命令
1.新建版本库 [root@localhost repos]# mkdir -p project [root@localhost repos]# svnadmin create project [ro ...
- 对Maven、gradle、svn、spring 3.0 fragment、git的想法
1.Maven Maven可以构建项目,采用pom方式配置主项目和其他需要引用的项目.同时可结合spring3.0的新特性web fragment. 从现实出发,特别是对于管理不到位,程序员整体素质 ...
- 电脑新建svn仓库
步骤1:安转svg: 注意事项: 安装的时候选择:Modify 安装到以下图片的步骤时: 黄色区域选择: 步骤2:新建svn仓库文件夹(本教程例子:D:\svn-5gpos),选择文件夹右键,点击下图 ...
- 项目持续集成环境(jenkins + SVN + maven + tomcat)
整体流程 每次SVN上代码有变动,触发自动构建动作,并部署到服务器的tomcat上,具体流程: 1.SVN上提交代码修改 2.maven执行Goals 3.将web工程打成war包 4.关闭服务器的t ...
- Jenkins配置MSBuild实现自动部署(MSBuild+SVN/Subversion+FTP+BAT)
所要用到的主要插件: [MSBuild Plugin] 具体操作: 1.配置MSBuild的版本 [系统管理]->[Global Tool Configuration]->[MSBuild ...
- ASP.NET Aries 2.0 发布(原来的源码SVN已关闭,开源源码已迁移到GitHub)
主要更新: 1:增加子目录部署支持. 2:增加Taurus.MVC支持. 3:优化及Bug修复. 1:增加子目录部署支持: 其实在重写Aries框架的时候,我是去掉了目录部署功能的,主要是为了加快Ar ...
- [开源]QuickSwitchSVNClient,快速完成SVN Switch的工具
在实际的开发中,我们一般使用SVN工具进行源代码的管理.在实际的产品开发中,根据项目的一些定制要求,往往需要对某一些代码的修改,但是又不想影响主要的开发,这个时候需要对当前的主分支做一些分支处理(br ...
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)
前言 上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库 ...
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)
前言 但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A ...
随机推荐
- mysql source导入报错ERROR 1366的解决方法
文件是utf8的,数据库表是utf8的,为什么客户端导入会报错呢? 发现客户端用的是gbk的 改为utf8后正常 SHOW VARIABLES LIKE 'character%'; +-------- ...
- js中function参数默认值
--在dreamweaver做网站时,函数定义是在一个*.js文件中,其中定义了一个func,有四个参数,function func(string1,url,flag,icon),然后在另一个asp中 ...
- c#中实现多个接口出现同名同参的方法
IDictionary接口类同时继承了 IEnumerable<KeyValuePair<TKey, TValue>> 和 IEnumerable这两个接口 public in ...
- php+mysql
本文整理一下使用php和mysql向前端推送数据的过程. 数据库部分: 1.首先安装服务器,我选择xampp,安装可以选择任意地址.安装完成,打开xampp-control.exe . 选择开启Apa ...
- sqlite数据库安装配置
一.SQLite简介 SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中, ...
- Ptex源码学习笔记-2
写入纹理数据: 主要分为五种写入方式:新建纹理.编辑已有纹理.编辑ExtHeader中的指定项.写入元数据和写入指定面的纹理数据.写入过程中数据存在一个临时文件中,在close时才会把临时文件的内容拷 ...
- Pi# - Raspberry Pi GPIO Library for .NET
Project Description Pi# (pronounced “Pi Sharp”) is a library to expose the GPIO functionality of the ...
- 说说JSON和JSONP,也许你会豁然开朗(转)
前言 由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现. 当然了,通过调用强大的PhoneGap插件然后打包,你可以实现100%的Socke ...
- ios UILabel在storyBoard或xib中如何在每行文字不显示完就换行
大家知道怎么用代码让label中的文字换行,只需要 label.numberOfLines = 0; label.text = @"这是第一行啦啦啦啦,\n这是第二行啦啦,\n这是第三行&q ...
- C++ Primer Plus 笔记记录
(一) /a 这个转移字符竟然能调用计算机的硬件 喇叭~~ 对于float c++只能保证6位有效数字 似乎 double是13位 cout.setf(ios_base::fixed, ios_bas ...