处理SVN冲突

问题描述:

当触发SVN更新语句时,我得到了冲突。我怎样才能保留我的版本,并检查它是什么?对此的命令是什么?处理SVN冲突

如果您使用的是像TortoiseSVN这样的shell客户端,那么请右键点击“使用我的解决方案”@Adi提到。

在命令行中,这是

svn resolve --accept mine-full <FILENAME> 
+0

嗯我得到svn:警告:W155027:树冲突只能解决为'工作'状态 – 2016-01-12 23:11:51

右键单击冲突的文件并选择“使用我的”。仅供参考,另一种选择是“使用他们的”。 当然这需要用户界面。

如果您在命令行工作,而不是使用UI,SVN会问你,当你做“SVN更新”是这样的:

冲突在 'bar.c' 文件发现: (p)推迟 (E)编辑 (TF),他们全 (MF)矿满

你想什么是我满(MF)。当然,这将覆盖其他人所做的任何更改,因此您可能想要(e)dit。

如果您选择(p)取消此操作,则需要稍后更改文件并将其标记为已解决(svn resolved),然后执行svn commit。

你的问题是你们都编辑过一个文件的相同部分。只要你这样做,就会有麻烦。 SVN不会执行文件级锁定(出于很好的理由!),所以假设您不会在彼此的几行之内进行更改。

如果您碰巧使用Visual Studio,我一直在研究a tool,它将突出显示您正在编辑的文件中已被其他人更改的部分文件。

在命令行:

svn resolve --accept working <FILENAME> 

只是任何人谁拥有许多冲突和不希望通过一个解决这些问题之一,保持你的改变,只是运行此:

svn resolve . -R --accept mine-full 

Related SO question