Team Foundation 版本控制命令參考
您可以使用版本控制命令進行幾乎所有可以在 Visual Studio 中執行的工作,以及 Visual Studio 無法完成的工作。您可以使用 tf.exe 工具從命令提示字元或在指令碼內執行版本控制命令。
您想要怎麼做?
執行命令
建立您的 dev 機器
開發應用程式
暫停工作
貢獻您的成果
管理檔案和解決問題
隔離風險
了解命令語法
指定命令影響的項目
使用項目規格引數指定受影響的項目。
使用版本規格引數指定項目受影響的版本
如何使用選項修改命令如何運行
使用/noprompt 選項隱藏資料輸入要求和輸出重新導向至資料命令提示字元視窗。
當執行命令時,請使用/login 選項指定認證。
使用/lock 選項套用或移除鎖定
使用選項捷徑
了解結束代碼
執行命令
若要啟動 Visual Studio 命令提示字元,從視窗 [開始],選取 [Microsoft Visual Studio 2012], [Visual Studio 工具],然後選取其中一個 [命令提示字元] 捷徑。
在許多情況下,您在工作區對應的目錄的內容中執行版本控制命令。例如,$/SiteApp/Main/'對應'c:\code\SiteApp\Main\。取得所有項目的最新版本:在工作區:
c:\code\SiteApp\Main\SolutionA>tf get
注意事項 |
---|
我們現在無法重新發行部分主題。不過,您可以閱讀這些主題的 Visual Studio 2010 版本。 |
設定您的 dev 電腦並管理工作區
您的工作區為小組的基礎碼的本機複本。由於是在您的 dev 電腦的本機複本,您可以開發,並測試您的隔離的程式碼,直到您已準備好簽入您的工作。以下是一些命令來管理您的工作區:
Proxy Command(Visual Studio 2010)
WorkFold Command(Visual Studio 2010)
Workspace Command(Visual Studio 2010)
Workspaces Command(Visual Studio 2010)
請參閱設定開發電腦並開始使用版本控制管理工作區 。
開發應用程式
使用這些命令部署您的應用程式都會以您小組的版本控制下:
Add 命令
將檔案和資料夾加入版本控制。Checkout (或 Edit) 命令
簽出檔案並變更它的暫止變更狀態以進行"編輯"。Delete 命令 (Team Foundation 版本控制)(Visual Studio 2010)
Get 命令
從(下載)有一個或多個檔案或從Team Foundation Server到工作區資料夾最新或指定的版本 。Rename 命令 (Team Foundation 版本控制)(Visual Studio 2010)
Status 命令
如需暫止變更的顯示資訊的檔案和資料夾項目在一或多個工作區,將擱置集。Undo 命令
捨棄對檔案或資料夾的一或多個暫止的變更。Undelete Command(Visual Studio 2010)
請參閱 在受到版本控制的程式碼庫中開發應用程式。
暫停工作
因為各種理由,有時候需要保留某些或所有的未完成的工作。若要暫停和繼續您的工作和管理您的擱置集,請使用下列命令:
Shelve 命令(Visual Studio 2010)
Shelvesets Command(Visual Studio 2010)
Unshelve 命令(Visual Studio 2010)
請參閱:暫停工作和管理擱置集。
貢獻您的成果
此如何簽入程式碼到小組的基礎碼:
- Checkin 命令
簽入您檔案或資料夾的暫止變更至伺服器。
請參閱 將工作成果簽入小組的程式碼庫。
管理檔案和解決問題
檢視和管理版本控制檔案和資料夾
Properties 命令(Visual Studio 2010)
屬性命令 (未提供文件)
Dir Command(Visual Studio 2010)
Destroy Command(Visual Studio 2010)
LocalVersions Command(Visual Studio 2010)
請參閱 使用原始檔控制總管來管理版本控制下的檔案。
檢視和管理過往的版本
Changeset Command(Visual Studio 2010)
History 命令
顯示一或多個檔案和資料夾的修訂記錄。Label Command(Visual Studio 2010)
Labels Command(Visual Studio 2010)
Rollback Command(Visual Studio 2010)
Unlabel Command(Visual Studio 2010)
View Command(Visual Studio 2010)
請參閱 檢視和管理過往的版本。
比較資料夾和檔案
Difference Command(Visual Studio 2010)
Folderdiff Command(Visual Studio 2010)
請參閱 檢視和管理過往的版本。
解決檔案衝突
Resolve Command(Visual Studio 2010)請參閱:解決檔案衝突。
使用版本控制鎖定
Lock Command(Visual Studio 2010)請參閱:使用版本控制鎖定。
隔離風險
使用下列命令來隔離風險使用分支:
Branch Command(Visual Studio 2010)
Branches Command(Visual Studio 2010)
Merge Command(Visual Studio 2010)
Merges Command(Visual Studio 2010)
請參閱:使用分支隔離風險。
執行版本控制
使用下列命令管理您的版本控制系統:
Configure Command(Visual Studio 2010)
Permission Command(Visual Studio 2010)
(請參閱 管理 Team Foundation 版本控制Visual Studio 2010)
在版本控制命令中得到協助
使用下列命令取得有關版本控制命令的詳細資訊:。
Help Command(Visual Studio 2010)
Msdn Command(Visual Studio 2010)
了解命令語法
每個命令語法出現在每一個參考主題上方的。
必要和選擇性引數
非括住的引數是必要的。[Brackets] 表示對完成命令沒有必要的選擇性引數。不過,某些選擇性引數會套用至這個命令的預設,即使您未指定這個選項。
專案屬性引數
當選項被管道分隔 (|) ,您可以指定其中一個選項:
常值和可置換的引數。
粗體項目則是您逐字納入的選項。Italicized 項目表示引數,您必須以執行命令的實際字元取代這些項目。
命令捷徑和別名
某些命令支援快速鍵。例如,您可以用tf delete或tf del呼叫 刪除命令。
範例
例如,簽出命令:
tf checkout [/lock:( none|checkin|checkout)] [/recursive] itemspec [/login: username,[ password]]
讓我們從此範例檢閱引數:
項目規格:您必須以指定簽出項目的 項目規格 取代這個引數。
/lock:(none|checkin|checkout):您不需要指定 /lock 選項。如果您不指定它,則預設系統指定 /lock:none。否則,您可以指定其中一個鎖定選項。
下列引數是選擇性的,而且如果您未提供,其作用都不會套用於命令:
/recursive:如果您要以遞迴方式簽出資料夾中的項目,您必須指定選項常值。
/login:使用者名稱密碼,:如果您想要以其他使用者執行命令,必須指定 /login 選取常值,並以使用者名稱取代 使用者名稱 ,必要時,您可以提供密碼。
指定命令影響的項目
您可以使用項目規格以及版本規格指定哪些項目受命令的影響。
使用項目規格引數指定受影響的項目。
您可以使用 itemspec (項目規格) 指定命令影響的項目。您可以指定在用戶端或在 Team Foundation Server 的項目。您可以使用萬用字元 (例如 * 和 ?。
用戶端項目規格引數
用戶端項目規格引數將路徑指定到在用戶端機器上項目 (例如資料夾 (例如, c:\code\SiteApp\Main\SolutionA\) 檔案 (例如, c:\code\SiteApp\Main\SolutionA\Project1\program.cs 或多個檔案 (例如, c:\code\SiteApp\Main\SolutionA\*.cs。您也可以指定 UNC 路徑 (例如 \\myshare\code\SiteApp\Main)。
伺服器項目規格引數
伺服器項目規格引數將路徑指定到在 Team Foundation Server 中的項目(例如資料夾 (例如, $/SiteApp/Main/SolutionA) 檔案 (例如, $/SiteApp/Main/SolutionA/Project1/program.cs 或多個檔案 (例如, $/SiteApp/Main/SolutionA/*.cs。
當您需要在項目上執行命令而非在用戶端時,通常會使用伺服器項目規格引數。例如,您可以在 dev 機器工作並需要取得有關在 Team 專案集合中您不負責某些項目的一些修改資料錄的資料:
c:\>tf history /collection:http://fabrikam-3:8080/tfs/DefaultCollection
$/SiteApp/Main/SolutionA/Project1/* /recursive
/noprompt
多項目規格引數
對於某些命令,您可以指定多個 itemspec 引數。例如:
c:\code\SiteApp\Main\SolutionA\Project1\>tf checkout program1.cs program2.c
簽出 program.cs 和 program2.c。
使用版本規格引數指定項目受影響的版本
您可以使用 versionspec (版本規格) 指定命令影響的項目版本。若要提供 versionspec 您可以:
使用 /version 選項。例如:/version:C44。
以分號將版本規格附加至的項目規格。例如:program1.cs;C44。
當您使用 History 命令 或 Difference Command 時,可以透過以波狀符號 (~) 分隔版本的方式,指定版本的範圍。例如:
c:\code\SiteApp\Main\SolutionA>tf history /noprompt * /recursive /v:D4/12/2012~D4/24/2012
請使用下列語法指定 versionspec。
型別 |
語法 |
描述 |
---|---|---|
變更集 |
[C]n |
根據變更集編號指定項目。如果在範圍內的項目在指定的變更集中未修改,系統會套用指定的變更集之前發生的最新版本項目。
提示
如果只指定一個數字,可以省略 C 。
範例
-或-
-或-
如果 readme.txt 在變更集 8 已經修改過,取得檔案的版本。否則,取得 8. 版之前 readme.txt 最新的版本。 |
Label |
Llabel |
指定 label 套用的項目。 範例
取得標記 JulyHotFix 的readme.txt 版本。
在工作區中項目存在時擷取所有標記項目 (以及刪除不是標記的項目),當它們標示為 LastKnownGood的變更集被創造時,例如自動建造程序的一部分。 |
日期和時間 |
Dyyyy-mm-ddTxx:xx -或- Dmm/dd/yyyy -或- 任何 .NET Framework 支援的格式。 -或- 任何本機電腦的日期格式。 |
指定在指定日期和時間建立的變更集。 範例
更新工作區比對存在於 3/22/2004 00:00 (午夜)的程式碼基底。
更新工作區比對存在於 3/22/2004 09:00 (上午9點)的程式碼基底。 如需 .NET Framework 支援的日期和時間格式詳細資訊 DateTime 參閱和 標準日期和時間格式字串。 |
工作區 (目前) |
W |
在您的工作區中指定版本。 |
工作區 (指定) |
Wworkspacename; workspaceowner |
在指定的工作區中指定版本。 例如:WResolveRIConflicts;PeterW |
提示 |
T |
指定最新的版本。 |
如何使用選項修改命令如何運行
如何使用一些常見的選項修改命令運作方式。
使用/noprompt 選項隱藏資料輸入要求和輸出重新導向至資料命令提示字元視窗。
使用**/noprompt**選項隱藏資料輸入要求和輸出重新導向至資料命令提示字元視窗。需要在指令碼中使用版本控制命令時,這個選項可能很有用,因為這個命令的執行不需使用者介入,而且資料可供指令碼執行像剖析或擷取的運算子。
當您使用選項,系統將:
隱藏所有要求輸入:
問題在命令提示字元視窗中不會提問。例如,當您在此選項下使用 Undo 命令 ,系統不會提示您確認是否要繼續執行復原變更。
不顯示視窗和對話方塊。例如,您可以和 Checkin 命令使用選項。如果您不想顯示您的 [簽入] 對話方塊來確認您的選項(項目要簽入或產生關聯的工作項目) 系統會簽入但不會驗證。
將輸出資料導向至命令提示字元。例如,您可以和 History 命令使用選項。資料在命令提示字元視窗中顯示而不是 記錄視窗。
當執行命令時,請使用/login 選項指定認證。
使用 /login 選項指定 Team Foundation Server 使用者帳戶來執行命令。當您使用其他小組成員的電腦工作時,這個選項可能很有用。
例如,Julia 在 Peter 的dev 機器上與他工作。她使用 鎖定命令 解除鎖定她先前所訂的檔案:
c:\code\SiteApp\Main> tf lock /lock:none program.cs /login:JuliaI,JuliaPassword
如果使用者想要避免她的密碼會出現在命令提示字元,她可以輸入命令而不需要密碼:
c:\code\SiteApp\Main> tf lock /lock:none program.cs /login:JuliaI
在其輸入這個命令之後,系統就會提示她將密碼輸入在能遮罩使用者輸入文字的對話方塊中。
使用/lock 選項套用或移除鎖定
重要事項 |
---|
最佳作法是謹慎使用 [/lock] 選項,並通知小組組員進行鎖定項目的原因,以及準備何時移除鎖定。 |
使用 /lock 選項套用或移除鎖定在您可執行其他命令時 (例如 新增 或 編輯。
/lock:(none|checkin|checkout)
None:項目上不置放鎖定。如果已置放鎖定,則會將其移除。
Checkin 或 Checkout:套用鎖定。請參閱 認識鎖定類型。
注意事項 |
---|
在少數情況下,鎖定作業會失敗:
|
使用選項捷徑
您可將下列選項縮寫:
選項 |
選項別名 |
---|---|
/comment |
-C |
/computer |
-M |
/delete |
-D |
/force |
-P |
/format |
-F |
/help |
-?, -H |
/lock |
-K |
/login |
-Y |
/newname |
-N |
/noprompt |
-I |
/owner |
-O |
/recursive |
-R |
/server |
-S |
/slotmode |
-X |
/template |
-T |
/user |
-U |
/version |
-V |
/workspace |
-W |
了解結束代碼
版本控制命令傳回下列結束代碼:
結束代碼 |
定義 |
---|---|
0 |
成功。 |
1 |
部分成功,表示至少某些作業或可能全部的作業無法成功。 |
2 |
無法辨認的命令。 |
100 |
全部失敗。 |
例如:
c:\code\SiteApp\Main\SolutionA\Project1\>tf checkout program1.cs program2.c
如果嘗試要簽出的其中一個檔案不存在於伺服器上,命令將傳回 1 (代表部分成功)。