共用方式為


Branch 命令

更新:2007 年 11 月

branch 命令可在 Team Foundation 版本控制伺服器和本機工作區 (Workspace) 中,將一個或一組項目 (包括中繼資料 (Metadata) 和版本控制記錄) 從一個位置複製到另一個位置。

注意事項:

在您執行簽入作業後,這個命令的結果才會反映在 Team Foundation 版本控制伺服器中。如需詳細資訊,請參閱 HOW TO:簽入暫止的變更

必要的使用權限

若要使用 branch 命令,您必須將來源項目的 [讀取] 權限和目標資料夾的 [簽出] 權限設定為 [允許]。如需詳細資訊,請參閱 Team Foundation Server 使用權限

tf branch olditem newitem [/version:versionspec] [/noget] [/lock:none|checkin|checkout] [/checkin] [/noprompt]

參數

引數

說明

olditem

指定要分支的來源檔案或資料夾的名稱。olditem 還可能以 item;version 的格式包含版本資訊。

Newitem

指定目的檔案或資料夾或該資料夾的父資料夾的名稱。如果 newitem 已經存在,而且是 Team Foundation 版本控制伺服器資料夾,則 Team Foundation 會在其中建立分支的項目。否則,newitem 會指定目的檔案或資料夾的名稱。如果目的已經存在,可能會在簽入時發生衝突。

Versionspec

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

選項

說明

/version

要在該位置建立分支的項目的版本。您可以藉由下列各項指定版本:

  • 日期/時間 (D10/20/2005)。

  • 變更集編號 (C1256)。

  • 標籤 (Lmylabel)。

  • 最新的版本 (T)。

  • 工作區 (Wworkspacename)。

如果沒有提供版本,Team Foundation 會使用下列邏輯決定要複製到新分支的項目版本:

  • 如果指定了 Team Foundation 版本控制伺服器路徑,則 Team Foundation 會在最新的 Team Foundation 版本控制伺服器版本將項目分支。例如,tf branch $/projects/help.cs 會使用伺服器版本。

  • 如果為來源指定了本機路徑,則 Team Foundation 會使用本機的工作區版本建立新分支。例如,tf branch C:\314.cs 會使用本機的工作區版本。

如果分支檔案的工作區版本比 Team Foundation 版本控制伺服器中的最新版本舊,該檔案會於較舊的版本分支。

/lock

防止其他使用者簽入或簽出項目,直到您簽入暫止的分支和關聯的變更。如需詳細資訊,請參閱瞭解鎖定類型

鎖定選項:

  • None

    預設值。沒有套用任何鎖定。如果您要為其建立分支的檔案上存在鎖定,此選項就會移除該鎖定。

  • Checkin

    雖然其他使用者可以簽出指定的項目,不過在您透過執行簽入而解除鎖定以前,他們無法將修訂項目簽入鎖定的檔案。如果任何其他使用者已經鎖定其中一個指定的項目,則鎖定作業就會失敗。

  • Checkout

    避免其他使用者在您藉由執行簽入而釋出鎖定前,簽入或簽出任何指定的項目。如果有任何其他使用者已鎖定任何的指定項目,鎖定作業就會失敗。

/noget

如果指定這個選項,則新分支中檔案和資料夾的本機複本都不會建立於本機工作區中。不過,下次在您執行遞迴的 Get 作業時,本機複本將會擷取到工作區中。

注意事項:

您可以藉由隱匿工作區資料夾,在遞迴的 Get 和 Get Latest 作業期間避免項目 (例如 /images 資料夾的內容) 擷取到工作區中。如需詳細資訊,請參閱 Workfold 命令

/checkin

僅適用於 Microsoft Visual Studio Team System 2008 Team Foundation Server Service Pack 1 版。

在建立分支的同時,簽入分支動作。

/noprompt

抑制任何要求您輸入的提示。

備註

如果指定本機路徑 (例如:c:\00101) 但沒有指定 versionspec,Team Foundation 將使用本機工作區版本當做建立新分支的基礎。

然而,如果指定伺服器路徑 (例如:$/00101/*.cs),但沒有指定 versionspec,則 Team Foundation 將改用最新的 Team Foundation 版本控制伺服器版本當做建立新分支的基礎。

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

範例

下列範例會建立包含 314.cs 最新工作區版本的分支檔案,將檔案命名為 "314_branch",然後儲存在目前的磁碟目錄以及它所對應到的 Team Foundation 版本控制伺服器資料夾。

c:\projects>tf branch 314.cs 314_branch

下列範例將在不暫止編輯 314.cs 工作區版本的情況下,將所有檔案從目前的 Team Foundation 版本控制伺服器資料夾複製到 testdata Team Foundation 版本控制伺服器資料夾,以及從磁碟上目前的目錄複製到對應至 testdata Team Foundation 版本控制伺服器資料夾的工作資料夾。

c:\projects>tf branch C:\314.cs $/testdata

下列範例將在不暫止編輯 testfiles 資料夾目前的工作區版本,以及其包含之所有項目檔案的情況下,將所有檔案從目前的 Team Foundation 版本控制伺服器資料夾複製到 testfiles_branch Team Foundation 版本控制伺服器資料夾,以及從 c:\testfiles 複製到對應至 testfiles_branch Team Foundation 版本控制伺服器資料夾的本機資料夾。

c:\projects>tf branch C:\testfiles $/testfiles_branch

當 314.cs 已存在於檔案的變更集 #4 中時,下列範例會建立 314.cs 的分支。在磁碟的工作資料夾中 (如同在 Team Foundation 版本控制伺服器中),會建立名為 csharp_branch 的分支檔案。

c:\projects>tf branch C:\314.cs;C4 csharp_branch

下列範例建立 2003 年 12 月 12 日時的 314.cs 新分支。在磁碟的工作資料夾中 (如同在 Team Foundation 版本控制伺服器中),會建立名為 314_branch 的分支檔案。

c:\projects>tf branch 314.cs;D12/12/03 314_branch

下列範例會將 314.cs 的版本分支為套用了 "Beta1" 標籤的版本,將其命名為 "Beta1branch",並儲存到目前的磁碟目錄以及目前目錄對應到 Team Foundation 版本控制伺服器資料夾。

c:\projects>tf branch 314.cs;LBeta1 314_Beta1branch

請參閱

工作

逐步解說:版本控制的進階功能

逐步解說:從命令列使用 Team Foundation 版本控制

HOW TO:分支檔案和資料夾

概念

瞭解分支

使用版本控制變更集

參考

Branches 命令

Merge 命令

其他資源

Tf 命令列公用程式命令