SVN 树冲突解决详解

SVN 树冲突解决详解

https://blog.csdn.net/xgf415/article/details/75196714

SVN 冲突包括

  • 内容冲突:当两名(或更多)开发人员修改了同一个文件中相邻或相同的行时就会发生文件冲突。
  • 树冲突:当一名开发人员移动、重命名、删除一个文件或文件夹,而另一名开发人员也对它们进行了移动、重命名、删除或者仅仅是修改,在更新时就会发生树冲突。

SVN 的基本使用和内容冲突的解决方法可以参考这篇博客 TortoiseSVN 和 VisualSVN Server 使用教程

树冲突类型及解决方法

1. 本地删除,外部更改

  1. A(外部) 修改文件并将其提交至版本库中。
  2. B (本地)同时删除了文件。

B 更新时就会发生树冲突,该文件被标记为冲突。

B 的解决方法有:

  • 放弃 A (外部)更改:也就是删除这个文件—-直接标记冲突为已解决。
  • 放弃 B (本地)删除:选择取消,右键 TortoiseSVN –> SVN 还原,撤销删除操作。

SVN 树冲突解决详解

2. 本地改名,外部更改

  1. A(外部) 修改文件,并将其提交至版本库中。
  2. B (本地)同时将文件改名。

B 更新时, 该文件被标记为树冲突。
B 的解决方法有:

  • 合并 A (外部)更改到改名后的文件中去:直接选合并修改(见下图)—-> 标记冲突为已解决,然后提交。
  • 放弃 A 的更改:改名后的文件不包括 A 的更改内容 —-> 直接标记冲突为已解决,然后提交,
  • 放弃 B 的改名:选择取消,TortoiseSVN –> SVN 还原,撤销改名操作。

SVN 树冲突解决详解

3. 本地更改,外部删除

  1. A(外部)删除了文件,并提交到了版本库;
  2. B(本地)同时对该文件进行了修改。

B 更新时,该文件被标记为树冲突。

B 的解决方法有:

  • 放弃 A(外部)的删除:不删除文件,同时保留本地内容修改—->直接选保留本地文件,然后提交;
  • 放弃 B(本地)的更改:直接选删除此文件。

SVN 树冲突解决详解

4. 本地更改,外部改名

  1. A(外部)将文件改名,并提交到了版本库;
  2. B(本地)修改了文件内容。

更新时,B 的该文件被标记为树冲突

B 的解决方法有:

  • 合并更改到改名后的文件:选择保留本地文件,手动将更改内容移植到改名后的文件,撤销增加原文件,然后提交。
  • 放弃 A(外部)改名:选择保留本地文件,然后删除改名后的文件,然后提交。
  • 放弃 B(本地)更改:文件改名,内容不变–>直接选删除此文件。

SVN 树冲突解决详解

合并本地更改到改名后的文件中,手动合并如下:

a.先后选择原文件和改名后的文件,加入对比。

SVN 树冲突解决详解

b.根据两个文件的差异,把原文件的内容更改移植到改名后的文件中,然后保存。

SVN 树冲突解决详解

5. 本地删除,外部改名

  1. A(外部)将文件改名,然后提交到版本库;
  2. B(本地)将文件删除。

更新时,B 的该文件将发生树冲突。

B 的解决方法有:

  • 接受 A 的改名:标记冲突已解决;
  • 坚持删除文件:把改名后的文件删除,然后提交。

 

6. 本地改名,外部删除

  1. A(外部)将文件删除,然后提交到版本库;
  2. B(本地)将文件改名。

更新时,B 的该文件将发生树冲突。

B 的解决方法有:

  • 接受 A 的删除:标记冲突已解决,然后撤销增加改名后的文件;
  • 坚持改名:标记冲突为已解决,然后提交。

7. 本地改名,外部改名

  1. A(外部)将文件改名,并提交到版本库;
  2. B(本地)将同文件改名。

更新时,B 的该文件将发生树冲突,

B 的解决方法有:

  • 用 A 的名字:标记冲突为已解决,撤销增加本地改名后的文件;
  • 用 B 的名字:标记冲突为已解决,删除 A 改名后的文件,然后提交。

分支合并冲突

对于分支和主干合并时发生的冲突,因为 SVN 的分支用的很少。。。。所有这里也不介绍了。有问题的话可以参考 SVN 的帮助文档(其实本博客很多内容都是上面借鉴(chaoxi)来的)

SVN 树冲突解决详解

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113344.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • volatile关键字作用

    volatile关键字作用一、作用简述内存可见性:保证变量的可见性:当一个被volatile关键字修饰的变量被一个线程修改的时候,其他线程可以立刻得到修改之后的结果。当一个线程向被volatile关键字修饰的变量写入数据的时候,虚拟机会强制它被值刷新到主内存中。当一个线程用到被volatile关键字修饰的值的时候,虚拟机会强制要求它从主内存中读取。 屏蔽JVM指令重排序(防止JVM编译源码生成class时使用重排序)…

    2022年6月1日
    48
  • Vim设置换行缩进[通俗易懂]

    Vim设置换行缩进[通俗易懂]vi~/.vimrcsetts=4setexpandtabsetautoindent

    2022年9月30日
    6
  • C语言输出所有的水仙花数

    C语言输出所有的水仙花数输出所有的“水仙花数”。所谓“水仙花数”是指一个3位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为153=1³+5³+3³解题思路:水仙花数的解题思路是把给出的某个三位数的个位、十位、百位分别拆分,并求其立方和。程序能正常运行并准确输出“水仙花数”。定义i为水仙花数,运用for循环for(❶i=100;❷i<=999;❸i++)先执行❶,再执行❷判断条件是否满足,满足执行下列花括号,最后执行❸,一次循环结束;再执行❷判断条件是否满足,满足执行下列花括号,最后

    2022年7月24日
    8
  • sessionStorage 使用方法

    sessionStorage 使用方法作为 html5 中 WebStorage 的一种存储方式 localStorage 和 sessionStora 一样都是用来存储客户端临时信息的对象 这两者区别在于前者用于持久化的本地存储 除非主动删除数据 否则数据是永远不会过期的 而 sessionStora 存储的数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁 因此 sessionStora 不是一种持久化的本地存储

    2025年9月6日
    6
  • linux文件共享 samba_文件共享服务

    linux文件共享 samba_文件共享服务Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成;SMB(ServerMessagesBlock,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务;SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统,

    2022年9月24日
    4
  • java io面试题_JavaIO流常见面试题

    java io面试题_JavaIO流常见面试题1.Java中有几种类型的流?字符流和字节流。字节流继承inputStream和OutputStream字符流继承自InputSteamReader和OutputStreamWriter总体结构图2.字节流和字符流哪个好?怎么选择?大多数情况下使用字节流会更好,因为大多数时候IO操作都是直接操作磁盘文件,所以这些流在传输时都是以字节的方式进行的(图片等都是按字节存储的)如果对于操作需要通过…

    2022年5月24日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号