长的文件路径和不需要的时间戳使我很难读取git blame
的输出。 我想从输出中删除这些列,但保留 SHA、行号和作者姓名。
我在文档中看到 -f
或 --show-filename
标志包含文件名(即使默认情况下包含它(,但似乎没有用于删除文件名的标志。 我经常在单个文件上使用git blame
,所以我已经知道我正在查看哪个文件。
我还看到一个用于抑制作者姓名和时间戳(-s
(的标志,但我更愿意保留作者姓名,因此此标志不适用于我需要的。
我什至尝试将 -s
标志与 -e
标志结合起来(使用作者的电子邮件而不是他们的名字(,但该技巧未能为作者输出任何内容。
有什么想法吗?
如果没有这样的选项,可以使用sed
:
git blame --date=short <filename> | sed -e 's, [^(]*, ,' -e 's, [^ ]*( *[0-9]*)), 1,'
如果文件名中有括号,则第一个正则表达式将需要微小的调整。(希望你没有(即使没有文件名,它也能正常工作。