无法弄清楚git责备的报道

时间:2013-05-27 19:55:49

标签: git

我正在尝试git blame特定文件。如果我理解正确,它会显示对文件所做的所有修改以及由谁执行 但是当我运行命令时,结果不会以有序的方式出现。我必须搜索条目,以确定哪个是按日期的最后一次更改 报告结果的顺序是什么?我怎样才能按照修改顺序得到报告?

2 个答案:

答案 0 :(得分:6)

git blame <filename>为文件中的每一行显示最后一次更改该行的提交。

要获取触及文件的提交列表,请使用git log <filename>,也可以使用-p查看更改。

答案 1 :(得分:3)

git blame“用最后修改该行的修订版中的信息注释给定文件中的每一行。”输出按文件中的行排序。这是典型的输出:

b62460a4 base.scm        (GoZoner 2011-01-11 17:44:21 -0800   1) ;-*- Mode: scheme -*-
b62460a4 base.scm        (GoZoner 2011-01-11 17:44:21 -0800   2) ;
b62460a4 base.scm        (GoZoner 2011-01-11 17:44:21 -0800   3) ; File:    base.scm
b62460a4 base.scm        (GoZoner 2011-01-11 17:44:21 -0800   4) ; Date:    Tue Jan 11 2011
...
528c5424 base.scm        (GoZoner 2012-04-21 10:01:14 -0700  26) ; ______________________________________________
b62460a4 base.scm        (GoZoner 2011-01-11 17:44:21 -0800  27) 
499ff1ef base.scm        (GoZoner 2010-10-21 22:08:30 -0700  28) (library (quirk base)
d1376b80 base.scm        (GoZoner 2011-01-01 16:31:00 -0800  29)   (export ignore identity always compose complem
6150ec79 base.scm        (GoZoner 2013-04-22 08:02:43 -0700  30)        iota choose choose-by split substitute de
9fc800e6 base.scm        (GoZoner 2010-10-28 07:36:01 -0700  31)        any? every? count index while until repea
499ff1ef base.scm        (GoZoner 2010-10-21 22:08:30 -0700  32)        member? associate
93933128 base.scm        (GoZoner 2010-10-22 01:03:43 -0700  33)        intersection union difference
3e3f47ee base.scm        (GoZoner 2010-11-20 15:59:38 -0800  34)        list-ref-at list-set-at list-ref-last lis
3e3f47ee base.scm        (GoZoner 2010-11-20 15:59:38 -0800  35)        vector-ref-at vector-index
5eae93ea base.scm        (GoZoner 2010-10-23 10:30:37 -0700  36)        symbol-append

您可以看到:每行的提交,文件名,用户,日期,行号和内容。

如果您想要按日期分组的内容,您有两种选择:

  • git log -- <filename>以反向时间顺序显示提交 订单
  • git show <commit> -- <filename>显示对文件的更改 对于给定的提交。