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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • flashfxp3.41中文版注册码:(适合最新版本)

    flashfxp3.41中文版注册码:(适合最新版本)推荐(尚未被封的Realkey)FLASHFXPvACq2ssbvAAAAAC1W7cJKQTzmx77zmqJICvA7d3WnUtWNXdrp8YuERRFdIvXfOPbcpABkVix2aRTgg6afcIKFPxS72XYljdE9tgQD/2r+kmfVBngGM4Qc9p7e0PcTfFF/1tt2bqlxS8r0L7z0jrqb5NSiPr…

    2022年7月26日
    4
  • Android 绑定服务 bindService[通俗易懂]

    Android 绑定服务 bindService[通俗易懂]绑定服务是客户端–服务器接口中的服务器。组件(如activity)和服务进行绑定后,可以发送请求、接收响应、执行进程间通信(IPC)。不会无限期在后台运行。要提供服务绑定,必须实现onBind()回调方法,该方法返回的IBinder对象定义了客户端用来与服务进行交互的编程接口。客户端可以通过调用bindService()绑定到服务。调用时,必须提供ServiceConnection的实现,后者会…

    2022年6月10日
    33
  • Ubuntu安装yum失败

    Ubuntu安装yum失败先看一下虚拟机可以上网;那么联网没有问题;yum-ylistjava*;查看jdk版本;提示yum没有安装;那么先要安装yum;输入rpm-qayum,查看yum的安装情况,rpm也没有安装;输入apt-getinstallyum安装yum,提示权限不足,areyouroot?当前是root用户;在命令前加sudo就对了;sudoapt-getinstallyum;然后提示不能定位yum包;需要先执行apt-getupdate;前面还

    2022年6月16日
    34
  • 绘图软件Origin新手使用教程「建议收藏」

    绘图软件Origin新手使用教程「建议收藏」*写在前面:本文为便于博主自己学习进行的摘录整理,由于经过实际软件操作验证,故投稿原创,主要来源为知乎*绘图软件Origin使用教程一、新手绘制新图(1)创建新图1.新建图2.文字输入3.绘制箭头4.新建图表选择(2)绘图实例讲解1.创建工程2.将数据导入book3.创建空的graph,设置画布尺寸4.添加坐标系,设置坐标系的位置与尺寸5.添加图线6.设置坐标轴格式7.设置图的标题8.设置图线的格式9.设置并添加图例10.导出图片二、导入数据(1)支持导入的数据格式1.主要介绍2.导入数据3.数据格式转

    2022年5月31日
    560
  • 安卓so文件解密_Android是什么文件

    安卓so文件解密_Android是什么文件作者论坛账号:genliese1.前言一道so文件动态加解密的CrackMe,运行时解密要执行的函数,且在执行后立马加密CrackMe:dex文件加的数字壳,so文件无壳,因为反调试,所以so文件采用全静态分析分析环境:脱壳工具:FARTGDAIDAFridaPyCharmVSCode2.分析过程2.1脱壳拿到FART定制ROM下跑,得到想要的dex文件,数字壳抹去了前八个字节的dex文件魔…

    2022年9月14日
    0
  • Gitlab-CICD最简单明了的入门教程

    Gitlab-CICD最简单明了的入门教程CICD是什么?由于目前公司使用的gitlab,大部分项目使用的CICD是gitlab的CICD,少部分用的是jenkins,使用了gitlab-ci一段时间后感觉还不错,因此总结一下介绍gitlab的CICD之前,可以先了解CICD是什么我们的开发模式经历了如下的转变:瀑布模型->敏捷开发→DevOps(Development、Operations的组合词,是一组过程、方法与系统的统称)后来随着DevOps的兴起,出现了持续集成(ContinuousIntegration)、持续交付(Co

    2022年6月3日
    206

发表回复

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

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