Team Foundation 版本控制命令參考
您可以使用版本控制命令,進行幾乎所有可在 Visual Studio 中執行的工作,以及一些在 Visual Studio 無法完成的工作。 您可以使用 tf.exe 工具,從命令提示字元或在指令碼內執行版本控制命令。
您想要怎麼做?
執行命令
設定開發電腦
開發應用程式
暫停工作
參與工作
管理檔案並解決問題
隔離風險
了解命令語法
指定受命令影響的項目
使用 itemspec 引數指定受影響的項目
使用 versionspec 引數指定受影響的項目版本
使用選項修改命令的運作方式
使用 /noprompt 選項隱藏資料輸入要求,並將輸出資料重新導向至命令提示字元視窗
使用 /login 選項指定執行命令時的認證
使用 /lock 選項套用或移除鎖定
使用選項捷徑
了解結束代碼
執行命令
若要啟動 Visual Studio 命令提示字元,請從 Windows 的 [開始],依序選擇 [Microsoft Visual Studio 2012] 及 [Visual Studio 工具],然後選擇其中一個 [命令提示字元] 捷徑。
在大多數情況下,您會在工作區對應的目錄內容中執行版本控制命令。 例如,$/SiteApp/Main/ 對應至 c:\code\SiteApp\Main\。 取得工作區中所有項目的最新版本:
c:\code\SiteApp\Main\SolutionA>tf get
注意事項 |
---|
我們目前不會重新發行部分主題。不過,您可以閱讀這些主題的 Visual Studio 2010 版本。 |
設定開發電腦並管理工作區
您的工作區是小組程式碼基底的本機複本。 由於這是開發電腦上的本機複本,您可以獨立開發和測試程式碼,直到您準備好簽入您的工作為止。 以下是一些用來管理工作區的命令:
Proxy Command (Visual Studio 2010)
WorkFold Command (Visual Studio 2010)
Workspace Command (Visual Studio 2010)
Workspaces Command (Visual Studio 2010)
另請參閱:在開發電腦上設定 Team Foundation 版本控制、建立和使用工作區
開發應用程式
使用下列命令在小組的版本控制下開發您的應用程式:
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)
另請參閱:在 Team Foundation 版本控制中開發應用程式
暫停工作
基於各種理由,有時候您會需要暫停部分或所有正在進行的工作。 若要暫止和繼續工作,以及管理擱置集,請使用下列命令:
Shelve 命令 (Visual Studio 2010)
Shelvesets Command (Visual Studio 2010)
Unshelve 命令 (Visual Studio 2010)
請參閱:暫停工作和管理擱置集。
參與工作
以下說明如何將您的程式碼簽入小組的程式碼基底:
- Checkin 命令
將檔案或資料夾的暫止變更簽入伺服器。
另請參閱:將工作成果簽入小組的程式碼庫
管理檔案並解決問題
檢視及管理版本控制檔案和資料夾
Properties 命令 (Visual Studio 2010)
Property 命令 (未提供說明)
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)
請參閱:在 Team Foundation 版本控制中使用分支隔離風險。
管理版本控制
使用下列命令管理您的版本控制系統:
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] 表示完成命令不需要的選擇性引數。 不過,某些選擇性引數具有預設值,即使您未指定選項,也會套用至命令。
專有引數
當您以管道 (|) 分隔選項時,您可以指定其中一個選項。
逐字和可取代的引數
粗體項目是您逐字包含的選項。 斜體項目是您必須使用實際字元取代以便執行命令的引數。
命令捷徑和別名
一些命令支援捷徑。 例如,您可以使用 tf delete 或 tf del 呼叫 Delete 命令。
範例
例如,Checkout 命令:
tf checkout [/lock:( none|checkin|checkout)] [/recursive] itemspec [/login: username,[ password]]
以下檢閱此範例中的引數:
itemspec:您必須使用指定簽出項目的項目規格來取代此引數。
/lock:(none|checkin|checkout):您不需要指定 /lock 選項。 如果未指定此選項,系統預設會指定 /lock:none。 或者,您可以指定其中一個鎖定選項。
下列引數為選擇性,如果未提供,則不會將其效果套用至命令:
/recursive:如果您想以遞迴方式簽出資料夾中的多個項目,您必須逐字指定此選項。
/login:username,password:如果您想以其他使用者身分執行命令,您必須逐字指定 /login 選項、以使用者名稱取代 username,並在必要時提供密碼。
指定受命令影響的項目
您可以使用 itemspec 和 versionspec 指定受命令影響的項目。
使用 itemspec 引數指定受影響的項目
您可以使用 itemspec (項目規格) 指定受命令影響的項目。 您可以在用戶端電腦或 Team Foundation Server 上指定項目。 您可以使用萬用字元,例如 * 和 ?。
用戶端 itemspec 引數
用戶端 itemspec 引數指定項目在用戶端電腦上的路徑,可以是資料夾 (例如 c:\code\SiteApp\Main\SolutionA\)、檔案 (例如 c:\code\SiteApp\Main\SolutionA\Project1\program.cs) 或多個檔案 (例如 c:\code\SiteApp\Main\SolutionA\*.cs)。 您也可以指定 UNC 路徑,例如 \\myshare\code\SiteApp\Main。
伺服器 itemspec 引數
伺服器 itemspec 引數指定項目在 Team Foundation Server 上的路徑,可以是資料夾 (例如 $/SiteApp/Main/SolutionA)、檔案 (例如 $/SiteApp/Main/SolutionA/Project1/program.cs) 或多個檔案 (例如 $/SiteApp/Main/SolutionA/*.cs)。
當您需要對項目 (而不是用戶端電腦) 執行命令時,您通常會使用伺服器 itemspec 引數。 例如,您想要在開發電腦上工作,並需要取得未參與之 Team 專案集合中某些項目的一些修訂記錄資料:
c:\>tf history /collection:http://fabrikam-3:8080/tfs/DefaultCollection
$/SiteApp/Main/SolutionA/Project1/* /recursive
/noprompt
多個 itemspec 引數
您可以為某些命令指定多個 itemspec 引數。 例如:
c:\code\SiteApp\Main\SolutionA\Project1\>tf checkout program1.cs program2.c
簽出 program.cs 和 program2.c。
使用 versionspec 引數指定受影響的項目版本
您可以使用 versionspec (版本規格) 指定受命令影響的項目版本。 若要提供 versionspec,您可以:
使用 /version 選項。 例如:/version:C44。
將 versionspec 附加至 itemspec,並以分號分隔。 例如: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。 範例
-或-
-或-
如果在變更集 8 中修改了 readme.txt,請取得該版檔案。 否則,請取得第 8 版之前的最新版 readme.txt。 |
標籤 |
Llabel |
指定套用 label 的項目。 範例
取得標記為 JulyHotFix 的 readme.txt 版本。
擷取工作區中已標記之所有項目的版本 (並刪除未標記的項目),在建立標記為 LastKnownGood 的變更集時,這些項目可能存在於自動化建置流程的過程中。 |
日期和時間 |
Dyyyy-mm-ddTxx:xx -或- Dmm/dd/yyyy -或- 支援 .NET Framework 的所有格式。 -或- 本機電腦上支援的所有日期格式。 |
指定在指定日期和時間建立的變更集。 範例
更新工作區以符合 2004 年 3 月 22 日 00:00 (午夜) 存在的程式碼基底。
更新工作區以符合 2004 年 3 月 22 日 09:00 (上午 9 點) 存在的程式碼基底。 如需支援 .NET Framework 之日期和時間格式的詳細資訊,請參閱 DateTime 及標準日期和時間格式字串。 |
工作區 (目前) |
W |
指定您的工作區中的版本。 |
工作區 (指定) |
Wworkspacename; workspaceowner |
指定指定的工作區中的版本。 例如:WResolveRIConflicts;PeterW |
提示 |
T |
指定最新版本。 |
使用選項修改命令的運作方式
您可以使用一些命令選項修改命令的運作方式。
使用 /noprompt 選項隱藏資料輸入要求,並將輸出資料重新導向至命令提示字元視窗
使用 /noprompt 選項隱藏資料輸入要求,並將輸出資料重新導向至命令提示字元視窗。 當您需要在指令碼中使用版本控制命令時,此選項會很實用,因為命令會繼續進行,而不需要使用者介入,且系統會提供資料給指令碼以便執行剖析或擷取等作業。
當您使用此選項時,系統會:
隱藏所有輸入要求:
不會在命令提示字元視窗中詢問問題。 例如,當您搭配此選項使用 Undo 命令時,系統不會提示您確認是否要繼續復原變更。
不會顯示視窗和對話方塊。 例如,您可以搭配 Checkin 命令 使用此選項。 系統不會顯示 [簽入] 對話方塊要求您確認選項 (您要簽入的項目或要建立關聯的工作項目),而會繼續簽入而不需要確認。
將輸出資料重新導向至命令提示字元。 例如,您可以搭配 History 命令 使用此選項。 命令提示字元視窗 (而不是 [記錄] 視窗) 中會顯示資料。
使用 /login 選項指定執行命令時的認證
使用 /login 選項指定要執行命令的 Team Foundation Server 使用者帳戶。 當您在其他小組成員的電腦上工作時,此選項會很實用。
例如,Julia 在 Peter 的開發電腦上與他共同作業。 她使用 Lock 命令解除鎖定先前鎖定的檔案:
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 選項,並通知小組成員鎖定項目的原因,以及您打算何時移除鎖定。
在您執行 Add 或 Edit 等其他命令時,使用 /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 以表示部分成功。