杨利霞 发表于 2021-7-8 14:57

73个GitHub高级搜索技巧


73个GitHub高级搜索技巧
73个GitHub高级搜索技巧
1. 前言
2. 排序搜索结果
2.1. 按交互排序
2.2. 按反应排序
2.3. 按作者日期排序
2.4. 按提交者日期排序
2.5. 按更新日期排序
3. 搜索范围
3.1. 搜索存储库
3.1.1. 按存储库名称、描述或 README 文件的内容搜索
3.1.2. 在用户或组织的仓库中搜索
3.1.3. 按存储库大小搜索
3.1.4. 按分叉数搜索
3.1.5. 按星数搜索
3.1.6. 按创建或上次更新存储库的时间搜索
3.1.7. 按语言搜索
3.1.8. 按主题搜索
3.1.9. 按主题数量搜索
3.1.10. 按许可证搜索
3.1.11. 按存储库可见性搜索
3.1.12. 根据仓库是否是镜像进行搜索
3.2. 搜索主题
3.2.1. 使用搜索限定符缩小搜索范围
3.3. 搜索代码
3.3.1. 按文件内容或文件路径搜索
3.3.2. 在用户或组织的仓库中搜索
3.3.3. 按语言搜索
3.3.4. 按文件大小搜索
3.3.5. 按文件名搜索
3.4. 搜索用户
3.4.1. 按帐户名称、全名或公共电子邮件搜索
3.4.2. 按用户拥有的仓库数量搜索
3.4.3. 按创建用户帐户的时间搜索
3.4.4. 按关注者数量搜索
1. 前言
GitHub的搜索功能绝不仅仅是单纯匹配你输入的内容,而是有如下匹配规则。


本文参考自GitHub官方文档。
GitHub官方文档:https://docs.github.com/en




本文第3点总结了目前GitHub搜索最常用的技巧,根据我们平时搜索的内容分为了搜索存储库、搜索主题、搜索代码和搜索用户四个小点,你可以根据自己想要的搜索内容定位到每个小点,同时第2点总结了将你搜索到的结果按照什么排序顺序排序,包括交互排序、反应排序、作者日期排序、提交者日期排序、更新日期排序等。


