这里发生了什么?我使用过TFS和SourceGear Vault,这些源代码管理器都没有破坏像SVN这样的文件。它们实际上打开了一个漂亮的小窗口,让您有机会解决冲突,然后将已解析的代码应用到您的文件中。 SVN的方法似乎是在您发现由于设计时错误或由于格式错误标记而未加载页面而无法构建代码后,必须手动删除“标记”来丢弃代码文件。最令人讨厌的是项目文件的XML损坏,导致您必须卸载项目并手动编辑XML。
有人可以告诉我,有一种方法可以告诉SVN不要这样做,以便它的行为像一个理性的源代码管理器吗?
答案 0 :(得分:8)
使用合并工具或使用像TortoiseSVN这样的GUI客户端,它将为您完成工作,您将获得类似或更好的SVN体验并解决冲突。
答案 1 :(得分:5)
你有冲突。不用担心,有很多方法可以解决它:
Here's a handy tutorial on how to solve it from the command line (Windows + Mac)
This is a list of Mac subversion clients that should resolve conflicts easily
On windows, pretty much everyone I know uses TortoiseSVN
此外,提出最后提交的项目的其他人并同意如何智能地解决冲突是一种很好的形式。祝你好运!
答案 2 :(得分:2)
我强烈建议使用TortoiseSVN并将其配置为使用GUI差异/合并工具。
使用TortoiseSVN并不需要太多设置。从TortoiseSVN设置菜单中打开“设置”对话框。 在“外部程序”部分中,选择“差异查看器”并选择“外部”单选按钮并提供命令行参数:
path\DiffMerge.exe /t1=Mine /t2=Original %mine %base
确保为已安装的DiffMerge产品提供有效路径!显示更改时,这将在左侧面板中显示您的版本更改,右侧为base。
要获得三个面板合并,请在“外部程序”部分中选择“合并工具”,然后选择“外部”无线电并提供以下命令行参数:
path\DiffMerge.exe /t1=Mine /t2=Base /t3=Theirs /r=%merged %mine %base %theirs
这将显示您的版本的三列,然后是基本版本,后跟存储库版本 - 允许您在休闲时将两侧的更改合并到中心...