当前位置: 首页 > article >正文

掌握这些GitHub搜索技巧,你的开发效率将翻倍!

作为开发it行业一员,学习借鉴他人项目是很有必要的,所以我们一般都会从github或者
Gitee 上面去参考借鉴他人的项目来学习增加自己的项目经验

但是一般我还是在github上看项目比较多,毕竟人家实力项目量摆在那里 ,但是国内访问github有时候比较慢,或者访问不了,这里需要用到科学上网推荐 一个 我一直在用的

这里提供一个访问外面的工具

但是github你真的用对了嘛,他的功能其实很强大!!!

githu项目搜索

关键字搜索

在Github搜索栏中输入与您感兴趣的技术相关的关键词,例如**“machine learning”“web development”**

注意在这里 搜索关键词需要打上英文引号

搜索指定语言

比如我们需要搜索vue项目或者java指定语言项目,

语言过滤:使用**“language:”筛选器来限制搜索结果的编程语言。例如,“language:python”**。

这样我们搜索出来的都是关于指定Java语言的项目,

strats排序搜索

星级排序:使用“stars:>”筛选器来按星级排序结果。例如,“stars:>10”将只显示星级大于10的项目。

更新时间搜索

更新频率:使用**“pushed:>”**筛选器来按更新日期排序结果。例如,“pushed:>2021-01-01”将只显示自2021年1月1日以来更新的项目。

更多搜索

  1. 贡献者搜索:使用**“involves:”**筛选器来查找包含指定用户的项目。例如,“involved:username”将列出该用户最近参与的项目。

  2. README搜索:使用**“in:name,description,readme”**筛选器来搜索项目名称、描述和README文件的所有内容。例如,“in:name,description,readme python”将搜索所有包含“python”关键词的项目。

  3. Forks搜索:使用**“forks:”**筛选器来搜索特定数量的分支。例如,“forks:>200”将只显示拥有200个以上分支的项目。

  4. 按关注者数排序:使用**“followers:>”**筛选器按关注者数排序结果。例如,“followers:>100”将只显示其关注者超过100个的项目。

  5. 按许可证搜索:使用**“license:”**筛选器来搜索特定类型的许可证。例如,“license:MIT”将只显示使用MIT许可证的项目。

高级搜索

  1. 按关键字排除结果:使用“-”符号来排除不感兴趣的项目。例如,“machine learning -tensorflow”将排除诸如“tensorflow”之类的项目。

  2. 按文件类型搜索:使用“filename:”筛选器按文件类型搜索。例如,“filename:app.js”将只显示名为“app.js”的文件的项目。

  3. 按领域搜索:在关键词后添加特定领域的词汇可以缩小搜索范围。例如,“machine learning healthcare”将返回与医疗保健领域相关的机器学习项目。

  4. 根据项目活动搜索:使用“activity:”筛选器来根据提交、问题、推送和挑战等活动搜索项目。例如,“activity:pushed”将只显示最近有推送行为的项目。

  5. 根据开发者类型搜索:使用“user:”筛选器来搜索具有特定开发者类型的项目。例如,“user:github”将只显示由GitHub组织创建的项目。

  6. 使用通配符:使用“”来匹配任何字符,并帮助在不确定的情况下搜索项目。例如,“dockerapi”将搜索带有“Docker”的所有项目,并将返回所有包含“api”的项目。

  7. 按项目大小搜索:使用“size:”筛选器按项目大小搜索。例如,“size:>5000”将只显示大于5,000KB的项目。

  8. 聚焦特定领域:使用 GitHub Topics 搜索功能可以聚焦特定领域的项目。例如,通过搜索 “Topic: React” 可以找到和 React 相关的所有项目。

  9. 使用高级搜索语法:高级搜索语法可以帮助你更加细致地筛选出符合你要求的项目。例如,使用 “user:username” 搜索 Github 上特定用户的项目。

  10. 使用 Shields.io:shields.io 可以帮你为项目生成一些标签,用于显示项目的关键信息,例如项目的版本、许可证信息、followers 数量等等,这些标签可以帮助你更快地了解项目。

  11. 使用 Repository-metadata: “repo-metadata” 库可让你以格式化的方式检索您可能需要的项目元数据,包括包含在 readme 文件中的关键字,以及项目成员的名称和邮件地址。

可视化搜索

当然这些是我们直接通过搜索语法进行搜索的,我们也可以在github上通过可视化界面进行搜索

点击这个搜搜索条件去搜索

github必备插件

October

在GitHub浏览项目代码时,常常感到不太方便。每次点击文件后,整个项目文件列表都会被隐藏,想查看其它文件就必须回退后再次进入。如果文件夹结构很复杂,查找起来就非常麻烦。

