1

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

我在文档中看到-for--show-filename标志包含文件名(即使它默认包含在内),但似乎没有删除文件名的标志。我经常git blame在单个文件上使用,所以我已经知道我正在查看哪个文件。

我还看到一个用于禁止作者姓名和时间戳 ( -s) 的标志,但我更愿意保留作者姓名,因此该标志不适用于我需要的内容。

我什至尝试将-s标志与-e标志结合起来(使用作者的电子邮件而不是他们的姓名),但该技巧未能为作者输出任何内容。

有任何想法吗?

4

1 回答 1

2

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

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

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

于 2019-03-27T23:27:04.243 回答