共用方式為


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 版本。

cc31bk2e.collapse_all(zh-tw,VS.110).gif設定您的 dev 電腦並管理工作區

您的工作區為小組的基礎碼的本機複本。由於是在您的 dev 電腦的本機複本,您可以開發,並測試您的隔離的程式碼,直到您已準備好簽入您的工作。以下是一些命令來管理您的工作區:

請參閱設定開發電腦並開始使用版本控制管理工作區

cc31bk2e.collapse_all(zh-tw,VS.110).gif開發應用程式

使用這些命令部署您的應用程式都會以您小組的版本控制下:

請參閱 在受到版本控制的程式碼庫中開發應用程式

cc31bk2e.collapse_all(zh-tw,VS.110).gif暫停工作

因為各種理由,有時候需要保留某些或所有的未完成的工作。若要暫停和繼續您的工作和管理您的擱置集,請使用下列命令:

請參閱:暫停工作和管理擱置集

cc31bk2e.collapse_all(zh-tw,VS.110).gif貢獻您的成果

此如何簽入程式碼到小組的基礎碼:

  • Checkin 命令
    簽入您檔案或資料夾的暫止變更至伺服器。

請參閱 將工作成果簽入小組的程式碼庫

cc31bk2e.collapse_all(zh-tw,VS.110).gif管理檔案和解決問題

cc31bk2e.collapse_all(zh-tw,VS.110).gif隔離風險

使用下列命令來隔離風險使用分支:

請參閱:使用分支隔離風險

cc31bk2e.collapse_all(zh-tw,VS.110).gif執行版本控制

使用下列命令管理您的版本控制系統:

(請參閱 管理 Team Foundation 版本控制Visual Studio 2010)

cc31bk2e.collapse_all(zh-tw,VS.110).gif在版本控制命令中得到協助

使用下列命令取得有關版本控制命令的詳細資訊:。

了解命令語法

每個命令語法出現在每一個參考主題上方的。

cc31bk2e.collapse_all(zh-tw,VS.110).gif必要和選擇性引數

非括住的引數是必要的。[Brackets] 表示對完成命令沒有必要的選擇性引數。不過,某些選擇性引數會套用至這個命令的預設,即使您未指定這個選項。

cc31bk2e.collapse_all(zh-tw,VS.110).gif專案屬性引數

當選項被管道分隔 (|) ,您可以指定其中一個選項:

cc31bk2e.collapse_all(zh-tw,VS.110).gif常值和可置換的引數。

粗體項目則是您逐字納入的選項。Italicized 項目表示引數,您必須以執行命令的實際字元取代這些項目。

cc31bk2e.collapse_all(zh-tw,VS.110).gif命令捷徑和別名

某些命令支援快速鍵。例如,您可以用tf deletetf del呼叫 刪除命令

cc31bk2e.collapse_all(zh-tw,VS.110).gif範例

例如,簽出命令

tf checkout [/lock:( none|checkin|checkout)] [/recursive] itemspec [/login: username,[ password]]

讓我們從此範例檢閱引數:

  • 項目規格:您必須以指定簽出項目的 項目規格 取代這個引數。

  • /lock:(none|checkin|checkout):您不需要指定 /lock 選項。如果您不指定它,則預設系統指定 /lock:none。否則,您可以指定其中一個鎖定選項。

  • 下列引數是選擇性的,而且如果您未提供,其作用都不會套用於命令:

    • /recursive:如果您要以遞迴方式簽出資料夾中的項目,您必須指定選項常值。

    • /login:使用者名稱密碼,:如果您想要以其他使用者執行命令,必須指定 /login 選取常值,並以使用者名稱取代 使用者名稱 ,必要時,您可以提供密碼。

指定命令影響的項目

您可以使用項目規格以及版本規格指定哪些項目受命令的影響。

cc31bk2e.collapse_all(zh-tw,VS.110).gif使用項目規格引數指定受影響的項目。

