当我git log --decorate --oneline --graph --all
时,我希望看到所有分支的图表,但是其他开发人员的私人分支。
我是否可以告诉git log
忽略与模式匹配的分支,例如git log --all --ignore-branches="origin/private_*"
?
答案 0 :(得分:1)
git log
命令使用git rev-list
来显示提交内容,因此您可以提供给git rev-list
的所有内容都可用。
不幸的是,内置的“除了......之外的所有分支”都没有。是一个拼写为--remotes=
的选项,它接受shell-glob风格的模式,所以你可以看一下例如,--remotes="origin/[b-d]*"
在origin/brine
和origin/bubbly
排除时origin/derp
,origin/argyle
和origin/egret
。但是,除了origin/private_*
之外,其他所有内容都很难。
如果您愿意调用管道,git for-each-ref
通过grep -v
传送是显而易见的方法。您可以git for-each-ref
生成所有本地和/或远程分支名称,使用grep -v
丢弃不需要的分支名称,并将结果作为参数提供给git log
。
答案 1 :(得分:1)
我猜您正在寻找--not
选项。所以这个命令应该可以工作。
git log --decorate --oneline --graph --all --not --remotes="origin/private_*"