perforce 有一个非常有用的命令,它可以打印出文件的所有修订版本,并带有说明文件中每一行包含哪些版本的注释。例如,假设我创建了一个文件 foo,将其签入,然后签入对该文件的两个后续更改。以下是 foo 的三个版本:
aaa aaa aaa
bbb bbb bbb
ccc ccc ccc
ddd ddd
eee fff
fff
这是 p4 annotate -a 打印的内容:
1-3: aaa
1-3: bbb
1-3: ccc
2-3: ddd
2-2: eee
2-3: fff
我看到了 foo 的整个历史,并带有注释,指出哪些版本包含每一行。
AFAICT, git blame 只给出包含每一行的最后一个版本。带有镐的 git log 仅打印与模式匹配的行,并给出提交消息而不是文件本身中的行。
有什么方法可以在 git 中执行类似于上述 perforce 命令的操作吗?
提前致谢,
格雷格