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