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



长的文件路径和不需要的时间戳使我很难读取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,'

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

相关内容

  • 没有找到相关文章

最新更新