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
関連記事
- [履歴] ウィンドウの使用方法については、「項目の履歴の取得」を参照してください。
- 変更セットの詳細については、「変更セットの検索と表示」を参照してください。
- 「旧バージョンの表示と管理」も参照してください。