分享方式:


歷程記錄指令 (Team Foundation 版本控制)

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 |Visual Studio 2022

Team Foundation 版本控制 (TFVC) tf history 命令會顯示一或多個檔案或資料夾的修訂歷程記錄。 命令數據會顯示在 Visual Studio 的 [歷程記錄 ] 視窗中,或在 /noprompt 命令提示字元中指定選項。

您也可以使用 Visual Studio 來取得修訂歷程記錄。 如需詳細資訊,請參閱 取得專案的歷程記錄。

必要條件

請參閱 預設 TFVC 許可權

語法

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>

指定包含專案之專案集合的 URL。 例如: http://myserver:8080/tfs/DefaultCollection

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

/format

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

  • Brief (預設值):顯示每個變更集的一行,包括:標識符、變更、進行變更的使用者、日期和批注。 某些數據可能會遭到截斷。

  • 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,工作區中的版本。

您無法將此選項與 /slotmode 選項結合。

如需語法,請參閱 使用Team Foundation版本控制命令

備註

  • 若要取得變更集的詳細資訊,例如查看相關聯的工作專案:

    • 在 [Visual Studio 歷程記錄] 視窗中,按兩下或以滑鼠右鍵按兩下變更集,然後選擇 [ 變更集詳細數據]。

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

  • 這個選項 /collection 適用於從沒有對應至包含專案之專案集合之工作區的計算機和使用者帳戶執行此命令。

範例

下列範例假設 c:\code\SiteApp\Main 會對應至工作區中的主資料夾。

取得單一檔案的歷程記錄

下列範例會顯示 [歷程記錄] 視窗中program2.cs所做的所有變更。

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

下列範例會顯示命令提示字元視窗中program2.cs所做的所有變更。

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

輸出:

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

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

下列範例會顯示 SolutionA所有項目的變更,包括 [歷程記錄] 視窗中子資料夾中的所有專案。

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

取得資料夾中所有專案最近五項變更的歷程記錄

下列範例會顯示在命令提示字元視窗中對 SolutionA專案所做的最新五項變更,包括子資料夾中的專案:

c:\code\SiteApp\Main\SolutionA>tf history * /noprompt /recursive /stopafter: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 版和更早版本取得歷程記錄

下列範例會在命令提示字元視窗中顯示對 SolutionA 中所有項目的變更,包括子資料夾中的變更,以及版本 30 和更早版本中的專案:

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

輸出:

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 和更早版本取得歷程記錄

下列範例會在命令提示字元視窗中顯示對 SolutionA 中所有項目的變更,包括子資料夾中的變更,包括 4/23/12 或更早版本中的專案:

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

輸出:

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

從一系列日期取得歷程記錄

下列範例會在命令提示字元視窗中顯示SolutionA所有項目的變更,包括子資料夾中的專案,介於2012/4/12和4/23/2012之間:

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

輸出:

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 

取得詳細的歷程記錄

下列範例會顯示SolutionA所有專案變更的詳細數據,包括子資料夾中的專案,在2012年4月12日和2012年4月23日之間,於命令提示字元視窗中:

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

輸出:

-------------------------------------------------------------------------------
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.

取得資料夾的非遞迴歷程記錄

下列範例會顯示 Visual Studio 歷程記錄視窗中 SolutionA 資料夾的歷程記錄,可讓您探索資料夾的先前變更。 例如,如果資料夾最近的變更是重新命名,您可以展開變更集,以查看重新命名之前發生的變更。

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

下列範例會顯示命令提示字元視窗中SolutionA資料夾的最新變更

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