SVN 树冲突解决详解
2024-08-25 12:55:21
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)来的)
最新文章
- VS2012 C#使用/配置Log4Net
- 运动 js
- webapi版本升级管理
- struts理解
- ReSharper 配置及用法(一)
- Java 四舍五入
- git克隆项目到一个非空目录
- (转)Engineering Productivity
- 怎么用PHP在HTML中生成PDF文件
- 最简单的Linux-ACL操作
- 使用ajax与服务器通信的步骤
- delphi中无类型文件读写
- Delphi代码中嵌入ASM代码(简单明了)
- IOS 清除UIWebview的缓存以及cookie
- SharePoint 切换用户的小技巧
- 腾讯云中ssL证书的配置安装
- python程序—系统检测
- js 中prototype运用(数组)
- 【工具】获取pojo类属性,并写入表格
- linux 搭建gitlab server
热门文章
- NOIP模拟 17.8.16
- POJ3889Fractal Streets
- SPSS分析技术:二阶聚类分析;为什么出现大学生“裸贷”业务,因为放贷者知道贷款者还不起
- px和rem换算
- Unicode与FFFE(记一个蛋疼的项目)
- iOS 通知观察者的被调函数不一定运行在主线程
- python 不定长参数**kwargs
- QT_OPENGL-------- 2.shader
- linux cat /etc/passwd 说明
- Spring中配置DataSource数据源的几种选择