从git-blame删除文件名和时间戳

时间:2019-03-27 23:00:54

标签: git git-blame

长文件路径和不必要的时间戳使我很难读取git blame的输出。我想从输出中删除这些列,但保留SHA,行号和作者名。

我在the docs中看到-f--show-filename标记 include 文件名(即使默认情况下已包含文件名),但没有出现作为删除文件名的标志。我经常在单个文件上使用git blame,所以我已经知道我要查看哪个文件。

我还看到了一个同时禁止作者姓名和时间戳(-s)的标志,但是我希望保留作者姓名,因此该标志无法满足我的需要。

我什至尝试将-s标志与-e标志结合起来(使用作者的电子邮件地址代替他们的名字),但是这种技巧无法为作者输出任何信息。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

如果没有这样的选项,则可以使用sed

git blame --date=short <filename> | sed -e 's, [^(]*, ,' -e 's, [^ ]*\( *[0-9]*)\), \1,'

如果文件名中带有括号,则第一个正则表达式将需要微调。 (希望您不会)即使没有文件名也可以正常工作。