分支命令 (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
命令,您必須擁有 來源專案的 [讀取 ] 許可權,並將 目標資料夾的 [取出 ] 和 [合併 ] 權限設定為 [允許]。 如需詳細資訊,請參閱 預設 TFVC 許可權。
語法
tf branch olditem newitem [/version:versionspec] [/noget] [/lock:(none|checkin|checkout)] [/noprompt] [/silent] [/checkin] [/comment:("comment"|@commentfile)] [/author:authorname] [/login:username, [password]] [/recursive]
參數
引數
Argument | 說明 |
---|---|
<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的新分支。 在磁碟上的工作資料夾中,如同在 Azure DevOps 伺服器中,會建立標題 為 314\branch 的分支 檔案。
c:\projects>tf branch 314.cs;D12/12/03 314_branch
下列範例會分支套用標籤的314.csBeta1
版本、將它命名為 Beta1branch,並將它儲存至磁碟上的目前目錄,以及目前目錄所對應的 Azure DevOps Server 資料夾。
c:\projects>tf branch 314.cs;LBeta1 314_Beta1branch