Git显示日志中的所有分支(但不是寄存器)

我有一个扩展到的Git别名:

git log --graph --oneline --all --decorate 

根据man git log ,有几个可疑的选项: – 不 – 和 – --branches ; 但我不能使它正常工作。

我应该如何编辑,以隐藏包装?


仅供参考 :根据接受的问题和评论,我的.gitconfig别名现在看起来像这样:

 [alias] l = log --branches --remotes --tags --graph --oneline --decorate --notes HEAD 

而不是做 – 然后试图过滤掉这些藏品,不要把它们放在首位:

 git log --branches --remotes --tags --graph --oneline --decorate 

之后试图过滤出来的主要问题是,如果存储是该分支上的最新提交(因为即使它不是分支的head ,它仍然是最近的后代),它实际上可以过滤从日志中取出整个分支,这不是你想要的。

请注意, 安德鲁的回答将无法隐藏StGit 1.)分支<branch>.stgit (从StGit版本0.15),否则枯竭输出使其不可用。

目前我使用以下解决scheme:

 $ git log --graph --oneline --decorate \ $(git for-each-ref --format="%(refname)" refs/heads/ refs/remotes/ | grep -v "\.stgit$") 

1.) StGit(“ St ack Git ”)为Git提供了类似Quilt / mq的function(即将补丁推入/popup堆栈)。

我的别名:

 [alias] l = log --oneline --decorate --graph --exclude=refs/stash 

在这种情况下,您将能够使用这些表单而不显示隐藏:

  • git l当前分支
  • git l feature234为一个特定的分支
  • git l --all的历史

从手册:

–exclude = <glob pattern>

不要包含与下一个 – all,–branches,–tags,–remotes或–glob会另外考虑的ref相匹配的ref。