在顶部显示git log --graph --decorate with HEAD

now*_*wox 6 git git-log

使用此命令:

git log --all -n30 --graph --abbrev-commit --decorate \
   --date=relative --format=format:'%h - (%ar) %s - %an%d'
Run Code Online (Sandbox Code Playgroud)

我将得到一棵美妙的树,这正是我正在寻找的,除了HEAD并不总是在顶部.

如果我删除该--all选项,我也将丢失所有显示的分支.

如何将HEAD保持在顶部并仍然可以看到最后30个元素可见的完整树?

换句话说,我得到的是

   * d4b7d5a - (foo)
   * * 44f53e2 - (HEAD)
   |/
   * 4587f32 - (bar)
Run Code Online (Sandbox Code Playgroud)

而我想得到的是:

   * 44f53e2 - (HEAD)  <- HEAD on the top
   | * d4b7d5a - (foo)
   |/
   * 4587f32 - (bar)
Run Code Online (Sandbox Code Playgroud)

Mar*_*one 1

不幸的是,我不相信这是可能的,因为 d4b7d5a(foo) 提交是在你的 HEAD 之后进行的。您可以颠倒日志的顺序,但这不是重点。我知道让 HEAD 始终位于顶部的唯一方法是使用“--before”选项来仅显示 HEAD 之前所做的提交。

您可以在此处找到有关 --before 和其他过滤器的更多信息: https: //www.atlassian.com/git/tutorials/git-log

无论如何,您可以在这里找到类似的问题: Git log --graph; 前往顶部

但那里也没有解决办法。