作为一个初学开发者或开源贡献者来说,想要在GitHub上高效精确的找到自己想要的项目和issue来说还是有一定的难度
让我们承认一件事:与谷歌这些搜索引擎不同,在 GitHub 上搜索其实并不容易。但作为一个开发者,你有可能每天都会与GitHub或GitLab等开源打交道。
现在的问题不是在于你怎么使用这些版本控制系统,而是应该怎么使用它,就像Google等搜索引擎一样对普通用户来说都必不可少,对开发者来说学习GitHub的搜索也至关重要。
本文将介绍一下几点
- 问题(issue)
- 拉取请求(pull requests)
- 仓库(repositories)
- 用户(users)
- 主题(topics)
以及更多
在GitHub上搜索issue和pull requests
1.is:issue is:open label:python 查询开放并标有python的issue
2.is:issue is:open label:first-timers-only 列出所有欢迎第一次做贡献的人们的开放 issues
3.is:issue is:open label:good-first-bug 列出带有 good-first-bug
标签的开放 issues 的项目,以吸引贡献者为其工作
4.is:issue is:open label:starter 列出整个 GitHub 中所有标有 starter
的开放 issues
5.is:issue is:open label:up-for-grabs 列出开放的 issues,如果你有必要的技能,就可以进行工作
6.no:project type:issue is:open 列出所有没有分配给特定项目的开放 issues
7.no:label type:issue is:open 列出所有没有标签的开放issue
还有许多搜索issue的方法就不一一举例了
搜索仓库
一般情况下你可以直接使用搜索栏进行搜索你想要的内容,但似乎很难找到你想要的内容,搜索效率较低
用下面的方法进行缩小搜索范围
通过描述/README进行搜索
可以加入一些限定词如:in 在哪里搜索
- in:name,仓库名包含xxx的如搜索 xxx in:name
- in:description,仓库的描述包含xxx xxx in:description
- in:readme,查找仓库的readme文件包含有xxx
- in:topic,查找是否包含某个短语单词
通过Stars、Forks 搜索
- stars:n,搜索stars数为1000的项目 stars:1000
- forks:n,搜索forks数小于1000的项目 forks:<1000
可以使用比较符进行搜索>,>=,<,<=,..进一步缩小搜索范围
通过某种语言搜索
- language:language,搜索python编写的项目 language:python
通过组织搜索
- org:org,搜索Google组织创建的仓库 org:google
通过时间搜索
一些关键字created
、updated
、merged
和 closed
- keyword:YYYY-MM-DD 如python created:>2023-1-1就是搜索创建时间在2023-1-1之后包含python的项目
这个也同样可以使用比较运算符
通过许可搜索
- license:xxx 通过特定许可的项目 例如 MIT开源许可license:MIT
总结
尽管这里已经涵盖了许多搜索查询,但你总是可以发挥创意,将多个参数组合在一起,进一步缩小搜索范围
你可以使用大量的搜索参数,使你在 GitHub 上的日常活动更容易。希望这能帮助你更容易、更有效地使用这个平台
谢谢,很有帮助!