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只给出包含每一行的最后一个版本。带有pickaxe的git log只打印与模式匹配的行,并提供提交消息而不是文件本身中的行。
有没有办法在git中执行类似于上面的perforce命令的东西?
提前致谢,
格雷格
答案 0 :(得分:1)
在Git中没有任何直接的等价物 - 因为Git没有线性历史,像1-3
这样的东西是没有意义的。
答案 1 :(得分:0)
我可以使用git blame
- 它会显示每行的源提交。
这可能不是你想要的,但它是朝着正确方向迈出的一步。您可以将该输出与git log
的输出结合起来,并构建您想要的结果。
答案 2 :(得分:0)
如何使用git annotate
,它可以输出每个文件的详细注释