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

指定擁有唯一 labelname 的 Team Foundation 版本控制伺服器目錄。 當兩個相同名稱的標籤位於 Team Foundation 版本控制伺服器的不同部分時,這個參數可以讓您獨立地建立、管理、擷取和刪除一個標籤或一組標籤項目。

ownername

/owner 選項提供例如 DOMAIN\JuanGo 或只是 juango 的值。

itemspec

辨別要從其建立標籤、重新建立標籤或修改的檔案或資料夾。 如需 Team Foundation 如何剖析 itemspecs 以便判斷哪些項目位於範圍內的詳細資訊,請參閱命令列語法 (版本控制)

注意事項注意事項
您可以指定一個以上的 Itemspec 引數。

versionspec

提供 /version 選項的值 (例如:c2)。 如需 Team Foundation 如何剖析版本規格以便判斷哪些項目位於範圍內的詳細資訊,請參閱命令列語法 (版本控制)

comment

關於標籤的使用者提供註解。

@commentfile

磁碟上檔案的使用者提供路徑,檔案中包含用於簽入的註解。

username

提供 /login 選項的值。 您可以將使用者名稱值指定成網域\ 使用者名稱或使用者名稱的格式。

TeamProjectCollectionUrl

指定之 Team 專案集合的 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 專案集合。

備註

標籤是一個標記,可以附加至 Team Foundation 版本控制伺服器中一組不相關的檔案和資料夾。 使用標籤可簡化開發或建置為目的的工作區擷取。 因此,標籤就像變更集或日期/時間,您可對其任意地加入或移除檔案和資料夾,或變更其中項目的版本。 標籤是可傳遞至下列 Team Foundation 命令的版本規格:

常見的標籤類型是 "M1"、"Beta2" 或 "Release Candidate 0" 等里程碑標籤。

標籤是版本專屬的項目,也就是說您只能將標籤附加到單一的檔案或資料夾版本。 項目的每一個版本都可以支援多個標籤。

標籤並非已建立版本的物件;因此並不會追蹤檔案的標籤記錄。 此外,標籤作業並不會在工作區內建立暫止的變更。 當您發出 label 命令後,Team Foundation 版本控制伺服器中就會立即反映更新。

如需如何尋找 tf 命令列公用程式的詳細資訊,請參閱 Tf 命令列公用程式命令

移除和刪除標籤

您可以使用 Unlabel 命令從檔案或資料夾移除標籤。 或者,您可以使用 tf label /delete 命令從系統刪除標籤。

如需現有標籤的相關資訊,包含該標籤已附加至的項目的清單,及其註解、範圍和擁有人等,請參閱 Labels 命令

管理多載標籤

標籤名稱在指定的 scope 內必須是唯一的。 當您加入標籤時,便會在指定或隱含的 scope 之下,保留該標籤名稱的使用。 @scope 參數的預設值為 Team 專案,例如:$/TeamProject1。

如果其他的小組或使用者對 Team Foundation 版本控制伺服器不同部分中的一組版本控制檔案加入 "M3" 之類的共用標籤,則只要專案的根資料夾是在不同的目錄中,就可以對專案中的版本控制檔案套用 M3 標籤。 例如,如果 $/math 目錄中的檔案擁有 "M3" 的標籤,就可以將 "M3" 套用至 $/projects 目錄中的檔案。

若要取得或移除標籤,或是管理具有 M3 標籤的項目,則應該指定 @scope 參數,告知 Team Foundation 您想要使用的 M3 標籤。

您可以藉著在 Team Foundation 版本控制伺服器的根 ($/) 建立標籤,或針對特定的資料夾調整 Label 權限的方式,防止其他使用者在 Team Foundation 版本控制伺服器的不同部分「多載」標籤 (例如 "M3")。

使用 /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 選項的值時,就會保留已發出標籤的現有執行個體 (Instance)。

注意事項注意事項

在上面兩個範例中,T 用來表示 "Tip",可取得 versionspec 的最新版本。

範例

下列範例會將 "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 命令列公用程式命令