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

How to override git log --format=oneline actual format?

我有一个很难排除的问题(我不想打扰你)。为了排除这个问题,我发现在我的故障系统上命令

$ git log --pretty=oneline

等同于:

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

这使得长散列输出。同时

$ git log --oneline

生成短散列输出。这是所需的输出。

在未发生故障的系统上,--pretty=oneline 格式等同于:

$ git log --pretty=format:%h%x20%s

这使得哈希输出很短。

我一直在寻找如何覆盖 git 中的单行配置,似乎单行是硬编码的,即我无法更改格式:

$ 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这样漂亮的格式?

你的整体分析是正确的,我明白你想要实现的,但是不幸的是内置的漂亮格式被修复了

来自doc :

Note that an alias with the same name as a built-in format will be silently ignored.


但是,这两个 git 环境之间的差异可能会以其他方式拉平。也许考虑将两个安装都安装到相同的 git 版本?