2. 排序搜索结果
2.1. 按交互排序
语法        例子
org:github sort:interactions        匹配 GitHub 拥有的存储库中的问题,按反应和评论的最高组合数排序
org:github sort:interactions-asc        匹配 GitHub 拥有的存储库中的问题,按最少的反应和评论组合数排序
2.2. 按反应排序
语法        例子
org:github sort:reactions        匹配 GitHub 拥有的存储库中的问题,按最高反应数排序。
org:github sort:reactions-asc        匹配 GitHub 拥有的存储库中的问题,按反应数量升序排序(从最少到最多)
org:github sort:reactions-+1        匹配 GitHub 拥有的存储库中的问题,按最多点赞 (👍) 反应排序
org:github sort:reactions- -1        匹配 GitHub 拥有的存储库中的问题,按最多 (👎) 反应排序
org:github sort:reactions-smile        匹配 GitHub 拥有的存储库中的问题,按最多笑 (😄) 反应排序
org:github sort:reactions-tada        匹配 GitHub 拥有的存储库中的问题,按大多数欢呼 (🎉) 反应排序
org:github sort:reactions-heart        匹配 GitHub 拥有的存储库中的问题,按大多数心脏 (❤️) 反应排序
2.3. 按作者日期排序
语法        例子
org:github sort:author-date feature        匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期降序排序
org:github sort:author-date-asc feature        匹配 GitHub 拥有的存储库中包含单词“feature”的提交,按作者日期升序排序
2.4. 按提交者日期排序
语法        例子
org:github sort:committer-date        匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期降序排序
org:github sort:committer-date-asc        匹配 GitHub 拥有的存储库中包含“功能”一词的提交,按提交者日期升序排序
2.5. 按更新日期排序
语法        例子
sort:updated feature        匹配包含“feature”一词的存储库,按最近更新日期排序
sort:updated-asc feature        匹配包含单词“feature”的存储库,按最近更新日期排序
3. 搜索范围
3.1. 搜索存储库
3.1.1. 按存储库名称、描述或 README 文件的内容搜索
语法        例子
in:name jquery        匹配存储库名称中带有“jquery”的存储库。
in:description jquery        匹配存储库描述中带有“jquery”的存储库。
in:readme jquery        匹配存储库的 README 文件中提到“jquery”的存储库。
3.1.2. 在用户或组织的仓库中搜索
语法        例子
user:defunkt forks:>100        匹配用户名为 defunkt 的具有超过 100 个 fork 的存储库。
3.1.3. 按存储库大小搜索
语法        例子
size:1000        匹配大小为 1 MB 的存储库
size:>=30000        匹配至少 30 MB 的存储库
size:<50        匹配小于 50 KB 的存储库
size:50…120        匹配 50 KB 到 120 KB 之间的存储库
3.1.4. 按分叉数搜索
语法        例子
forks:5        匹配只有五个 fork 的存储库
forks:>=205        匹配至少有 205 个 fork 的仓库
forks:<90        匹配具有少于 90 个 fork 的存储库
forks:10…20        匹配具有 10 到 20 个 fork 的存储库
3.1.5. 按星数搜索
语法        例子
stars:500        匹配恰好有 500 颗星的存储库
stars:10…20        匹配小于 1000 KB 的 10 到 20 星的存储库
stars:>=500 fork:true language:php        匹配至少 500 个星的存储库,包括分叉的,用 PHP 编写的
3.1.6. 按创建或上次更新存储库的时间搜索
语法        例子
webos created:<2011-01-01        匹配 2011 年之前创建的带有“webos”一词的存储库
css push:>2013-02-01        匹配 2013 年 1 月之后推送到的带有“css”一词的存储库
case push:>=2013-03-06 fork:only        匹配 2013 年 3 月 6 日或之后推送到的带有单词“case”的存储库,并且是分叉。
3.1.7. 按语言搜索
语法        例子
rails language:javascript        匹配使用 JavaScript 编写的带有“rails”一词的存储库
3.1.8. 按主题搜索
语法        例子
topic:jekyll        匹配已分类为主题“jekyll”的存储库
3.1.9. 按主题数量搜索
语法        例子
topic:5        匹配具有五个主题的存储库
topic:> 3        匹配具有三个以上主题的存储库
3.1.10. 按许可证搜索
语法        例子
license:apache-2.0        匹配在 Apache License 2.0 下获得许可的存储库
3.1.11. 按存储库可见性搜索
语法        例子
is:public org:github        匹配 GitHub 拥有的公共存储库
is:internal test        匹配您可以访问并包含“test”一词的内部存储库
is:private pages        匹配您可以访问并包含“pages”一词的私有存储库
3.1.12. 根据仓库是否是镜像进行搜索
语法        例子
mirror:true GNOME        匹配作为镜像且包含单词“GNOME”的存储库
mirror:false GNOME        匹配非镜像且包含“GNOME”一词的存储库
3.2. 搜索主题
3.2.1. 使用搜索限定符缩小搜索范围
语法        例子
is:curated javascript        匹配经过策划并包含“javascript”一词的主题
is:featured javascript        匹配https://github.com/topics/上的特色主题并包含“javascript”一词
is:not-curated javascript        匹配没有额外信息(例如描述或徽标)并包含“javascript”一词的主题
is:not-featured javascript        匹配https://github.com/topics/上没有特色且包含“javascript”一词的主题
repositories:>5000        匹配具有超过 5000 个存储库的主题
3.3. 搜索代码
序号        代码搜索的注意事项:由于搜索代码的复杂性,对搜索的执行方式有一些限制
1        必须登录 GitHub 上的用户帐户才能在所有公共存储库中搜索代码
2        只有当分叉的星数多于父存储库时,分叉中的代码才可搜索。星号少于父存储库的分叉不会为代码搜索编制索引。要在搜索结果中包含星数多于父级的分叉,您需要将fork:true或添加fork:only到您的查询中。有关更多信息,请参阅“在分叉中搜索”
3        仅对默认分支进行索引以进行代码搜索
4        只能搜索小于 384 KB 的文。
5        只能搜索少于 500,000 个文件的存储库
6        只有在去年有活动或在搜索结果中返回的存储库才可搜索
7        除了filename搜索之外,在搜索源代码时,您必须始终包含至少一个搜索词。例如,搜索language:javascript无效,而搜索无效amazing language:javascript
8        搜索结果最多可以显示来自同一个文件的两个片段,但文件中可能会有更多的结果
9        您不能在搜索查询中使用以下通配符:. , : ; / \ ` ’ " = * ! ? # $ & + ^
3.3.1. 按文件内容或文件路径搜索
语法        例子
octocat in:file        匹配文件内容中出现“octocat”的代码
octocat in:path        匹配文件路径中出现“octocat”的代码
3.3.2. 在用户或组织的仓库中搜索
语法        例子
user:defunkt extension:rb        匹配来自@defunkt 的以.rb结尾的代码
org:github extension:js        匹配来自 GitHub 的以.js结尾的代码
repo:mozilla/shumway extension:as        匹配@mozilla 的 shumway 项目中以.as结尾的代码
3.3.3. 按语言搜索
语法        例子
element language:xml size:100        匹配带有标记为 XML 且正好有 100 个字节的单词“element”的代码
display language:scss        匹配带有单词“display”的代码,它被标记为 SCSS
org:mozilla language:markdown        匹配所有@mozilla 存储库中标记为 Markdown 的代码
3.3.4. 按文件大小搜索
语法        例子
function size:>10000 language:python        匹配用 Python 编写的大于 10 KB 的文件中带有“function”一词的代码
3.3.5. 按文件名搜索
语法        例子
filename:linguist        匹配名为“linguist”的文件
filename:.vimrc commands        匹配带有 “commands” 一词的.vimrc文件。
3.4. 搜索用户
3.4.1. 按帐户名称、全名或公共电子邮件搜索
语法        例子
user:octocat        匹配用户名为“octocat”的用户
org:electron type:users        匹配 Electron 组织的账户名
kenya in:login        匹配用户名中包含“kenya”一词的用户
bolton in:name        匹配真实姓名中包含单词“bolton”的用户
fullname:Nat Friedman        匹配全名“Nat Friedman”的用户。注意:此搜索限定符对间距敏感。
data in:email        将用户与电子邮件中的“data”一词匹配起来
3.4.2. 按用户拥有的仓库数量搜索
语法        例子
repos:>9000        匹配存储库数量超过 9,000 的用户
bert repos:10…30        匹配用户名或真实姓名中包含“bert”一词且拥有 10 到 30 个存储库的用户
3.4.3. 按创建用户帐户的时间搜索
语法        例子
created:<2011-01-01        匹配 2011 年之前加入的用户
created:>=2013-05-11        匹配在 2013 年 5 月 11 日或之后加入的用户
created:2013-03-06 location:london        匹配于 2013 年 3 月 6 日加入且将其位置列为伦敦的用户
created:2010-01-01…2011-01-01 john in:login        匹配在 2010 年到 2011 年之间加入且用户名中包含单词“john”的用户
3.4.4. 按关注者数量搜索
语法        例子
followers:>=1000        匹配拥有 1,000 或更多关注者的用户
sparkle follower:1…10        匹配拥有 1 到 10 个关注者的用户,他们的名字中带有“sparkle”这个词
————————————————
版权声明:本文为CSDN博主「Jack·Kwok」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/PaperJack/article/details/118543980


1051373629 发表于 2021-8-15 17:52

谢谢了! 谢谢了!
页: [1]
查看完整版本: 73个GitHub高级搜索技巧