如何使用GitHub Search API在GitHub fork中搜索代码?

PEZ*_*PEZ 5 github github-api

我无法弄清楚如何从GitHub存储库的分支中获取搜索结果.

我正在使用GitHub API,但我可以使用github.com上的搜索对话框重现该问题.这是一个例子:存储库PEZ/Sketch-Plugin-Testing-Repogetflourish/Sketch-Mate的一个分支.它们都包含一个manifest.json文件,其中提到了几个单词shortcut.GitHub 代码搜索文档说:

与存储库非常相似,您可以选择搜索分叉存储库中存在的代码文件.但是,为了确保更好的相关性,除非fork具有比父存储库更多的星形,否则将无法搜索存储库分支.

如果要显示分叉结果,请添加fork:true限定符.例如:

android语言:java fork:true 匹配分叉存储库中的代码,其中包含用Java编写的单词"android".

因此,搜索快捷方式:文件filename:manifest.json repo:PEZ/Sketch-Plugin-Testing-Repo repo:getflourish/Sketch-Mate fork:true,应返回两个repos的结果.但它根本不包含任何搜索结果.

省略fork:true限定符 - 快捷方式:文件filename:manifest.json repo:PEZ/Sketch-Plugin-Testing-Repo repo:getflourish/Sketch-Mate,我们从原始(非fork)存储库中获取搜索结果.

我对此不了解什么?

为了让事情变得更神秘一点考虑仓库回购:TeamTwisted/external_chromium_org这是一个叉OptiPop/external_chromium_org.这两个存储库还包含manifest.json包含该单词的文件shortcut.

搜索快捷方式:文件filename:manifest.json repo:PEZ/Sketch-Plugin-Testing-Repo repo:getflourish/Sketch-Mate repo:TeamTwisted/external_chromium_org repo:OptiPop/external_chromium_org fork:true,包含来自TeamTwisted/external_chromium_org存储库的结果.虽然省略了叉:真正从所有仓库预选赛返回的结果除了 PEZ/Sketch-Plugin-Testing-Repo.

任何人都知道发生了什么?是PEZ/Sketch-Plugin-Testing-Repo刚刚完全无法测度出于某种原因?我测试回购的唯一特别之处就是它是一个新制造的叉子.也许我在11月8日或者其他一些事情(两天前写这篇文章时)将其分开.

理想情况下,我想使用一个搜索查询并从给定的一组存储库中获取结果,而不管它们是否分叉.但只是始终从叉子获得结果将是一个良好的开端......

Iva*_*zak 7

你也接触过GitHub的支持,所以我想在这里分享你从Jess得到的答案,以防万一.

当fork的星号少于其父级时,它根本不会被编入索引以进行代码搜索.因此,即使使用fork:true也不会显示.fork:true搜索过滤器用于显示已为搜索编制索引的分支的结果.

在TeamTwisted/external_chromium_org fork的示例中,该代码是可搜索的,因为它具有比其父repo更多的星.但是,PEZ/Sketch-Plugin-Testing-Repo fork没有,因此任何过滤器都无法搜索.