任何时候出现类似合并冲突或类似事件的问题,都会让我失望。
有人可以向我解释如何强制解决冲突吗?
例如,我的一个伙伴对存储库中的文件进行了编辑并提交。在他这样做时,我已经重命名了该文件,并在我的工作副本上对其进行了很多编辑。
当我去提交时,我明显得到了冲突错误。他编辑的文件在我的工作副本上甚至不再存在。我如何告诉SVN简单地放弃对冲突的哭泣并强迫它接受我的工作副本(即用我的工作副本覆盖头部修订版)。
答案 0 :(得分:8)
更新工作副本后,您可以右键单击日志列表并选择解决冲突的方法:
当正确删除 文件时,这也有效 - 例如,如果您想要从存储库中删除文件,则需要使用svn删除文件。如果您出于方便原因删除了该文件,则在更新之前可能需要svn revert
,因为工作副本中缺少的文件也是修改过的文件(不出所料)。
总结一下:你不能告诉svn“停止哭泣”并简单地用你的工作副本覆盖。这是一件好事。您需要解决冲突(这可能意味着只是覆盖当前状态),将受影响的文件标记为已解决(svn resolved
),然后提交结果。
答案 1 :(得分:5)
我是这样做的:
答案 2 :(得分:1)
我想说:防止这种情况发生的最好方法是在你修改之前更新文件。 一旦完成更改,如果在提交之前更新,则会丢失它们!
答案 3 :(得分:0)
防止这种情况发生的最佳方法是在提交之前更新。
答案 4 :(得分:0)
这里是: 如果您处于两个窗格视图中,则只能在右窗格(我的)中编辑该文件。要应用左侧文件(他们的)中所做的更改,请右键单击更改的行,然后选择上下文菜单→使用来自他们的文本块' 。然后左侧文件的更改将添加到右侧文件中。
有时你真的想要两个文本块,上下文菜单也提供了上下文菜单→同时使用两个文本块(首先是这个)和上下文菜单→使用两个文本块(最后一个)。
如果您处于三窗格视图(有时称为合并视图),则只能在底部视图中编辑文件(合并)。在两个窗格视图中,您可以右键单击冲突的行,然后选择上下文菜单→使用来自'他们的文本块。或上下文菜单→使用来自我的文本块' 。此外,如果您想要两个块,您可以选择上下文菜单→使用来自' mine'的文本块。之前'他们的'或上下文菜单→使用他们的文本块'之前'我的' 。根据您选择的命令,更改将在生成的合并文件中使用。
参考链接:https://tortoisesvn.net/docs/nightly/TortoiseMerge_en/tmerge-dug-conflicts.html