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