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 |
要在該位置建立分支的項目的版本。 您可以藉由下列各項指定版本:
如果沒有提供版本,Team Foundation 會使用下列邏輯決定要複製到新分支的項目版本:
如果分支檔案的工作區版本比 Team Foundation 版本控制伺服器中的最新版本舊,該檔案會於較舊的版本分支。 |
/lock |
防止其他使用者簽入或簽出項目,直到您簽入暫止的分支和關聯的變更。 如需詳細資訊,請參閱認識鎖定類型。 鎖定選項:
|
/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