我无法让git log --branches
做我想做的事。我想在单个图中输出提交匹配这些glob模式:
users/userA/*
fix/*
master
我尝试了这些不起作用的方法(它们显示当前分支的提交):
git log --branches="users/bertgp/* /users/sessid/* master"
git log --branches="users/bertgp/*|/users/sessid/*|master"
(类似于正则表达式的语法)这可能吗?似乎glob模式没有or
语法。
我使用Git Extensions作为我的可视git客户端,使用branch filter box appends its content to a (single) --branches=
option作为git log
命令。
我打开了Git Extensions feature request来支持此功能。
答案 0 :(得分:1)
您可以多次重复--branches
选项:
git log --branches="users/bertgp/*" --branches="/users/sessid/*"
在bash中,可以利用大括号扩展来压缩它,
git log --branches={"users/bertgp/*","/users/sessid/*"}
但是,最有可能的是,这些原始问题的答案都不适用于Git Extensions。
答案 1 :(得分:1)
这可以在Git Extensions 2.49中找到(不检查早期版本)。虽然很麻烦......
实际上,分支过滤器中的文本按原样插入到git命令行中(或以--branches=
为前缀),而没有转义或类似的东西。这意味着您可以添加任意git选项。
以下是您应该知道的事情:
--branches=
为前缀--branches
--remotes
/*
添加到分支的末尾,因此您无法使用--branches=master
,而应该使用--branches=maste[r]
伪造一些例子:
users/berniegp/* --branches=maste[r]
应该做你要求的。它将由GitExt转换为--branches=users/berniegp/* --branches=maste[r]
users/berniegp/* --branches=maste[r] --remotes=origin/users/berniegp/*
还显示远程跟踪分支(origin / users / berniegp / *)
--reflog
显示还提交来自reflog的引用。可能对查找“丢失”提交有用吗?
--bisect
应该(我实际上没有尝试)显示引入问题的提交范围(好与坏之间)
--reverse
以相反的顺序显示提交。
git log
(https://git-scm.com/docs/git-log)