在GitHub Organization的代码中搜索部分单词

j1e*_*elo 6 git search github

有没有办法使用Web UI grep属于GitHub组织的所有代码中的部分单词?

当然,目的是避免必须克隆所有组织的存储库并进行本地grep; 这将是一项繁琐,乏味且容易出错的任务.

我知道Github项目中搜索代码,但我发现搜索非常误导,因为它并没有真正找到所有结果.

例如,我想DISABLE_LIBRARIES_GENERATIONKurento组织的所有文件中查找字符串的所有用法.使用任何这些高级搜索术语

DISABLE_LIBRARIES_GENERATION user:Kurento
DISABLE_LIBRARIES_GENERATION org:Kurento
Run Code Online (Sandbox Code Playgroud)

产生这些结果:

  • 查找${DISABLE_LIBRARIES_GENERATION}kms-core/src/server/CMakeLists.txt.
  • 查找set (DISABLE_LIBRARIES_GENERATION FALSEkms-core/CMake/CodeGenerator.cmake.
  • 在中查找字符串kms-core/debian/changelog.
  • 找不到 -DDISABLE_LIBRARIES_GENERATION=TRUE用于adm-scripts/kurento_get_version.sh,adm-scripts/kurento_generate_js_module.shadm-scripts/kurento_generate_java_module.sh.

j1e*_*elo 8

我的问题的答案是:不,目前不可能.

来源
我用同样的问题联系了GitHub,他们的回答包括这个解释:

目前,我们在搜索中不支持子字符串匹配.对于像camel case这样的常见变量命名模式,我们会分开单词,所以如果你的变量被命名为myNewVariable,你可以搜索"我的新变量",这会显示出来.

但是,在您的示例中,字符串"-DDISABLE_LIBRARIES_GENERATION = TRUE"不会被分解为这样的子字符串,因此"disable_libraries_generation"不会导致匹配.

在这种情况下,克隆存储库并在本地使用grep或其他搜索功能可能是您的最佳选择.

  • 很高兴知道。2021 年底同样的事情。如果您有“myNewVariable”、“hisNewVariable”,那么在存储库中查找“NewVariable”不会返回任何内容,但“new Variable”将返回两个结果。 (2认同)