显示 git log --graph --decorate with HEAD on top

Display git log --graph --decorate with HEAD on top

使用此命令:

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

我会得到一棵美妙的树,这正是我正在寻找的,只是 HEAD 并不总是在顶部。

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

我怎样才能既让 HEAD 保持在顶部,又能看到完整的树直到最后 30 个元素可见?

换句话说我得到的是

   * d4b7d5a - (foo)
   * * 44f53e2 - (HEAD)
   |/
   * 4587f32 - (bar)

而我想要得到的是:

   * 44f53e2 - (HEAD)  <- HEAD on the top
   | * d4b7d5a - (foo)
   |/
   * 4587f32 - (bar)

不幸的是,我认为这是不可能的,因为 d4b7d5a(foo) 提交是在您的 HEAD 之后进行的。您可以颠倒日志的顺序,但这不是重点。我知道让 HEAD 始终位于最前面的唯一方法是像选项“--before”这样的东西,它只显示在 HEAD 之前所做的提交。

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

无论如何,你可以在这里找到类似的问题: Git log --graph; HEAD to top

但是也没有解决办法