History 命令

顯示一個或多個檔案和資料夾的修訂記錄。 資料會顯示在 [記錄] 視窗中,如果已指定 /noprompt 選項,則會顯示於命令提示字元中。

**需求:**請參閱 Team Foundation Server 的權限參考

tf hist[ory] itemspec [/version:versionspec] 
[/stopafter:number] [/recursive] [/user:username] 
[/format:(brief|detailed)] [/slotmode] [/itemmode] [/noprompt]
[/login:username,[password]] [/sort:ascending,descending]
[/collection:TeamProjectCollectionUrl]

參數

參數

說明

/collection: TeamProjectCollectionUrl

指定包含項目 Team 專案集合 URL。 例如:http://myserver:8080/tfs/DefaultCollection。

根據預設,Team 專案集合會假設為包含對應至目前目錄的工作區。

/format

指定當已指定 /noprompt 選項時,每個變更集要顯示的詳細資料程度:

  • Brief (預設值):每個變更集顯示一行,包括:ID 編號、所做的變更、進行變更的使用者、日期和註解。 某些資料可能會被截斷。

  • Detailed:顯示每個變更集的完整描述。 除了上述資訊以外,這個選項還會顯示其他資料,例如包含時間的日期、已變更的項目、簽入提示,以及簽入原則警告。

/itemmode

您無法使用這個選項搭配 /slotmode 選項。 請參閱 Matt Mitrik:在 TFS 2010 版本控制中變更至位置模式

itemspec

指定要顯示記錄的項目。 如需語法資訊,請參閱 Team Foundation 版本控制命令參考

/noprompt

這個選項:

  • 會隱藏視窗和對話方塊的顯示 (例如 [記錄] 視窗),並將輸出資料重新導向至命令提示字元。 請參閱 Team Foundation 版本控制命令參考

  • 不顯示項目移動、重新命名、分支或合併之前所發生的修訂記錄。

/login:username,[password]

指定執行命令的使用者帳戶。 請參閱 Team Foundation 版本控制命令參考

/recursive

以遞迴方式擷取所指定目錄和所有子目錄中項目的歷程資料。

/slotmode

您無法使用這個選項搭配 /itemmode 選項。 請參閱 Matt Mitrik:在 TFS 2010 版本控制中變更至位置模式

/sort

依下列任一順序排序一個或多個檔案或資料夾中的修訂記錄:

  • Ascending:從最舊到最新的修訂。

  • Descending (預設值):從最新到最舊的修訂。

您必須搭配這個選項使用 /noprompt 選項。

/stopafter:number

指定要在記錄資料中顯示的最大變更集數目。

/user:username

篩選歷程資料,以顯示指定之使用者所做的變更。 星號 (*) 會包括所有使用者的變更資料 (預設值)。

/version:versionspec

在記錄資料上指定下列其中一項限制:

  • 最高版本

  • 使用範圍 ~ 語法的最低和最高版本。

預設值為 /version:W (工作區中的版本)。

如需語法資訊,請參閱 Team Foundation 版本控制命令參考

您無法使用這個選項搭配 /slotmode 選項。

範例

取得單一檔案的記錄

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

在 [記錄] 視窗中顯示對 program.cs 的所有變更。

c:\code\SiteApp\Main\SolutionA\Project1>tf history program2.cs /noprompt

在 [命令提示字元] 視窗中顯示對 program.cs 的所有變更。 例如:

Changeset Change                     User              Date       Comment
--------- -------------------------- ----------------- ---------- -------- 
29        edit                       Jamal Hartnett    4/23/2012  Fix bug
20        add                        Raisa Pokrovskaya 4/12/2012  Add new  

取得資料夾中所有項目的記錄

c:\code\SiteApp\Main\SolutionA>tf history * /recursive

在 [記錄] 視窗中顯示對 SolutionA 中所有項目 (包括子資料夾中所有項目) 的所有變更。

取得資料夾中所有項目的最後五次變更記錄。

c:\code\SiteApp\Main\SolutionA>tf history * /noprompt /recursive /stopafter:5

顯示對 SolutionA 中項目 (包括子資料夾中項目) 進行的最後 5 項變更:

Changeset User              Date       Comment
--------- ----------------- ---------- ----------------------------------------
31        Raisa Pokrovskaya 5/15/2012
30        Raisa Pokrovskaya 4/23/2012
29        Jamal Hartnett    4/23/2012  Fix bug in new method
20        Raisa Pokrovskaya 4/12/2012  Add new method, add program2.cs to Proje
15        Raisa Pokrovskaya 4/8/2012

取得 x 版 (含) 以前版本的記錄

c:\code\SiteApp\Main\SolutionA>tf history /noprompt * /recursive /v:30

顯示在 30 版 (含) 以前版本中,對 SolutionA 中所有項目 (包括子資料夾中所有項目) 的所有變更:

