如何覆盖git log --format=oneline的实际格式?

3
我有一个难题需要解决(我不想打扰您)。为了排除这个问题,我发现在我的失败系统上,命令是:
$ git log --pretty=oneline

等同于:
$ git log --pretty=format:%H%x20%s

这会产生一个长的哈希输出。同时
$ git log --oneline

生成短哈希输出,这是所需要的输出。
在未出现故障的系统上,“--pretty=oneline”格式等同于:
$ git log --pretty=format:%h%x20%s

这使得哈希输出变短。
我一直在寻找如何覆盖 Git 中的 oneline 配置,似乎 oneline 是硬编码的,即我不能使用以下方式更改格式:
$ git config --global pretty.oneline %h%x20%s

我可以制作不同的漂亮格式。
$ git config --global pretty.myline %h%x20%s

它将很好地显示短哈希值。
$ git log --pretty=myline

问题在于我想排除依赖性问题,以确保精确的日志命令哈希输出长度。我不能使用不同的命令。
$ git log --pretty=format:%h%x20%s

有没有一种方法可以覆盖类似于oneline的漂亮格式呢?

没有别的办法,但是你可以存储自己的漂亮格式 - phd
"--oneline" 可以覆盖 "--pretty=oneline"。另一个 "--pretty" 也可以。如果你必须使用 "git log --pretty=oneline" 没有任何其他选项,似乎没有解决办法。 - ElpieKay
我找到了一些选项: git config --global log.abbrevCommit 1 git config --global core.abbrev 7 - Peeter Vois
1个回答

2
你的整体分析是正确的,我明白你想要实现什么,但是内置的漂亮格式不幸地是固定的
doc中可以看到:

请注意,与内置格式同名的别名将被静默忽略。


然而,这两个 Git 环境之间的差异可能会以其他方式得到平衡。也许考虑将两个安装版本升级到相同的 Git 版本?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接