如何在Visual Studio Code中查看Git历史记录?

461
我可以在Visual Studio Code中执行各种Git命令,但我找不到一种可视化历史记录的方法。

33
奇怪的是,它藏在时间轴下的“资源管理器”标签中,而不是Git标签中... :-) - user3043860
11个回答

329

Visual Studio Code 1.44或更高版本中,您无需插件即可查看提交历史。

时间线视图

这是一个统一的视图,用于可视化文件的时间序列事件(例如Git提交、文件保存、测试运行等)。时间线视图会自动更新,显示当前活动编辑器的时间线,默认情况下。您可以通过在视图工具栏中切换眼睛图标来控制此默认行为。此外,与其他视图类似,时间线视图支持按类型查找或过滤。

时间线视图默认折叠在文件资源管理器底部。选择时间线拖条将展开时间线视图。

enter image description here

[...]

以下是时间线视图的实际效果:

enter image description here


58
它能显示分支历史吗?看起来只展示选定文件的历史。 - Vimes
3
不,目前它是一个资源(文件、文件夹)的时间序列事件(这里指 Git 提交)。 - VonC
1
@VonC,在时间轴中,是否有一种方法可以显示特定文件的整个提交所显示的差异细节?是否有一种方法可以在vsc中呈现“git show <commit id>”视图,而不是命令行vi编辑器体验? - myusrn
12
它似乎不能显示文件夹的历史记录,只能针对单个特定文件。 - PeteH32
2
救了我的一天。当我执行 git reset --hard 后,丢失了一个文件,并且无法通过 git 恢复它,所以 VSCode 提供了解决方案。 - testing_22
显示剩余2条评论

292

我向你推荐这个仓库,https://github.com/DonJayamanne/gitHistoryVSCode

Git History Git History

它能满足你的需求,并具有以下功能:

  • 查看提交详情,如作者姓名、电子邮件、日期、提交者姓名、电子邮件、日期和注释。
  • 查看文件以前的复制品或将其与本地工作区版本或以前的版本进行比较。
  • 查看编辑器中活动行的更改 (Git Blame)。
  • 配置列表中显示的信息
  • 使用键盘快捷键查看文件或行的历史记录
  • 查看 Git 日志(连同提交的详细信息,如作者姓名、电子邮件、注释和文件更改)。

33
请注意,您可以直接从市场上下载它。 - aloisdg
10
Visual Studio Code的Git History插件可在市场上获得,链接为https://marketplace.visualstudio.com/items?itemName=donjayamanne.githistory。该插件可让用户查看Git存储库的历史记录,并提供有关提交的详细信息。 - naXa stands with Ukraine
1
这只显示安装后的历史记录吗?或者您是否能够看到在安装之前执行的命令(也许VS Code会将其存储在某个无法访问的地方)? - Magne
1
不,我已经安装了它,但无法看到以前的历史记录。只有在安装后才会显示历史记录。 - Sathwik Gangisetty
4
我曾使用GitLens,但发现它非常复杂,界面上有太多选项。相比之下,这个工具更加直观简单。目前为止我很喜欢它。 - Marc.2377
显示剩余4条评论

113

GitLens拥有一个不错的Git历史浏览器。从扩展市场安装GitLens,然后在命令面板中运行“显示GitLens浏览器”。


1
GitLens 的最新版本非常好。它添加了一个方便的侧边栏按钮,并允许您更好地可视化跨多个分支的更改。 - cham
1
是的,我使用过那个扩展,并且强烈推荐它,因为它可以实时显示当我点击某个链接时的情况。参考:https://academy.byidmore.com/post/Find-Out-Who-Working-on-This-Line-Via-GitLens-5bd710931bde484c8fbedd33 - yussan
1
@JosephSheedy,GitLens 似乎是最受欢迎(下载量)的扩展插件,原因不言自明。 - prosti
好的插件。对我来说叠加太多了。stackoverflow.com/a/60013101/229906 内置于vscode中的正是我所寻找的。 - 0llie
GitLens > gitHistory - Tchakabam

63

在我看来,GitLens是Git历史记录中最受欢迎的扩展。

我最喜欢的功能是它可以在某行上次修改时和修改人员的情况下提供侧边注释。

enter image description here

Enter image description here


47

简单而高效。 - Mike

40

您不需要安装扩展程序,只需打开资源管理器,然后单击时间线选项卡即可。

资源管理器中的时间线

如果您不想在资源管理器中查看,还可以将其拖放到侧边栏、源代码控制或其他任何位置!

在侧边栏

如果您需要更多高级功能,例如可视化等,那么您需要安装扩展程序。


1
时间轴只显示单个文件的日志,而不是分支的日志。 - undefined

33

我强烈推荐使用GitLensGitGraph的组合。

下面的快照突出了GitLens如何展示随时间变化的提交情况

enter image description here

以下图片是GitGraph的惊人而生动的展示效果

enter image description here


15

Git Graph 看起来是一个不错的扩展。安装后,您可以从底部状态栏打开图形视图。


1
当您打开文件或欢迎页面时,您会在右上角找到正确的图标以单击。

Enter image description here

而且你可以添加一个键盘快捷键:

Enter image description here


22
JIC: 在查看此选项之前,您需要先安装 Git History 扩展。 - Jhegs
1
你能否更新你的答案并列出前提条件(在测试后确认是否为实际情况)? - Peter Mortensen
谢谢@Jhegs,不知怎么的我忘记重新安装那个扩展了,一直在设置里到处寻找这个功能 ‍♂️ - neojp

1
在 Visual Studio Code 中,有另一种舒适的方式来浏览文件的提交历史记录,就是使用 Gitlens 扩展程序。
一旦安装了 Gitlens,就可以从 VCS 菜单中访问"文件历史"和"行历史"这两个功能。
关于如何使用以及文档参考的详细解释,请参见this answer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接