Changeset User              Date       Comment
--------- ----------------- ---------- ----------------------------------------
30        Raisa Pokrovskaya 4/23/2012
29        Jamal Hartnett    4/23/2012  Fix bug in new method
20        Raisa Pokrovskaya 4/12/2012  Add new method, add program2.cs to 15        Raisa Pokrovskaya 4/8/2012

取得日期 D (含) 以前的記錄。

c:\code\SiteApp\Main\SolutionA>tf history /noprompt * /recursive /v:D4/24/2012

-或-

c:\code\SiteApp\Main\SolutionA>tf history /noprompt * /recursive /v:D2012-04-24T12:00

顯示在 2012/4/23 或更早以前對 SolutionA 中所有項目 (包括子資料夾中所有項目) 的所有變更:

Changeset User              Date       Comment
--------- ----------------- ---------- ----------------------------------------
30        Raisa Pokrovskaya 4/23/2012
29        Jamal Hartnett    4/23/2012  Fix bug in new method
20        Raisa Pokrovskaya 4/12/2012  Add new method, add program2.cs to 15        Raisa Pokrovskaya 4/8/2012

取得從 x 版到 y 版的記錄

c:\code\SiteApp\Main\SolutionA>tf history /noprompt * /recursive /v:D4/12/2012~D4/24/2012

顯示在 2012/4/12 到 2012/4/23 之間,對 SolutionA 中所有項目 (包括子資料夾中所有項目) 的所有變更:

Changeset User              Date       Comment
--------- ----------------- ---------- ----------------------------------------
30        Raisa Pokrovskaya 4/23/2012
29        Jamal Hartnett    4/23/2012  Fix bug in new method
20        Raisa Pokrovskaya 4/12/2012  Add new method, add program2.cs to 

取得詳細記錄

c:\code\SiteApp\Main\SolutionA>tf history /noprompt * /recursive /v:D4/12/2012~D4/24/2012 /format:detailed

顯示在 2012/4/12 到 2012/4/23 之間,對 SolutionA 中所有項目 (包括子資料夾中所有項目) 所做變更的詳細資料:

-------------------------------------------------------------------------------
Changeset: 30
User: Raisa Pokrovskaya (Fabrikam)
Date: Monday, April 23, 2012 1:23:05 PM

Comment:
  Much better name for this file

Items:
  rename                $/SiteApp/Main/SolutionA/Project1/programBig.cs
  delete, source rename $/SiteApp/Main/SolutionA/Project1/program3.cs;X15

-------------------------------------------------------------------------------
Changeset: 29
User: Raisa Pokrovskaya (Fabrikam)
Date: Monday, April 23, 2012 1:03:13 PM

Comment:
  Fix bug in new method

Items:
  edit $/SiteApp/Main/SolutionA/Project1/program1.cs
  edit $/SiteApp/Main/SolutionA/Project1/program2.cs

-------------------------------------------------------------------------------
Changeset: 20
User: Raisa Pokrovskaya (Fabrikam)
Date: Thursday, April 12, 2012 5:09:35 PM

Comment:
  Add new method, add program2.cs to Project1

Items:
  add $/SiteApp/Main/SolutionA/Project1/program2.cs


Check-in Notes:
  Documentation:
    An important new part of our codebase.

Policy Warnings:
  Override Reason:
    Jamal agrees with me that we can bypass for this check-in.
  Messages:
    The Code Analysis Policy requires files to be checked in through Visual
Studio with an open solution.

取得資料夾的非遞迴記錄

c:\code\SiteApp\Main\SolutionA>tf history .

在 [記錄] 視窗中顯示 SolutionA 資料夾的記錄,這可讓您探勘先前對資料夾所做的變更。 例如,如果最近對資料夾所做的變更是重新命名,您可以展開變更集查看重新命名之前發生的變更。

c:\code\SiteApp\Main\SolutionA>tf history . /noprompt

在 [命令提示字元] 視窗中,顯示 SolutionA 資料夾最近的變更。

Visual Studio 中的運作方式

秘訣

  • 提示 如需如何使用 [記錄] 視窗的詳細資訊,請參閱取得項目的歷程記錄

  • 提示 若要取得更多有關變更集的詳細資料 (例如,您想要查看相關聯的工作項目):

    • 在 [記錄] 視窗中,按兩下變更集,或開啟其捷徑功能表並選擇 [變更集詳細資料]。

    • 從命令提示字元中使用 Changeset Command

  • 提示 如需變更集的詳細資訊,請參閱尋找和檢視變更集

  • 提示 /collection 選項對於從電腦執行這個命令,而使用者帳戶沒有對應至包含項目之 Team 專案集合的工作區時很實用。

  • 提示 請參閱 檢視和管理過往的版本