History コマンド (Team Foundation バージョン管理)

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

Visual Studio 2019 | Visual Studio 2022

Team Foundation バージョン管理 (TFVC) tf history コマンドを使用すると、1 つ以上のファイルまたはフォルダーのリビジョン履歴を表示できます。 コマンドデータは 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]

Parameters

パラメーター

説明

/collection:<TeamProjectCollectionUrl>

対象項目を含むプロジェクト コレクションの URL を指定します。 (例: http://myserver:8080/tfs/DefaultCollection)。

既定では、プロジェクト コレクションは現在のディレクトリをマップするワークスペースを含むコレクションであると見なされます。

/format

/noprompt オプションを指定している場合、各変更セットを表示するときの詳細レベルを指定します。

  • Brief (既定): 各変更セットについて ID 番号、変更内容、変更者、日付、コメントが 1 行で表示されます。 データによっては切り捨てられる場合があります。

  • 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

次のいずれかの順序で 1 つ以上のファイルまたはフォルダーのリビジョン履歴を並べ替えます。

  • Ascending: 最も古いリビジョンから最も新しいリビジョンへの順序。

  • Descending (既定): 最も新しいリビジョンから最も古いリビジョンへの順序。

/noprompt オプションはこのオプションと組み合わせて使用する必要があります。

/stopafter:<number>

履歴データに表示する変更セットの最大数を指定します。

/user:<username>

履歴データをフィルター処理して、指定したユーザーによる変更のみが表示されるようにします。 アスタリスク (*) を指定すると、すべてのユーザーによる変更が表示されます (既定)。

/version:<versionspec>

範囲を示す ~ 構文を使用して、最大バージョン、または最小バージョンと最大バージョンのいずれかを指定します。 既定は /version:W (ワークスペース内のバージョン) です。

このオプションは /slotmode オプションと併用できません。

構文については、「Team Foundation バージョン管理コマンドの使用」を参照してください。

解説

  • 関連付けられている作業項目を表示する場合など、変更セットに関する詳細な情報を取得するには、以下を実施します。

    • Visual Studio の [履歴] ウィンドウで、変更セットをダブルクリックまたは右クリックし、[変更セットの詳細] をクリックします。

    • コマンド プロンプトから Changeset コマンドを使用します。

  • /collection オプションが便利なのは、対象項目を含むプロジェクト コレクションにワークスペースがマップされてないコンピューターとユーザー アカウントから、このコマンドを実行する場合です。

次の例では、c:\code\SiteApp\Main がワークスペース内の メイン フォルダーにマップされていることを想定しています。

1 つのファイルの履歴を取得する

次の例では、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

フォルダー内のすべての項目に加えられた最新 5 件の変更の履歴を取得する

次の例では、SolutionA 内の項目 (サブフォルダー内の項目も含む) に加えられた最新の 5 つの変更をコマンド プロンプト ウィンドウに表示します。

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 以前の履歴を取得する

次の例では、バージョン 30 以前の SolutionA 内のすべての項目 (サブフォルダー内の項目も含む) に加えられた変更をコマンド プロンプト ウィンドウに表示します。

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 以前の履歴を取得する

次の例では、2012 年 4 月 23 日以前の SolutionA 内のすべての項目 (サブフォルダー内の項目も含む) に加えられた変更をコマンド プロンプト ウィンドウに表示します。

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

日付の範囲から履歴を取得する

次の例では、2012 年 4 月 12 日から 2012 年 4 月 23 日の間の SolutionA 内のすべての項目 (サブフォルダー内の項目も含む) に加えられた変更をコマンド プロンプト ウィンドウに表示します。

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 

詳細な履歴を取得する

次の例では、2012 年 4 月 12 日から 2012 年 4 月 23 日の間の SolutionA 内のすべての項目 (サブフォルダー内の項目も含む) に加えられた変更に関する詳細情報をコマンド プロンプト ウィンドウに表示します。

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.

フォルダーの非再帰的な履歴を取得する

次の例では、SolutionA フォルダーの履歴を Visual Studio の [履歴] ウィンドウに表示します。これにより、フォルダーに加えられた以前の変更をたどることができます。 たとえば、フォルダーに加えられた最新の変更が名前の変更だった場合、変更セットを展開して名前の変更前に発生した変更を確認できます。

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

次の例では、SolutionA フォルダーに加えられた最新の変更をコマンド プロンプト ウィンドウに表示します。

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