行历史查看器 - 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的主要内容,如果未能解决你的问题,请参考以下文章