行历史查看器 - Git

Posted

技术标签:

【中文标题】行历史查看器 - Git【英文标题】:Line history viewer - Git 【发布时间】:2013-03-17 16:01:09 【问题描述】:

我想知道你们中是否有人知道一种工具,它可以让我在代码中选择一行,然后逐个提交地查看该行历史的列表视图。

有人知道这样的工具吗?

【问题讨论】:

【参考方案1】:

我只知道 IntelliJ IDEA“Viewing Changes History for Selection”功能。

您还可以尝试使用多个git blame 命令来迭代片段的历史记录。

【讨论】:

我使用 phpStorm,所以我能够使用“显示历史以供选择”感谢您的帮助 Kan。 此功能是否仅在 intellij 的许可版本中可用?我无法查看我的选择的详细历史记录。【参考方案2】:

正如Can Git show history for selected lines? 中的一个 cmets 中所建议的那样

git show $(git blame example.js -L 250,260 | awk 'print $1')

更多信息:Every line of code is always documented.

【讨论】:

【参考方案3】:

也许annotations in IntelliJ IDEA是你要找的:

显示和隐藏注释

    在编辑器中打开所需的文件。 要显示注释,请右键单击左侧装订线,然后选择注释: 要隐藏注释,请右键单击注释槽,然后选择关闭注释

【讨论】:

观看此视频以了解有关如何从使用注释中受益的更多信息:youtu.be/R8QW8s4Ibio 如果我想查看我的选择的历史记录会有用吗?它只显示该行的最后一次提交详细信息,但是如果我想查看该行代码的整个历史记录怎么办?【参考方案4】:

git 责备 (docs)

git-blame 显示上次修改文件每一行的版本和作者。

使用示例

当您有兴趣查找文件 foo 的第 40-50 行的来源时,您可以像这样使用 -L 选项(它们的含义相同 — 都要求从第 40 行开始的 11 行):

git blame -L 40,50 foo.txt
git blame -L 40,+11 foo.txt

如果您想找出在特定提交之前谁编辑了该行(在此示例中为 fe25b6d;fe25b6d^ 是fe25b6d):

git blame -L 40,+11 fe25b6d^ -- foo.txt

【讨论】:

【参考方案5】:

git 日志 (docs)

git-log 显示提交日志。

使用示例

您可以指定 -L 选项来跟踪由 "," 给出的行范围的演变。您可以多次指定此选项。

git log -L 40,50:foo.txt

【讨论】:

【参考方案6】:

如果您使用的是 IntelliJ,那么它的注释功能提供了一个选项来对以前的版本进行注释。使用此选项,您可以返回该行的历史记录。

在下面的屏幕截图中可以看到,此选项及其在社区版中也可用。

【讨论】:

【参考方案7】:

在 IntelliJ 中,您可以在选择一行/多行后,在 git 子菜单中使用 show history 进行选择。

【讨论】:

【参考方案8】:

如果您想查看inline 此类信息,则可以添加GitToolBox 插件。 Live example on YT

示例视图:

如何设置:

【讨论】:

以上是关于行历史查看器 - Git的主要内容,如果未能解决你的问题,请参考以下文章

Git查看历史记录

git 命令 查看历史提交 git log

怎么查看电脑重启记录

git小技巧:git blame && git show 查看某一行代码的修改历史

如何更新查看器等根节点?

git 分布式控制版本管理器(上)