长文件路径和不必要的时间戳使我很难读取git blame
的输出。我想从输出中删除这些列,但保留SHA,行号和作者名。
我在the docs中看到-f
或--show-filename
标记 include 文件名(即使默认情况下已包含文件名),但没有出现作为删除文件名的标志。我经常在单个文件上使用git blame
,所以我已经知道我要查看哪个文件。
我还看到了一个同时禁止作者姓名和时间戳(-s
)的标志,但是我希望保留作者姓名,因此该标志无法满足我的需要。
我什至尝试将-s
标志与-e
标志结合起来(使用作者的电子邮件地址代替他们的名字),但是这种技巧无法为作者输出任何信息。
有什么想法吗?
答案 0 :(得分:2)
如果没有这样的选项,则可以使用sed
:
git blame --date=short <filename> | sed -e 's, [^(]*, ,' -e 's, [^ ]*\( *[0-9]*)\), \1,'
如果文件名中带有括号,则第一个正则表达式将需要微调。 (希望您不会)即使没有文件名也可以正常工作。