共用方式為


分支命令 (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