历史记录命令 (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
(默认值):显示一行关于每个变更集的行,其中包括: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
,工作区中的版本。
不能将此选项与 /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 或更早版本所做的更改:
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 和 2012 年 4 月 23 日之间):
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 History 窗口中 SolutionA 文件夹的历史记录,这使你可以浏览对文件夹的早期更改。 例如,如果对文件夹的最新更改是重命名,则可以展开更改集以查看重命名之前发生的更改。
c:\code\SiteApp\Main\SolutionA>tf history .
以下示例显示命令提示符窗口中 SolutionA 文件夹的最新更改。
c:\code\SiteApp\Main\SolutionA>tf history . /noprompt
相关文章
- 有关如何使用 历史记录 窗口的信息,请参阅 获取项的历史记录。
- 有关更改集的详细信息,请参阅 查找和查看更改集。
- 另请参阅 查看和管理以前的版本。