Share via


Branch 命令

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

注意事項注意事項

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

必要的使用權限

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

tf branch olditem newitem [/version:versionspec] [/noget] [/lock:(none|checkin|checkout)] [/noprompt] [/silent] [/checkin] [/comment:("comment"|@commentfile)] [/author:authorname] [/login:username, [password]]

參數

引數

描述

olditem

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

newitem

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

versionspec

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

comment

提供有關分支的註解。

@commentfile

指定磁碟上檔案的路徑,此檔案包含用於分支的註解。

authorname

/author 選項的使用者提供值。

username

提供 /login 選項的值。 您可以將使用者名稱值指定成網域\ 使用者名稱或使用者名稱的格式。

選項

描述

/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 命令

/noprompt

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

/silent

隱含 /noget,並指定不會在建立分支時將輸出寫入 [命令提示字元] 視窗。

/checkin

在單一作業中建立分支並將其簽入至伺服器。 這個選項不會在本機工作區中建立任何暫止變更。

/comment

將註解加入至新分支。 這個選項只能與 /checkin 選項搭配使用。

/author

識別新分支的作者。 這個選項只能與 /checkin 選項搭配使用。

備註

如果指定本機路徑 (例如: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

下列範例會建立 314.cs 的新分支,此分支就和在 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

請參閱

工作

分支資料夾和檔案

參考

Branches 命令

Merge 命令

概念

使用變更集

其他資源

Tf 命令列公用程式命令