分享

Github 高效搜索技巧

 爱萨摩 2022-10-26 发布于湖北

现阶段写代码,很大程度上都是依赖于各种开源库,不管是在 Github 还是 Gitlab ,亦或是其它地方。如何高效地找到我们所需要的合适的库,成了开发者必备的一项基本技能。Hillary Nyakundi 在他的文章 《GitHub Search Tips – How to Search Issues, Repos, and More Effectively on GitHub》 中分享了他的经验,我们这里提炼一下分享给大家。

搜索 issues

在 Github 上,我们可以使用常见的过滤器、排序和搜索技术来查找特定的 Issues 和 Pull Requests。大多数开源库作者倾向于使用 issues 来标记项目,这使得开发者可以更容易找到合适的项目。那么我们可以使用以下一些技巧来对 issues 进行搜索。

  • is:issue is:open label:beginner:这将列出所有具有开放和标记为 beginner 的问题的项目
  • is:issue is:open label:easy:这将列出所有标记为 easy 的未解决问题
  • is:issue is:open label:first-timers-only:这列出了所有欢迎初学者贡献的未解决问题。
  • is:issue is:open label:good-first-bug:列出带有标记为 good-first-bug 的未解决问题的项目,以吸引贡献者参与其中。
  • is:issue is:open label:'good first issue':这将列出所有带有标签 good first issue 的未解决问题,这意味着它适合初学者入门。
  • is:issue is:open label:starter:这列出了 GitHub 上所有标记为 starter 的未解决问题。
  • is:issue is:open label:up-for-grabs:如果我们具备必要的技能,这会列出可以处理的未解决问题。
  • no:project type:issue is:open:这将列出所有未分配给特定项目的未解决问题。
  • no:milestone type:issue is:open:很多时候,项目都使用里程碑进行跟踪。但是,如果我们想查找未跟踪的问题,此搜索查询将为我们列出这些项目。
  • no:label type:issue is:open - 这列出了所有未标记的未解决问题。
  • is:issue is:open no:assignee - 这显示尚未分配给某人的所有未解决问题。

搜索存储库

默认情况下,我们将在搜索栏中键入存储库名称,然后我们会得到一些搜索结果。但这样找到确切目标的概率比较低。以下是一些缩小搜索范围的方法。

按名称、描述/自述文件查找

按这种方式搜索的一个要点是:搜索短语应该以 in 限定符开始。如:

  • 使用 in:name:例如我们想搜索与 Data Science 相关的信息,就可以使用 Data Science in:name,这将列出 repo 名称中包含 Data Science 的存储库
  • 使用 in:description:如果我们想查找具有特定描述的存储库,如描述中包含 freeCodeCamp 的 repo,则可以使用 freecodecamp in:description
  • 使用 in:readme:如果想查找在 README 文件中包含 freeCodeCamp 的 repo,则可以使用 freecodecamp in:readme
  • 使用 in:topic:如果要查找主题中列出了 freecodecamp 的 repo,则可以使用 freecodecamp in:topic

当然,我们还可以组合多个搜索查询以进一步缩小搜索范围。

按 Stars 或 Forks 查找

我们还可以根据项目的 Star 数和 Fork 数来搜索存储库。这使我们更容易了解该项目的受欢迎程度。如:

  • 使用 stars:n:如果我们想搜索一个拥有 1000 颗星的 repo,可以使用 stars:1000,这将列出恰好有 1000 颗星的存储库。
  • 使用 forks:n:如果我们想查找分支少于 100 个的存储库,我们的搜索将是:forks:<100

我们可以使用诸如 <、>、<=、>= & .. 之类的关系运算符来帮助我们进一步缩小搜索范围。

按语言查找

这种方式可以帮助我们查找特定语言的 repo。如:

  • 使用 language:LANGUAGE:如果我们想查找用 PHP 编写的存储库,可以使用 language:PHP

按组织名称查找

我们还可以搜索由特定组织维护或创建的存储库/项目。为此,我们需要使用关键字 org:... 开始搜索,然后是组织名称。例如,我们使用 org:freecodecamp,将列出组织名称匹配 freeCodeCamp 的 repo。

按日期查找

如果我们想要基于特定日期的结果,可以使用以下关键字之一进行搜索:createdupdatedmergedclosed。这些关键字应附有 YYYY-MM-DD 格式的日期。如

  • 使用 keyword:YYYY-MM-DD :如果我们要搜索所有在 2022-10-01 之后创建的带有单词 freeCodeCamp 的存储库,则可以使用 freecodecamp created:>2022-10-01

我们还可以使用 <>>=<= 来搜索指定日期之后、之前和之后的日期。要在一个范围内搜索,可以使用 ...

按 License 查找

在使用 repo 时,了解 Licenses 也很重要。我们也可以按照 Licenses 来进行查找。如:

  • 使用 license:LICENSE_KEYWORD:这是搜索具有特定 Licenses 项目的好方法。例如,要使用 MIT 许可证搜索项目,可以使用 license:MIT

按可见性查找

我们还可以根据存储库的可见性进行搜索。在这种情况下,我们可以使用公共或私有。这将分别匹配公共或私有存储库中的问题和 PR。如:

  • 使用 is:public:这将显示一个公共 repo 的列表。如我们要搜索 freeCodCamp 组织拥有的所有公共存储库,可以使用:is:public org:freecodecamp
  • 使用 is:private:这个查询旨在列出给定搜索查询下的所有私有存储库。

小结

以上就是作者分享的各种 Github 搜索小技巧。我们可以通过组合这些条件来进一步缩小范围。我们还可以查看 Github 文档[1] 和 高级 Github 搜索[2] 来了解和体验更多搜索技巧。

图片

参考

[1] https://docs.github.com/en/search-github/searching-on-github 

[2] https://github.com/search/advanced?

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多