【问题标题】:How can I get git log to print only the initials of author names?如何让 git log 只打印作者姓名的首字母?
【发布时间】:2015-03-26 05:53:32
【问题描述】:

无论如何我可以从参数内部调用一个函数 git log--format 标志?类似于以下内容:

git log --graph --format "${%ani:0:4}" 

(这不是一个真正的函数,但你明白了)。

更具体地说,我想减少提交者的姓名(理想情况下,只保留他/她的首字母),这样我的图表日志就不会变得太宽。我该怎么做?

【问题讨论】:

  • 您不能在--format 的参数中使用命令替换,但您可以将git log 的输出通过管道传输到sed/awk 以进行后处理。你想得到什么输出,究竟是什么?提交作者的姓名缩写?
  • 我应该在发布我的答案之前等待澄清......我认为你不能在 --graph 上做到这一点。
  • 好吧,我觉得您不必删除答案,如果不可能,我认为您的答案至少是最接近踏脚石的东西...
  • 很遗憾,如果您使用--graph,我现在删除的答案根本不适用。
  • 应该是用sed / awk 重新训练--graph 的方法吧?我闻到了挑战的味道……

标签: git git-log


【解决方案1】:

假设这两个贡献者:

git log --graph --pretty=format:"%an"
*   Vlastimil Ovčáčík
|\
| * Willem D'Haeseleer
| * Willem D'Haeseleer
|/
* Vlastimil Ovčáčík

您可以这样显示第一作者的姓名首字母:

git log --graph --pretty=format:"%<(3,trunc)%an%x08%x08"
*   V
|\
| * W
| * W
|/
* V

我知道,这仅回答了您的问题 50%,而且不是很实用。

它通过打印作者姓名的前3个字母来工作;如果更长,则将截断名称以适应指定的限制,并将最后两个字符替换为 .. 以表示截断。所以只打印了名称中的一个字母。然后通过输入两次退格键%x08%x08@987654321@@987654322@)删除这两个点。

我个人喜欢使用作者姓名的前 4 个字母

git log --graph --pretty=format:"%<(6,trunc)%an%x08%x08"
*   Vlas
|\
| * Will
| * Will
|/
* Vlas

如果您坚持使用两个字母,我可能会将名称 @987654323@ 和来自他/她的电子邮件地址 @987654324@ 的电子邮件用户名“散列”在一起。

git log --graph --pretty=format:"%<(3,trunc)%an%x08%x08%<(3,trunc)%al%x08%x08"
*   Vx
|\
| * Wy
| * Wy
|/
* Vx

(x,y 是我们电子邮件地址首字母的占位符)


如果您真的想显示正确的首字母缩写,我认为可以通过手动重新映射 @987654325@ 文件中的作者姓名来实现。另见@987654326@

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-26
    相关资源
    最近更新 更多