我有一个Git别名,扩展为:
git log --graph --oneline --all --decorate
根据man git log
,有几个可疑选项:--not
和--branches
;但我不能使它正常工作。
我该如何编辑以隐藏藏匿处?
仅供参考:根据accepted question和comment我的.gitconfig
别名现在看起来像这样:
[alias]
l = log --branches --remotes --tags --graph --oneline --decorate --notes HEAD
答案 0 :(得分:100)
不要执行--all
然后尝试过滤掉藏匿处,而不是首先将它们包含在内:
git log --branches --remotes --tags --graph --oneline --decorate
之后尝试过滤它们所产生的主要问题是,如果存储是该分支上的最新提交(因为即使它不是分支的head
,它仍然是最新的后代它实际上可以从日志中过滤掉整个分支,这不是你想要的。
答案 1 :(得分:4)
我的别名:
[alias]
l = log --oneline --decorate --graph --exclude=refs/stash
在这种情况下,您将能够使用这些表单而不显示存储:
git l
git l feature234
针对特定分支git l --all
了解整体历史从手册:
- exclude =< glob pattern>
不要包含与下一个--all, - branch, - target, - remote或--glob会考虑的refs匹配。
答案 2 :(得分:3)
请注意,Andrew's answer不能用于隐藏StGit 1。)分支<branch>.stgit
(来自StGit版本0.15),否则会丢弃输出无法使用。
目前我使用以下解决方案:
$ git log --graph --oneline --decorate \
$(git for-each-ref --format="%(refname)" refs/heads/ refs/remotes/ |
grep -v "\.stgit$")
1。) StGit(“ St acked Git ”)为Git提供类似Quilt / mq的功能(即向/从堆栈中推送/弹出补丁。)