不过,有一款叫做octotree的工具可以很好地解决这个问题。它在GitHub页面的左上角添加了一个按钮,当你点击它时,就会展开一个菜单,显示整个项目的文件夹结构。通过octotree,你可以非常方便地浏览或下载单个源文件。

下载地址

当我们安装成功后github项目左侧就会有这个展开目录结构

sourcegraph

如果你认为octotree已经很好地解决了上述问题,那么你一定会喜欢sourcegraph。sourcegraph类似一个Web IDE,让浏览GitHub的代码成为一种全新的体验。

只需单击仓库主页上的sourcegraph按钮,你就能跳转至sourcegraph官网,通过该网站可以实现更深入的代码探究。

sourcegraph允许你对代码进行全文搜索、代码跳转、引用查找等功能,让你在快速阅读代码时受益匪浅。此外,sourcegraph还提供一些其他工具,可用于分析代码质量、评估代码可读性等方面的问题。总之,使用sourcegraph,你可以以一种更加高效的方式探索GitHub的代码库。

下载地址

安装完成后点击这里

到了sourcegraph,网页就变成了熟悉的类似本地IDE的界面了

变量定义、函数调用、代码搜索、查看文件提交记录等等功能都有,实在是太方便了

github-file-icon

如果你经常访问GitHub,你可能已经注意到,GitHub上展示的文件图标相当单调,这使得不同类型的文件难以区分。但是,有一个叫做github-file-icon的插件可以帮助你解决这个问题。这个插件提供了一套非常炫酷的文件图标,使文件看起来更加直观,方便区分不同类型的文件。

不仅如此,github-file-icon还可以自动识别不同语言和框架的项目,并展示相应的图标,例如Java、Python、React等。这样,用户可以一眼识别文件类型,而无需依靠文件名后缀。
总体而言,github-file-icon插件提供了一种更好的文件浏览体验,使你能够更好地识别和管理你的代码库。

下载地址

难能可贵的是,github-file-icon能够和Octotree完美结合

Git History

git history可以让我们更优雅的查看commit历史记录,能以时间轴的方式展现代码的演进变化。选择repository中的一个文件,就能看到

isometric-contributions

除了上述提到的工具,在GitHub上还有一款非常有趣的Chrome扩展程序叫做Isometric Contributions。

该扩展程序可以将你每天的contributions数目转化为颜色不一的立体柱状图,并给出自己的统计数据。通过该扩展程序,每天的提交记录使用图表展示,可以让你更加直观地看到自己的贡献状况。

而针对这些数据,Isometric Contributions还会将你一年内的提交状况、最忙的一天提交数目等统计出来,使你更清楚地了解自己的工作量。在普通的Github贡献表与等距像素艺术版之间切换,每个提交的数量和次数都用图形化的方式展示,非常有趣且具有成就感。总之,这个插件可以让你更加直观地看到自己的代码贡献状况,并享受到提交记录的美好视觉呈现。

下载地址

准备从零做一套自己的开发脚手架模板 ,关注公众 程序员三时

后面会做一些列 github优秀项目鉴赏和学习


http://www.kler.cn/a/18017.html

相关文章:

  • AcWing 300 任务安排1
  • 35.3K+ Star!PhotoPrism:一款基于AI的开源照片管理工具
  • 如何在 Ubuntu 16.04 上设置 NFS 挂载
  • 【在Linux世界中追寻伟大的One Piece】多路转接epoll
  • c语言数据结构与算法--简单实现队列的入队和出队
  • 2024AAAI | DiffRAW: 利用扩散模型从手机RAW图生成单反相机质量的RGB图像
  • 使用MindSDK的at-server组件开发从机模组
  • ScriptableObject上的prefab内容暂用,ScriptableObject详解
  • random — 伪随机数生成器(史上总结最全)
  • C++学习day--09 字符串比较、运算符
  • 【Java多线程编程】创建线程的基本方式
  • 【Linux】浅谈网络协议栈-网桥br0
  • 分布式锁Redisson对于(不可重入、不可重试、超时释放、主从一致性)四个问题的应对
  • Python人工智能—线性回归
  • C++面试题
  • java8新特性——StreamAPI
  • PyQt5零基础入门(二)——主窗口的显示与退出
  • LInux grep sed awk 命令详解
  • 开关电源基础01:电源变换器基础(3)
  • 数影周报:假冒ChatGPT的恶意软件激增,谷歌开启无密码登录
  • docker-mysql的几个问题
  • 学习HCIP的day.04
  • 【383. 赎金信】
  • 从零开始学习Linux运维,成为IT领域翘楚(十)
  • 【刷题】142. 环形链表 II
  • maven配置阿里云镜像仓库