我正在尝试git blame
一个特定的文件。如果我理解正确,它会显示对文件所做的所有修改以及由谁进行的修改。
但是当我运行命令时,结果并没有以有序的方式出现。我必须搜索条目以确定日期的最后一次更改。
报告结果的顺序是什么?我怎样才能根据修改的顺序得到报告?
问问题
523 次
2 回答
6
git blame <filename>
对于文件中的每一行,显示更改该行的最后一次提交。
要获取涉及文件的提交列表,请使用git log <filename>
,可能-p
还可以查看更改。
于 2013-05-27T19:59:12.550 回答
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>
显示给定提交的文件更改。
于 2013-05-27T20:39:27.277 回答