忽略一组分支分支,如origin / private_ *

时间:2014-02-18 12:55:02

标签: git

当我git log --decorate --oneline --graph --all时,我希望看到所有分支的图表,但是其他开发人员的私人分支。

我是否可以告诉git log忽略与模式匹配的分支,例如git log --all --ignore-branches="origin/private_*"

2 个答案:

答案 0 :(得分:1)

git log命令使用git rev-list来显示提交内容,因此您可以提供给git rev-list的所有内容都可用。

不幸的是,内置的“除了......之外的所有分支”都没有。一个拼写为--remotes=的选项,它接受shell-glob风格的模式,所以你可以看一下例如,--remotes="origin/[b-d]*"origin/brineorigin/bubbly排除时origin/derporigin/argyleorigin/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_*"