行历史查看器 - Git

时间:2013-03-27 14:15:43

标签: git line versioning

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

有人知道这样的工具吗?

8 个答案:

答案 0 :(得分:53)

也许annotations in IntelliJ IDEA正在寻找:

the left gutter with enabled annotations

显示和隐藏注释

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

答案 1 :(得分:26)

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

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

答案 2 :(得分:4)

git blame docs

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

用法示例

当你有兴趣找到文件foo的第40-50行的原点时,你可以像这样使用-L选项(它们的意思相同 - 都要求从第40行开始的11行):

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

如果你想在特定的提交之前找出谁编辑了这些行,你可以指定git blame的修订版(而不是默认的HEAD)(在这个例子中为fe25b6d; fe25b6d ^是父的fe25b6d):

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

答案 3 :(得分:3)

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

示例视图: enter image description here

如何设置: enter image description here enter image description here

答案 4 :(得分:2)

正如Can Git show history for selected lines?

中的一条评论所述
git show $(git blame example.js -L 250,260 | awk '{print $1}')

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

答案 5 :(得分:2)

如果您使用的是IntelliJ,则其注释提供了一个对先前版本进行注释的选项。使用此选项,您可以返回该行的历史记录。

在下面的屏幕快照中找到,该屏幕快照显示了此选项及其在社区版中的可用。

enter image description here

答案 6 :(得分:1)

git log docs

git-log显示提交日志。

用法示例

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

git log -L 40,50:foo.txt

答案 7 :(得分:0)

在IntelliJ中,选择一行/多行后,可以在git子菜单中使用显示历史记录进行选择。

enter image description here