SVN 树冲突解决详解
https://blog.csdn.net/xgf415/article/details/75196714
SVN 冲突包括
- 内容冲突:当两名(或更多)开发人员修改了同一个文件中相邻或相同的行时就会发生文件冲突。
- 树冲突:当一名开发人员移动、重命名、删除一个文件或文件夹,而另一名开发人员也对它们进行了移动、重命名、删除或者仅仅是修改,在更新时就会发生树冲突。
SVN 的基本使用和内容冲突的解决方法可以参考这篇博客TortoiseSVN 和 VisualSVN Server 使用教程。
树冲突类型及解决方法
1. 本地删除,外部更改
- A(外部) 修改文件并将其提交至版本库中。
- B (本地)同时删除了文件。
B 更新时就会发生树冲突,该文件被标记为冲突。
B 的解决方法有:
- 放弃 A (外部)更改:也就是删除这个文件----直接标记冲突为已解决。
- 放弃 B (本地)删除:选择取消,右键 TortoiseSVN --> SVN 还原,撤销删除操作。
2. 本地改名,外部更改
A(外部) 修改文件,并将其提交至版本库中。- B (本地)同时将文件改名。
B 更新时, 该文件被标记为树冲突。
B 的解决方法有:
- 合并 A (外部)更改到改名后的文件中去:直接选合并修改(见下图)----> 标记冲突为已解决,然后提交。
- 放弃 A 的更改:改名后的文件不包括 A 的更改内容 ----> 直接标记冲突为已解决,然后提交,
- 放弃 B 的改名:选择取消,TortoiseSVN --> SVN 还原,撤销改名操作。
3. 本地更改,外部删除
- A(外部)删除了文件,并提交到了版本库;
- B(本地)同时对该文件进行了修改。
B 更新时,该文件被标记为树冲突。
B 的解决方法有:
- 放弃 A(外部)的删除:不删除文件,同时保留本地内容修改---->直接选保留本地文件,然后提交;
- 放弃 B(本地)的更改:直接选删除此文件。
4. 本地更改,外部改名
- A(外部)将文件改名,并提交到了版本库;
- B(本地)修改了文件内容。
更新时,B 的该文件被标记为树冲突
B 的解决方法有:
- 合并更改到改名后的文件:选择保留本地文件,手动将更改内容移植到改名后的文件,撤销增加原文件,然后提交。
- 放弃 A(外部)改名:选择保留本地文件,然后删除改名后的文件,然后提交。
- 放弃 B(本地)更改:文件改名,内容不变-->直接选删除此文件。
合并本地更改到改名后的文件中,手动合并如下:
a.先后选择原文件和改名后的文件,加入对比。
b.根据两个文件的差异,把原文件的内容更改移植到改名后的文件中,然后保存。
5. 本地删除,外部改名
- A(外部)将文件改名,然后提交到版本库;
- B(本地)将文件删除。
更新时,B 的该文件将发生树冲突。
B 的解决方法有:
- 接受 A 的改名:标记冲突已解决;
- 坚持删除文件:把改名后的文件删除,然后提交。
6. 本地改名,外部删除
- A(外部)将文件删除,然后提交到版本库;
- B(本地)将文件改名。
更新时,B 的该文件将发生树冲突。
B 的解决方法有:
- 接受 A 的删除:标记冲突已解决,然后撤销增加改名后的文件;
- 坚持改名:标记冲突为已解决,然后提交。
7. 本地改名,外部改名
- A(外部)将文件改名,并提交到版本库;
- B(本地)将同文件改名。
更新时,B 的该文件将发生树冲突,
B 的解决方法有:
- 用 A 的名字:标记冲突为已解决,撤销增加本地改名后的文件;
- 用 B 的名字:标记冲突为已解决,删除 A 改名后的文件,然后提交。
分支合并冲突
对于分支和主干合并时发生的冲突,因为 SVN 的分支用的很少。。。。所有这里也不介绍了。有问题的话可以参考 SVN 的帮助文档(其实本博客很多内容都是上面借鉴(chaoxi)来的)
SVN 树冲突解决详解的更多相关文章
- SVN版本冲突解决详解
SVN版本冲突解决详解 分类: SVN(SubVersion)2009-11-23 15:45 27014人阅读 评论(12) 收藏 举报 svnsubversion服务器文档工作c 版本冲突原因: ...
- svn冲突问题详解 SVN版本冲突解决详解
svn冲突问题详解 SVN版本冲突解决详解 (摘自西西软件园,原文链接http://www.cr173.com/html/46224_1.html) 解决版本冲突的命令.在冲突解决之后,需要使用svn ...
- [转]SVN版本冲突解决详解
原文地址:http://blog.csdn.net/windone0109/article/details/4857044 版权声明:本文为博主原创文章,未经博主允许不得转载. 版本冲突原因: 假设A ...
- 【转】svn冲突问题详解 SVN版本冲突解决详解
(摘自西西软件园,原文链接http://www.cr173.com/html/46224_1.html) 解决版本冲突的命令.在冲突解决之后,需要使用svnresolved来告诉subversion冲 ...
- SVN冲突解决详解
在: http://blog.csdn.net/windone0109/article/details/4857044
- Eclipse中的SVN的冲突解决方案详解
版本冲突原因: 假设A.B两个用户都在版本号为100的时候,更新了kingtuns.txt这个文件,A用户在修改完成之后提交kingtuns.txt到服务器,这个时候提交成功,这个时候kingtuns ...
- SVN 树冲突的解决方法(Ubuntu 环境)
今天在 服务器上(Ubuntu) svn up 更新的时候,出现了 SVN 树冲突 root@futongdai:~# cd /home/wwwroot/newcrm.ofim.com/ root@f ...
- iOS开发——开发实战篇&版本控制SVN和Git使用详解
版本控制SVN和Git使用详解 公司的实际开发中,在天朝使用较多的还是SVN,因为SVN是集中式的,在天朝上班你们都懂的! -----------------svn--------- ...
- AVL树平衡旋转详解
AVL树平衡旋转详解 概述 AVL树又叫做平衡二叉树.前言部分我也有说到,AVL树的前提是二叉排序树(BST或叫做二叉查找树).由于在生成BST树的过程中可能会出现线型树结构,比如插入的顺序是:1, ...
随机推荐
- MySQL.之 一行内容转换多行
MySQL.之 一行内容转换多行 描述: 将一行记录中的某一列值(值格式:数据之间用英文逗号隔开),将这一数据转换成多行. 例如:表 cds_var 中的 cds_value 中的数据格式:多个id之 ...
- vue源码解读-目录结构
目录结构 ├── scripts ------------------------------- 构建相关的文件,一般情况下我们不需要动│ ├── git-hooks ---------------- ...
- 如何用SPSS分析学业情绪量表数据
如何用SPSS分析学业情绪量表数据 1.数据检验.由于问卷.量表的题目是主观判断和选择,因而难免有些人不认真填,所以,筛选出有效.高质量的数据非常关键.通常需要作如下检查:(1)是否有人回答互相矛盾, ...
- List分页
listObj.Skip((pagecount-1)*pagesize).Take(pagesize) 假设你每页10条数据当前是第3页 跳到第4页则:listObj.Skip((4-1)*10).T ...
- 利用UIWebView打造一个炫酷的视频背景视图(OC & Swift)
http://www.cocoachina.com/ios/20151023/13860.html 2015-10-6更新:适配 Swift2.0 如有需要,可以通过pjin.elvin@gmail. ...
- js树状菜单
html部分 <ul class="tree"> <li><span><a href="#">JavaScrip ...
- 威胁快报|首爆,新披露Jenkins RCE漏洞成ImposterMiner挖矿木马新“跳板”
简介 阿里云安全于近日捕获到一起使用Jenkins RCE漏洞进行攻击的挖矿事件.除挖矿外,攻击者还曾植入具有C&C功能的tsunami木马,也预留了反弹shell的功能,给用户带来极大安全隐 ...
- Resource Management in View Controllers
UIViewController生命周期 UIViewControl是IOS程序中的一个重要组成部分,扮演者一个大管家的身份,管理着程序中的众多视图,今天看看了官方文档并做了如下一些简单的记录: 何时 ...
- hdu4310 贪心
考虑每次血口的要少 就按照一滴血多少伤害来计算.由于直接相除有小数.考虑x/y > a/b => x*b >y*a; #include<stdio.h> #inclu ...
- 干货 | 解读MySQL 8.0新特性:Skip Scan Range
MySQL从8.0.13版本开始支持一种新的range scan方式,称为Loose Skip Scan.该特性由Facebook贡献.我们知道在之前的版本中,如果要使用到索引进行扫描,条件必须满足索 ...