您可以使用 itemspec (項目規格) 指定命令影響的項目。您可以指定在用戶端或在 Team Foundation Server 的項目。您可以使用萬用字元 (例如 *?

cc31bk2e.collapse_all(zh-tw,VS.110).gif用戶端項目規格引數

用戶端項目規格引數將路徑指定到在用戶端機器上項目 (例如資料夾 (例如, c:\code\SiteApp\Main\SolutionA\) 檔案 (例如, c:\code\SiteApp\Main\SolutionA\Project1\program.cs 或多個檔案 (例如, c:\code\SiteApp\Main\SolutionA\*.cs。您也可以指定 UNC 路徑 (例如 \\myshare\code\SiteApp\Main)。

cc31bk2e.collapse_all(zh-tw,VS.110).gif伺服器項目規格引數

伺服器項目規格引數將路徑指定到在 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 

cc31bk2e.collapse_all(zh-tw,VS.110).gif多項目規格引數

對於某些命令,您可以指定多個 itemspec 引數。例如:

c:\code\SiteApp\Main\SolutionA\Project1\>tf checkout program1.cs program2.c

簽出 program.cs 和 program2.c。

cc31bk2e.collapse_all(zh-tw,VS.110).gif使用版本規格引數指定項目受影響的版本

您可以使用 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 。

範例

c:\code\SiteApp\Main>tf get readme.txt /v:C8

-或-

c:\code\SiteApp\Main>tf get readme.txt /v:8

-或-

c:\code\SiteApp\Main>tf get readme.txt;8

如果 readme.txt 在變更集 8 已經修改過,取得檔案的版本。否則,取得 8. 版之前 readme.txt 最新的版本。

Label

Llabel

指定 label 套用的項目。

範例

c:\code\SiteApp\Main>tf get readme.txt;LJulyHotFix

取得標記 JulyHotFix 的readme.txt 版本。

c:\code\SiteApp\Main>tf get /version:LLastKnownGood

在工作區中項目存在時擷取所有標記項目 (以及刪除不是標記的項目),當它們標示為 LastKnownGood的變更集被創造時,例如自動建造程序的一部分。

日期和時間

Dyyyy-mm-ddTxx:xx

-或-

Dmm/dd/yyyy

-或-

任何 .NET Framework 支援的格式。

-或-

任何本機電腦的日期格式。

指定在指定日期和時間建立的變更集。

範例

c:\code\SiteApp\Main>tf get /version:D2004-03-22

更新工作區比對存在於 3/22/2004 00:00 (午夜)的程式碼基底。

c:\code\SiteApp\Main>tf get /version:D2004-03-22T09:00

更新工作區比對存在於 3/22/2004 09:00 (上午9點)的程式碼基底。

如需 .NET Framework 支援的日期和時間格式詳細資訊 DateTime 參閱和 標準日期和時間格式字串

工作區 (目前)

W

在您的工作區中指定版本。

工作區 (指定)

Wworkspacename; workspaceowner

在指定的工作區中指定版本。

例如:WResolveRIConflicts;PeterW

提示

T

指定最新的版本。

如何使用選項修改命令如何運行

如何使用一些常見的選項修改命令運作方式。

cc31bk2e.collapse_all(zh-tw,VS.110).gif使用/noprompt 選項隱藏資料輸入要求和輸出重新導向至資料命令提示字元視窗。

使用**/noprompt**選項隱藏資料輸入要求和輸出重新導向至資料命令提示字元視窗。需要在指令碼中使用版本控制命令時,這個選項可能很有用,因為這個命令的執行不需使用者介入,而且資料可供指令碼執行像剖析或擷取的運算子。

當您使用選項,系統將:

  • 隱藏所有要求輸入:

    • 問題在命令提示字元視窗中不會提問。例如,當您在此選項下使用 Undo 命令 ,系統不會提示您確認是否要繼續執行復原變更。

    • 不顯示視窗和對話方塊。例如,您可以和 Checkin 命令使用選項。如果您不想顯示您的 [簽入] 對話方塊來確認您的選項(項目要簽入或產生關聯的工作項目) 系統會簽入但不會驗證。

  • 將輸出資料導向至命令提示字元。例如,您可以和 History 命令使用選項。資料在命令提示字元視窗中顯示而不是 記錄視窗

cc31bk2e.collapse_all(zh-tw,VS.110).gif當執行命令時,請使用/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

在其輸入這個命令之後,系統就會提示她將密碼輸入在能遮罩使用者輸入文字的對話方塊中。

cc31bk2e.collapse_all(zh-tw,VS.110).gif使用/lock 選項套用或移除鎖定

重要事項重要事項

最佳作法是謹慎使用 [/lock] 選項,並通知小組組員進行鎖定項目的原因,以及準備何時移除鎖定。

使用 /lock 選項套用或移除鎖定在您可執行其他命令時 (例如 新增編輯

/lock:(none|checkin|checkout)
  • None:項目上不置放鎖定。如果已置放鎖定,則會將其移除。

  • CheckinCheckout:套用鎖定。請參閱 認識鎖定類型

注意事項注意事項

在少數情況下,鎖定作業會失敗:

  • 如果有任何其他的使用者鎖定了任指定的項目,鎖定作業將會失敗。

  • 如果該項目已有暫止的變更,系統會忽略這個切換。在這種情況下,您必須使用 Lock Command 轉換項目上的鎖定。

cc31bk2e.collapse_all(zh-tw,VS.110).gif使用選項捷徑

您可將下列選項縮寫:

選項

選項別名

/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 (代表部分成功)。