我试图像这样过滤我在github上的所有问题:
label:bug OR label:enhancement
但是显然那是行不通的。我发现此页面 https://help.github.com/articles/searching-issues/ ,我认为它必须写在这里,但我不知道该怎么做。
难道真的不能过滤两个标签的问题吗?我的意思是,这将是一项基本任务,不是吗?
好吧,如果有人可以给我提示这件事,我将很高兴听到。
我试图像这样过滤我在github上的所有问题:
label:bug OR label:enhancement
但是显然那是行不通的。我发现此页面 https://help.github.com/articles/searching-issues/ ,我认为它必须写在这里,但我不知道该怎么做。
难道真的不能过滤两个标签的问题吗?我的意思是,这将是一项基本任务,不是吗?
好吧,如果有人可以给我提示这件事,我将很高兴听到。
Answers:
Github不支持以这种方式搜索标签。搜索问题被认为是“ AND”而不是“ OR”。
这是用于尝试此操作的存储库。
我的期望
将会出现所有增强,功能或两者均存在的问题。
增强功能
增强
特征
实际结果
仅显示了两者。
因此,它不支持OR运算符。
更新
另一个麻烦的解决方法是在标签前使用-(减号)符号删除不需要的标签。看下面的例子
label:enhancement -label:bug -label:foo -label:bar
这将列出所有没有foo,bar和bug作为标签的项目。这会起作用,但如果标签太多,可能会变得乏味。
理想情况下,GitHub的搜索将支持括号嵌套和分组,和逻辑AND
,OR
和NOT
运营商。我想要他们支持这样的事情:
is:open AND is:pr AND (review-requested:ElectricRCAircraftGuy OR
assignee:ElectricRCAircraftGuy) AND NOT(review-requested:"team:ORGNAME/team-1") AND
archived:false AND (author:my-teammate-1 OR author:my-teammate-2 OR
author:my-teammate-3)
取而代之的是,他们的搜索更具局限性,而且也很费劲,因为它的行为非常不同,具体取决于您在哪里键入搜索。由于不支持上述搜索样式,因此,请考虑以下更有限的搜索尝试:
我的搜索:
is:open is:pr review-requested:ElectricRCAircraftGuy archived:false
author:my-teammate-1 author:my-teammate-2 author:my-teammate-3
我想要的行为是这样的:
is:open AND is:pr AND review-requested:ElectricRCAircraftGuy AND archived:false AND
(author:my-teammate-1 OR author:my-teammate-2 OR author:my-teammate-3)
但是根据您在哪里进行搜索,您将获得两种截然不同的行为。如果我转到https://github.com/- >拉取请求(在顶部),然后在此搜索栏中键入搜索内容,并以黄色突出显示:
...然后我得到以下搜索行为:
is:open AND is:pr AND review-requested:ElectricRCAircraftGuy AND archived:false AND author:my-teammate-3
请注意,除最后一个author
字段外的所有字段都被删除。您一次只能搜索一个给定的字段!这太限制了!好像我已经进行了此搜索:
is:open is:pr review-requested:ElectricRCAircraftGuy archived:false
author:my-teammate-3
但是,如果我使用下面突出显示的全局搜索栏,则可以在https://github.com/上的几乎任何位置使用全局搜索栏,然后将“我的搜索”复制并粘贴到此搜索栏中:
...然后我得到了这种搜索行为,在这种情况下,这正是我想要的:
is:open AND is:pr AND review-requested:ElectricRCAircraftGuy AND archived:false AND
(author:my-teammate-1 OR author:my-teammate-2 OR author:my-teammate-3)
这意味着,在全局搜索栏中,AND
除非给定字段有多个,否则每个搜索项都在幕后与之连接,然后OR
,如上所示,每个搜索项都在幕后与之连接。但是,在本地“拉取请求”搜索栏中,每个搜索词在幕后都与相连AND
,并且如果给定字段有多个,则删除所有的多个,除了最后一个,将保留。这就是我所说的“卷积”搜索行为,因为结果是1)令人困惑,2)不同(取决于您使用的搜索栏)和3)限制:即使您对GitHub搜索一无所知,仍然无法获得您可能想要的搜索结果。没有大量的研究和反复试验,很难理解正在发生的事情,而这正是我必须要做的。:(
因此,如果要查看my-teammate-1或my-teammate-2或my-teammate-3的所有“审阅请求”列表,该怎么办?好吧,您可以对单个全局搜索进行标记并添加书签,如下所示:
is:open is:pr review-requested:ElectricRCAircraftGuy archived:false
author:my-teammate-1 author:my-teammate-2 author:my-teammate-3
或者,您可以对3个单独的“提取请求”搜索进行标记并添加书签,例如:
is:open is:pr review-requested:ElectricRCAircraftGuy archived:false
author:my-teammate-1
is:open is:pr review-requested:ElectricRCAircraftGuy archived:false
author:my-teammate-2
is:open is:pr review-requested:ElectricRCAircraftGuy archived:false
author:my-teammate-3
“拉取请求”搜索的显示结果以更好的格式显示,因此,即使对3个“拉取请求”搜索进行标记并添加书签,比对单个事物的单个全局搜索进行标记并添加书签更麻烦,但它可能是您更喜欢的去做。
如果您想做一些更复杂的事情,例如得到以下行为:
is:open AND is:pr AND (review-requested:ElectricRCAircraftGuy OR
assignee:ElectricRCAircraftGuy) AND NOT(review-requested:"team:ORGNAME/team-1") AND
archived:false AND (author:my-teammate-1 OR author:my-teammate-2 OR
author:my-teammate-3)
...抱歉,目前无法实现。您必须利用适合您的搜索栏行为来创建多个子搜索,并-
在必要时使用符号排除结果。但是,您可以通过在此处打开一个问题(不属于GitHub,只是一个跟踪问题的地方),然后在此处向他们发送消息,并为他们提供指向您问题的链接的方式,要求GitHub实施这种更高级的搜索行为。堆栈溢出答案。
提醒:请阅读此处,快速回顾/总结使用GitHub全局搜索栏和GitHub Pull Request搜索栏时的期望。
所有PRS开放,作者:
使用拉取请求搜索栏:
请注意,此搜索栏一次仅限于一位作者:
is:open is:pr archived:false author:username-1
is:open is:pr archived:false author:username-2
is:open is:pr archived:false author:username-3
is:open is:pr archived:false author:username-4
这是上面4个搜索中的第一个的示例URL:https : //github.com/pulls?q= is%3Aopen+is% 3Apr+archived%3Afalse+author%3Ausername-1
使用GitHub全局搜索栏(任何GitHub页面左上角的主搜索栏):
该搜索栏一次允许多个作者,但显示的内容与上面的“拉取”请求搜索略有不同(看起来不尽如人意):
is:open is:pr archived:false author:username-1 author:username-2 author:username-3 author:username-4
在GitHub全局搜索栏中执行此搜索后,URL如下所示:https : //github.com/search? q = is%3Aopen+is%3Apr+archived%3Afalse+author%3Ausername-1+author% 3Ausername-2 + author%3Ausername-3 + author%3Ausername-4
其他人对我的评价:
使用拉取请求搜索栏:
请注意,此搜索栏一次仅限于一位作者:
is:open is:pr archived:false review-requested:my-username author:username-1
is:open is:pr archived:false review-requested:my-username author:username-2
is:open is:pr archived:false review-requested:my-username author:username-3
is:open is:pr archived:false review-requested:my-username author:username-4
这是上面第一次搜索的示例URL:https : //github.com/pulls?q= is%3Aopen+is% 3Apr+archived%3Afalse+review-requested%3Amy-username+author%3Ausername-1
使用GitHub全局搜索栏(任何GitHub页面左上角的主搜索栏):
该搜索栏一次允许多个作者,但显示的内容与上面的“拉取”请求搜索略有不同(看起来不尽如人意):
is:open is:pr archived:false review-requested:my-username author:username-1 author:username-2 author:username-3 author:username-4
上述全局搜索产生的URL:https : //github.com/search?q=is%3Aopen+is%3Apr+archived%3Afalse+review-requested%3Amy-username+author%3Ausername-1+author%3Ausername- 2+作者%3A用户名-3+作者%3A用户名-4
AND
,OR
和NOT
运算符,但实际上似乎并未实现这些查询,因此此页面必须是过时的:(。例如,我正在过滤包含两个标签https://api.github.com/search/issues?q=language:python+label:%22good%20first%20issue%22+label:%22help%20wanted%22+state:open&sort=created
的问题,例如-
这个问题很旧,但我希望它能对可能卡在同一问题上的任何人有所帮助。