如何:解决两个文件之间的冲突
更新:2007 年 11 月
Team Foundation 版本控制文件差异可能在合并、签入挂起的更改或获取操作过程中产生冲突。有关更多信息,请参见了解文件区别和冲突类型。下面的步骤演示如何解决这些文件差异。
必需的权限
若要执行这些过程,您必须将源树中项的“读取”权限和目标树中项的“签出”权限都设置为“允许”。如果要重命名目标树中的项,必须将源树和目标树的“签出”权限都设置为“允许”。如果涉及锁定,则您必须将“锁定”权限设置为“允许”。有关更多信息,请参见 Team Foundation Server 权限。
过程
解决文件差异
在“文件”菜单中,单击“源代码管理”,然后单击“继续解决冲突”。
说明: 如果源分支与目标分支之间存在任何差异,则会在合并或协调文件夹差异操作过程中自动打开“解决冲突”对话框。有关更多信息,请参见如何:合并文件和文件夹或如何:协调两个文件夹之间的区别。
“解决冲突”对话框中的“冲突”部分将列出具有冲突状态的文件。“冲突”部分提供了以下信息:
名称 列出文件名。
类型 列出冲突的类型:版本、文件名冲突或可写文件。有关更多信息,请参见了解文件区别和冲突类型。
说明 解释存在冲突的原因;例如,在合并操作中,源和目标都已进行了更改。
路径 列出文件位置的版本控制路径。
提示: 可以在“解决冲突”对话框中对这些列进行排序,以便更容易地按冲突类型或路径进行分组。若要对该列表进行排序,请单击要排序的列的标题。
执行下列步骤之一。
单击“自动合并所有项”自动合并具有冲突的所有文件。
如果收到一个显示“此冲突需要单独解决”的消息,则必须使用合并工具手动接受或拒绝更改。继续执行此过程的其余步骤。
- 或 -
- 单击“解决…”手动选择合并选项。
说明: 通过在按住 CTRL 键的同时单击其他文件,可以选择多个文件。此外,还可以按 CTRL+A 来选择冲突列表中的所有文件。
执行下列步骤之一。
多个文件 如果选择同时解决多个文件冲突,则会出现“解决所选冲突”对话框。此对话框最多包含三个“解决方法”下拉列表框,分别对应于要解决的每个冲突类型:“版本冲突”、“文件名冲突”或“可写文件”。有关更多信息,请参见了解文件区别和冲突类型。
提示: 在下拉列表框上方的标题旁边会显示一个用括号括起来的数字,该数字指示将处理的该类型冲突的数目。
从这些下拉列表框中选择下列解决方法之一:
解决方法选项
说明
为我合并更改
自动合并文件。如果系统检测到冲突,则必须选择其他选项之一。
撤消我的本地更改
忽略在您的本地工作区中对该文件所做的更改。
放弃服务器更改
忽略与本地工作区版本冲突的服务器版本文件。
单击“确定”。
- 或 -
单个文件 如果要解决单个文件上的冲突,会出现“解决版本冲突 - <文件名>”窗口。
或者,可以单击“比较”并单击“本地文件与其服务器版本”、“本地文件与其原始版本”或“服务器文件与其原始版本”,以便在“<时间戳> 与 <文件名> 之间的差异”[Difference between <timestamp> and <filename>]窗口中并排查看文件差异。
说明: 删除的文本为红色,更改的文本为蓝色,而插入的文本为绿色。
一旦了解了文件之间的冲突,请关闭“<时间戳> 与 <文件名> 之间的差异”[Difference between <timestamp> and <filename>]窗口。
在“解决方法选项”下选择以下选项之一:
解决方法选项
说明
为我合并更改
自动合并文件。如果系统检测到冲突,则会禁用此选项。
在合并工具中合并更改
提示您确定要接受的更改。如果选择此选项,则会出现合并工具。执行下面的在合并工具中合并更改过程。
撤消我的本地更改
忽略在您的本地工作区中对该文件所做的更改。
放弃服务器更改
忽略与本地工作区版本冲突的服务器版本文件。
单击“确定”。
重复这些步骤,直到“解决冲突”对话框中的所有冲突都已解决,然后单击“关闭”。
在合并工具中合并更改
在合并工具(其中的窗格显示两个突出显示冲突区域的文件)中,通过单击“下一个更改”找到这两个文件中的冲突。
查看两个文件版本之间的差异,并选择要在合并中保留的更改(通过选中该更改)。
该更改将放在下窗格中。
重复这些步骤直到解决了所有冲突,然后单击“确定”。
在“Microsoft Visual Studio”对话框中,单击“是”保存文件。
在“接受合并结果”对话框中,单击“是”保留合并的文件。