如何:解决两个文件之间的冲突

更新:2007 年 11 月

Team Foundation 版本控制文件差异可能在合并、签入挂起的更改获取操作过程中产生冲突。有关更多信息,请参见了解文件区别和冲突类型。下面的步骤演示如何解决这些文件差异。

必需的权限

若要执行这些过程,您必须将源树中项的“读取”权限和目标树中项的“签出”权限都设置为“允许”。如果要重命名目标树中的项,必须将源树和目标树的“签出”权限都设置为“允许”。如果涉及锁定,则您必须将“锁定”权限设置为“允许”。有关更多信息,请参见 Team Foundation Server 权限

过程

解决文件差异

  1. 在“文件”菜单中,单击“源代码管理”,然后单击“继续解决冲突”。

    说明:

    如果源分支与目标分支之间存在任何差异,则会在合并或协调文件夹差异操作过程中自动打开“解决冲突”对话框。有关更多信息,请参见如何:合并文件和文件夹如何:协调两个文件夹之间的区别

    “解决冲突”对话框中的“冲突”部分将列出具有冲突状态的文件。“冲突”部分提供了以下信息:

    • 名称   列出文件名。

    • 类型   列出冲突的类型:版本、文件名冲突或可写文件。有关更多信息,请参见了解文件区别和冲突类型

    • 说明   解释存在冲突的原因;例如,在合并操作中,源和目标都已进行了更改。

    • 路径   列出文件位置的版本控制路径。

      提示:

      可以在“解决冲突”对话框中对这些列进行排序,以便更容易地按冲突类型或路径进行分组。若要对该列表进行排序,请单击要排序的列的标题。

  2. 执行下列步骤之一。

    1. 单击“自动合并所有项”自动合并具有冲突的所有文件。

      如果收到一个显示“此冲突需要单独解决”的消息,则必须使用合并工具手动接受或拒绝更改。继续执行此过程的其余步骤。

    - 或 -

    1. 单击“解决…”手动选择合并选项。
    说明:

    通过在按住 CTRL 键的同时单击其他文件,可以选择多个文件。此外,还可以按 CTRL+A 来选择冲突列表中的所有文件。

  3. 执行下列步骤之一。

    1. 多个文件   如果选择同时解决多个文件冲突,则会出现“解决所选冲突”对话框。此对话框最多包含三个“解决方法”下拉列表框,分别对应于要解决的每个冲突类型:“版本冲突”、“文件名冲突”或“可写文件”。有关更多信息,请参见了解文件区别和冲突类型

      提示:

      在下拉列表框上方的标题旁边会显示一个用括号括起来的数字,该数字指示将处理的该类型冲突的数目。

      从这些下拉列表框中选择下列解决方法之一:

      解决方法选项

      说明

      为我合并更改

      自动合并文件。如果系统检测到冲突,则必须选择其他选项之一。

      撤消我的本地更改

      忽略在您的本地工作区中对该文件所做的更改。

      放弃服务器更改

      忽略与本地工作区版本冲突的服务器版本文件。

      单击“确定”。

    - 或 -

    1. 单个文件   如果要解决单个文件上的冲突,会出现“解决版本冲突 - <文件名>”窗口。

      或者,可以单击“比较”并单击“本地文件与其服务器版本”、“本地文件与其原始版本”或“服务器文件与其原始版本”,以便在“<时间戳> 与 <文件名> 之间的差异”[Difference between <timestamp> and <filename>]窗口中并排查看文件差异。

      说明:

      删除的文本为红色,更改的文本为蓝色,而插入的文本为绿色。

      一旦了解了文件之间的冲突,请关闭“<时间戳> 与 <文件名> 之间的差异”[Difference between <timestamp> and <filename>]窗口。

      在“解决方法选项”下选择以下选项之一:

      解决方法选项

      说明

      为我合并更改

      自动合并文件。如果系统检测到冲突,则会禁用此选项。

      在合并工具中合并更改

      提示您确定要接受的更改。如果选择此选项,则会出现合并工具。执行下面的在合并工具中合并更改过程。

      撤消我的本地更改

      忽略在您的本地工作区中对该文件所做的更改。

      放弃服务器更改

      忽略与本地工作区版本冲突的服务器版本文件。

      单击“确定”。

  4. 重复这些步骤,直到“解决冲突”对话框中的所有冲突都已解决,然后单击“关闭”。

在合并工具中合并更改

  1. 在合并工具(其中的窗格显示两个突出显示冲突区域的文件)中,通过单击“下一个更改”找到这两个文件中的冲突。

  2. 查看两个文件版本之间的差异,并选择要在合并中保留的更改(通过选中该更改)。

    该更改将放在下窗格中。

  3. 重复这些步骤直到解决了所有冲突,然后单击“确定”。

  4. 在“Microsoft Visual Studio”对话框中,单击“是”保存文件。

  5. 在“接受合并结果”对话框中,单击“是”保留合并的文件。

请参见

任务

如何:协调两个文件夹之间的区别

如何:合并文件和文件夹

如何:获取团队项目的源代码

参考

Resolve 命令

“挂起签入”窗口

其他资源

解决文件夹区别和文件冲突(Team Foundation 版本控制)