解决SVN树冲突

介绍


原文在这里:SVN 树冲突解决详解,我只是个搬运工。

SVN的冲突有两种类型:

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

第一种很常见,但解决起来比较容易(一周几次的样字)。第二种不怎么常见(个把月碰到一次)

树冲突类型和解决方法


本地删除,外部更改

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

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


本地改名,外部更改

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

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


本地更改,外部删除

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

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


本地更改,外部改名

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

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


本地删除,外部改名

  • A(外部)将文件改名,然后提交到版本库
  • B(本地)将文件删除

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


本地改名,外部删除

  • A(外部)将文件删除,然后提交到版本库
  • B(本地)将文件改名

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


本地改名,外部改名

  • (外部)将文件改名,并提交到版本库;
  • (本地)将同文件改名。

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