Label 命令(Team Foundation 版本控制)

将标签附加到 Team Foundation 版本控制 服务器中某个版本的文件或文件夹,或从中移除标签。

所需权限

若要使用 label 命令,您必须将**“标签”权限设置为“允许”。 若要修改或删除由其他用户创建的标签,您必须将“管理标签”权限设置为“允许”**。 有关更多信息,请参见 Team Foundation Server 权限

tf label labelname[@scope] [/owner:ownername] 
itemspec [/version:versionspec] [/comment:("comment"|@commentfile)] 
[/child:(replace|merge)] [/recursive] [login:username,[password]] [/collection:TeamProjectCollectionUrl]

tf label /delete labelname[@scope] 
itemspec [/login:username,[password]] [/collection:TeamProjectCollectionUrl]

参数

参数

说明

labelname

标识要为指定项附加、修改或移除的标签的名称。

@scope

指定一个 Team Foundation 版本控制服务器目录,标签名在其中是唯一的。 使用此参数可以在 Team Foundation 版本控制服务器的不同部分中存在两个具有相同名称的标签时,独立创建、管理、检索和删除一个标签或一组带标签的项。

ownername

/owner 选项提供一个值,如 DOMAIN\JuanGo 或 juango。

itemspec

标识要对其添加标签、重新添加标签或修改的文件或文件夹。 有关 Team Foundation 如何通过分析 itemspecs 确定范围内项的更多信息,请参见命令行语法(版本控制)

注意注意
可指定多个 Itemspec 参数。

versionspec

/version 选项提供一个值(如 c2)。 有关 Team Foundation 如何分析版本规范以确定哪些项在其范围内的更多信息,请参见命令行语法(版本控制)

comment

用户提供的关于标签的注释。

@commentfile

用户提供的包含签入注释的文件在磁盘上的路径。

username

/login 选项提供值。 可以按域\用户名或用户名的格式指定用户名值。

TeamProjectCollectionUrl

您要对其附加标签或从中删除标签的文件或文件夹的版本所在的指定团队项目集合中的 URL(例如,http://myserver:8080/tfs/DefaultCollection)。

选项

说明

/owner

指定标签所有者的用户名。

/version

可选。 指定应对其附加、修改标签或从中移除标签的文件或文件夹的版本。 这些值便是变更集值,如 C93。 默认情况下,如果未提供 versionspec,则 Team Foundation 使用基工作区版本。

/comment

添加或修改标签的说明或注释。

/child

标识如何处理已存在与指定的标签相同的标签的项。 使用 Replace 更新与现有标签对应的项的版本。 使用 Merge 可使带现有标签的项保持不变。

/recursive

为目录中与 itemspec 和 versionspec 匹配的所有项添加标签。

不能与 /delete 选项一起使用。

/delete

移除标签。

/login

指定用于在 Visual Studio Team Foundation Server 中验证用户身份的用户名和密码。

/collection

指定团队项目集合。

备注

标签是一种标记,您可以将其附加到 Team Foundation 版本控制服务器中一组无关的文件和文件夹。 使用标签可以简化为进行开发或生成而将这些文件和文件夹检索到工作区的过程。 因此,标签与变更集或日期/时间类似,您可以将它随意添加到文件和文件夹或从中移除,或在其中更改项的版本。 标签是一种版本规范,可以将其传递给下列 Team Foundation 命令:

常见类型的标签是里程碑标签,如“M1”、“Beta2”或“Release Candidate 0”。

标签是特定于版本的,即只能将一个标签附加到一个版本的文件或文件夹。 一个项的每个版本可以支持多个标签。

标签是不受版本管理的对象;因此,不会跟踪文件的标签历史记录。 此外,标签操作不会在工作区中创建挂起的更改。 当发出 label 命令后,Team Foundation 版本控制服务器中会立即反映出更新。

有关如何查找**“tf”**命令行实用工具的更多信息,请参见 Tf 命令行实用工具命令

移除和删除标签

您可以使用 Unlabel 命令 从文件或文件夹移除标签。 或者,您还可以使用 tf label /delete 命令从系统中删除标签。

有关现有标签的信息(包括已附加该标签的项列表以及标签的注释、范围和所有者),请参见Labels 命令

管理重载标签

在整个指定的范围内,标签名必须是唯一的。 添加一个标签时,在指定的或隐含的范围内保留使用此标签的名称。 @scope 参数的默认值是团队项目,如 $/TeamProject1。

如果其他团队或用户将常见标签(如“M3”)添加到 Team Foundation 版本控制服务器的其他部分中的一组受版本控制的文件,则只要根项目文件夹位于不同目录中,就可以将 M3 标签应用于您项目中受版本控制的文件。 例如,如果 $/math 目录中的文件添加了“M3”标签,则可以将“M3”标签应用到您的 $/projects 目录中的文件。

若要获取、移除标签或以其他方式管理添加了 M3 标签的项,应指定 @scope 参数以告知 Team Foundation 您要使用的 M3 标签。

您可以通过以下方法阻止其他用户在 Team Foundation 版本控制服务器的其他部分中“重载”标签(如“M3”):在 Team Foundation 版本控制服务器的根目录 ($/) 下创建标签,或调整特定文件夹的 Label 权限。

使用 /Child 选项避免标签错误

如果在发出 label 命令的同时使用预先存在的标签名和一个包括已由同一标签标记的文件的 itemspec,则由 /child 选项值确定是否使用新的修订信息更新已标记的文件。 即,这些文件的标签名相同,但具有不同的范围。

例如,假定存在名为 c:\projects 的文件夹,其中包含两个文件:314.cs 和 271.cs。 同时假定 314.cs 的版本 C70 的标签为“ready”。314.cs 的最新版本为版本 C93。 如果使用以下命令将“ready”标签应用于文件夹以及它所包含文件的最新版本,则“ready”标签将从 314.cs;C70 移到 314.cs;C93:

tf label ready c:\projects /recursive /version:T /child:Replace

另一方面,如果不希望将现有标签“ready”从 314.cs 的版本 C70 移到版本 C93,则应使用下面的语法:

tf label ready c:\projects /recursive /version:T /child:Merge

Merge 指定为 /child 选项的值时,已发出的标签的现有实例保持不变。

提示

在以上两个示例中,T 表示用于获取 versionspec 的最新版本的“Tip”。

示例

下面的示例将“goodbuild”标签附加到“docs”文件夹及其包含的文件和文件夹的工作区版本。

c:\projects>tf label goodbuild docs /recursive

下面的示例只将“goodbuild”标签附加到“docs”文件夹,不包括“docs”文件夹包含的文件和文件夹。

c:\projects>tf label goodbuild docs

下面的示例将“goodbuild”标签附加到 Team Foundation 版本控制服务器中的 314.cs 的版本 3。

c:\projects>tf label goodbuild /version:3 $/src/314.cs

下面的示例从 Team Foundation 版本控制服务器中的所有项删除“badbuild”标签。

c:\projects>tf label /delete badbuild

下面的示例使用范围选项将标签应用到 314.cs。

c:\projects>tf label goodbuild@$/TeamProject1 314.cs

请参见

参考

命令行语法(版本控制)

Labels 命令

Unlabel 命令

概念

使用标签获取文件快照

使用标签获取文件快照

其他资源

Tf 命令行实用工具命令