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。