分支命令 (Team Foundation 版本控制)
Azure DevOps Services |Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 |Visual Studio 2022
TFVC branch
命令會將專案或專案集,包括元數據和版本控制歷程記錄,從 Azure DevOps 伺服器和本機工作區中的一個位置複製到另一個位置。
注意
除非您執行簽入作業,否則此命令的結果不會反映在 Azure DevOps 伺服器中。 如需詳細資訊,請參閱 將工作簽入小組的程式代碼基底。
先決條件
若要使用 branch
命令,請具有來源專案的 讀取 許可權,以及 簽出 和 合併 許可權,讓目標資料夾設為 Allow。 如需詳細資訊,請參閱 預設 TFVC 權限。
語法
tf branch olditem newitem [/version:versionspec] [/noget] [/lock:(none|checkin|checkout)] [/noprompt] [/silent] [/checkin] [/comment:("comment"|@commentfile)] [/author:authorname] [/login:username, [password]] [/recursive]
參數
論點
自變數 | 描述 |
---|---|
<olditem> |
指定要分支的來源檔案或資料夾名稱。
<olditem> 也可能包含格式為 item;version 的版本資訊。 |
<newitem> |
指定目的地檔案或資料夾的名稱或目的地的父資料夾。 如果 <*newitem> 已經存在,而且是 Azure DevOps Server 資料夾,TFVC 會在其中建立分支專案。 否則,<newitem> 指定目的地檔案或資料夾的名稱。 如果目的地已經存在,則簽入期間可能會發生衝突。 |
<versionspec> |
提供 /version 選項的值。 如需 TFVC 如何剖析版本規格以判斷其範圍內哪些專案的詳細資訊,請參閱 使用 Team Foundation 版本控制命令。 |
<comment> |
提供分支的相關批注。 |
@<commentfile> |
指定檔案的路徑,其中包含用於分支的批注。 |
<authorname> |
/author 選項的使用者提供值。 |
<username> |
提供值給 [/login ] 選項。 您可以將使用者名稱值指定為 DOMAIN\username 或 <username> 。 |
選擇
選項
描述
/version
您要在其中建立分支的專案版本。 您可以透過下列方式指定版本:
- 日期/時間(D10/20/20/2005)
- 變更集編號 (C1256)
- 標籤 (Lmylabel)
- 最新版本 (T)
- 工作區 (Wworkspacename)
如果未提供版本,TFVC 會使用下列邏輯來決定要複製到新分支的專案版本:
- 如果指定了 Azure DevOps Server 路徑,則 TFVC 會將專案分支至最新的 Azure DevOps Server 版本。 例如,
tf branch $/projects/help.cs
使用伺服器版本。 - 如果為來源指定本機路徑,TFVC 會使用本機工作區版本來建立新的分支。 例如,
tf branch C:\314.cs
使用本機工作區版本。
如果您將工作區版本早於 Azure DevOps 伺服器中最新版本的檔案分支,則會在舊版分支檔案。
/lock
防止其他使用者簽入或簽出專案,直到您簽入擱置的分支和相關聯的變更為止。 如需詳細資訊,請參閱 瞭解鎖定類型。
鎖定選項:
none
違約。 未套用鎖定。 如果您要建立分支的檔案上存在鎖定,此選項會將其移除。checkin
其他使用者可以簽出指定的專案,但除非您執行簽入來釋放鎖定,否則無法簽入鎖定的檔案修訂。 如果任何其他使用者已鎖定任何一個指定的專案,鎖定作業就會失敗。checkout
防止其他使用者簽入或取出任何一個指定的專案,直到您執行簽入來釋放鎖定為止。 如果任何其他使用者已鎖定任何一個指定的專案,鎖定作業就會失敗。
/noget
如果指定此選項,則不會在本機工作區中建立新分支中檔案和資料夾的本機複本。 不過,下次執行遞歸取得作業時,本機複本將會擷取到工作區。
注意
您可以防止 /images 資料夾等專案在遞歸取得期間擷取至工作區,並藉由遮蓋工作區資料夾來取得最新的作業。 如需詳細資訊,請參閱 Workfold 命令。
/noprompt
隱藏您輸入的任何提示。
/silent
表示 /noget
,並指定當您建立分支時,輸出不會寫入命令提示字元視窗。
/checkin
在分支中建立並檢查一項作業中的伺服器。 此選項不會在本機工作區中建立任何擱置中的變更。
/comment
將批註新增至新的分支。 此選項僅與 /checkin
選項搭配使用。
/author
識別新分支的作者。 此選項僅與 /checkin
選項搭配使用。
/recursive
如果是資料夾,請將所有檔案都分支在內。
言論
如果您指定本機路徑,例如 c:\00101 但未指定 <versionspec>
,TFVC 會使用本機工作區版本作為建立新分支的基礎。
不過,如果您指定伺服器路徑,例如 $/00101/*.cs,但未指定 <versionspec>
,TFVC 會使用最新的 Azure DevOps Server 版本作為建立新分支的基礎。
如需如何使用 tf
命令行公用程式的詳細資訊,請參閱 使用 Team Foundation 版本控制命令。
例子
下列範例假設 c:\projects
對應至工作區中的主資料夾。
下列範例會建立一個分支檔案,其中包含最新工作區版本的 314.cs、將它命名為 314_branch,並將它儲存至磁碟上的目前目錄,以及儲存至其對應的 Azure DevOps Server 資料夾。
c:\projects>tf branch 314.cs 314_branch
下列範例會將工作區版本 314.cs 中的所有檔案,從目前的 Azure DevOps Server 資料夾複製到 testdata Azure DevOps Server 資料夾,以及從磁碟上目前目錄複製到對應至 testdata Azure DevOps Server 資料夾的工作資料夾。
c:\projects>tf branch C:\314.cs $/testdata
下列範例會將目前工作區版本 testfiles 資料夾中的所有檔案,以及其目前 Azure DevOps Server 資料夾包含的所有專案檔案複製到 testfiles_branch Azure DevOps Server 資料夾,以及從 c:\testfiles 複製到對應至 testfiles_branch Azure DevOps Server 資料夾的本機資料夾。
c:\projects>tf branch C:\testfiles $/testfiles_branch
下列範例會建立 314.cs 分支,因為它存在於檔案的 changeset #4 中。 在磁碟上的工作資料夾中,如同在 Azure DevOps 伺服器中,會建立標題為 csharp_branch 的分支檔案。
c:\projects>tf branch C:\314.cs;C4 csharp_branch
下列範例會在 12/12/03 上建立 314.cs 的新分支。 在磁碟上的工作資料夾中,建立標題為 314\branch 的分支檔案。
c:\projects>tf branch 314.cs;D12/12/03 314_branch
下列範例會分支套用 Beta1
標籤 314.cs 版本、將它命名 為 beta1branch,並將它儲存至磁碟上的目前目錄,以及目前目錄所對應的 Azure DevOps Server 資料夾。
c:\projects>tf branch 314.cs;LBeta1 314_Beta1branch