Resolve 命令(Team Foundation 版本控制)

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Team Foundation 版本控制 (TFVC) tf resolve 命令可用于解决工作区中已更改的项与服务器上项的最新版本或目标版本之间的冲突。

先决条件

若要使用 resolve 命令,必须是工作区所有者,或者将全局“管理工作区”权限设置为“允许”。 还必须将解决操作中涉及的项的“读取”和“签出”权限设置为“允许”。 有关详细信息,请参阅默认 TFVC 权限

语法

tf resolve [itemspec] 
[/auto:(AutoMerge|TakeTheirs|KeepYours|OverwriteLocal|DeleteConflict|KeepYoursRenameTheirs)] 
[/preview] [(/overridetype:overridetype | /converttotype:converttype] [/recursive] [/newname:path] [/noprompt] [/login:username, [password]]

参数

参数

Argument

说明

<itemspec>

用于标识要解决版本冲突的文件或文件夹。 如果省略,则包含所有存在冲突的项。 若要详细了解 TFVC 如何分析 itemspec 以确定哪些项在范围内,请参阅使用 Team Foundation 版本控制命令

注意

可指定多个 itemspec 参数。

<overridetype>

/overridetype 选项一起使用。 指定所涉及文件的编码类型,例如 binary

<converttype>

/converttotype 选项一起使用。 指定编码类型,例如 unicode

<path>

/newname 选项一起使用。 指定受影响文件或文件夹的新路径。

<username>

/login 选项提供值。 可以将用户名值指定为 DOMAIN\usernameusername

选项

选项

说明

/auto

使用以下选项之一解决当前工作区中指定项的不同版本之间的未解决冲突。

如果因为文件是二进制文件,或者因为工作区和服务器版本包含重叠的内容更改,而无法自动协调差异,则在选择其中一个手动合并选项之前,冲突仍无法解决。

  • AutoMerge:自动协调项的指定工作区版本与最新服务器版本之间的非重叠内容差异。

  • TakeTheirs 指示 TFVC 使用服务器修订覆盖工作区修订。 对于通过运行 merge 命令生成的冲突,此选项接受来自合并源的更改并覆盖目标中的更改。

  • KeepYours 指示 TFVC 保留你的更改并放弃项的服务器版本中的更改。 对于通过运行 merge 命令生成的冲突,此选项放弃来自合并源的更改并保持目标不变。

  • OverwriteLocal 使用服务器版本覆盖工作区中的文件。 可以使用此选项来解决由工作区中的可写文件引起的冲突。

  • DeleteConflict 从冲突表和选项/说明表中删除冲突。

  • KeepYoursRenameTheirs 接受你的文件的内容和名称,并将其文件重命名为你指定的新名称。 此选项需要单项 filespec,并且你还必须包含 /newname 选项。

/preview

显示当前冲突但不对它们执行任何操作。

/overridetype

为三向合并中涉及的文件指定可选编码。 这些文件被视为指定的编码。 必须确定正确的编码。 TFVC 将生成的合并输出以指定的编码保存在工作区中。 有关文件编码的详细信息,请参阅管理文件类型

注意

不能同时指定 /overridetype/converttotype

/converttotype

指定用于在三向合并操作中对输入进行临时转换的编码。 合并输出以指定的编码保存在工作区中。 该选项是高级选项,很少使用。 有关文件编码的详细信息,请参阅管理文件类型

注意

不能同时指定 /overridetype/converttotype

/recursive

解析特定目录和子目录中的项。

/newname

解决名称冲突。 只能与 AutoMergeKeepYoursRenameTheirs 结合使用。 对于 AutoMerge/newname 仅对涉及重命名和/或取消删除的冲突有效。 如果使用,则必须提供新的 path

/login

指定用户名和密码,以便使用 Azure DevOps 对用户进行身份验证。

/noprompt

禁止显示输入的任何提示。

注解

可以使用 resolve 命令为与服务器版本冲突的挂起的更改选择解决方案。

如果在获取、签入或合并操作期间检测到你的版本与目标服务器上的版本之间存在版本冲突,则会提示你使用 resolve 命令选择冲突解决方案。 必须先解决冲突,然后才能签入挂起的更改。

有关如何使用 tf 命令行实用工具的详细信息,请参阅使用 Team Foundation 版本控制命令

示例

以下示例在 Visual Studio 中打开“解决冲突”对话框,以便你可以告诉 TFVC 如何处理与服务器版本冲突的挂起的更改。

tf resolve

以下示例尝试通过自动合并更改来解决所有冲突。

tf resolve /auto:automerge