共用方式為


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