有没有办法自定义混帐的输出?

git log有一个很好的--format选项来指定输出的格式。

git blame似乎并没有相当的,虽然blame默认输出是不太人性化。 我想看得更less。

例如,而不是:

 5600cab7 js/sidebar/VehicleGrid.js (Rene Saarsoo 2009-10-08 18:55:24 +0000 127) if (x > y) { b5f1040c js/map/monitoring/VehicleGrid.js (Mihkel Muhkel 2010-05-31 07:20:13 +0000 128) return x; 

我想拥有:

 5600cab7 Rene Saarsoo (1 year ago) 127: if (x > y) { b5f1040c Mihkel Muhkel (5 months ago) 128: return x; 

我觉得我可以写一个脚本来parsinggit blame --porcelain的输出,但是考虑到可怕的默认输出,我觉得有人在那里肯定已经做了些什么。

有任何想法吗? 或者实现这样的脚本的任何提示?

编辑:通过写小脚本来解决它。

你可以使用替代的输出格式: git annotate或者git blame -c

您可以使用--date=<format>选项(或blame.date configvariables)更改date的--date=<format> ,其中<format>相对,本地,默认,iso,rfc,short之一 。 有关详细信息,请参阅git-blame和git-log手册页。

对我来说,-s标志起作用,因为我需要的只是SHA1标识,之后我会查找提交细节。 一个脚本绝对看起来像矫枉过正。 -s标志在一年前是否可用?

考虑到像Trac或Redmine的Web界面集成了git blame结果,我想这样的parsing已经完成了。

你可以在这个Redmine Defect 3832中看到这个ruby脚本的例子:

  • git_adapter.rb