GitHub,不用过多介绍。一个面向开源及私有软件项目的托管平台,因为只支持 git 作为唯一的版本库格式进行托管,故名 GitHub。
作为「全球最大的程序员“交友”社区」,程序员的你,真的可以把它的使用发挥到极致吗?
搜索
全局搜索
傻瓜式搜索
比如我们要学习下秒杀(seckill)代码的实现,可以在整个 GitHub 站点全局搜索相关内容
但是这样的搜索范围太大,且项目质量参差不齐,所以在搜索结果页,还可以通过 Languages 选择实现语言,Sort 选择排序规则(按 Star 数量、Fork 数量、最近更新时间等)。
精准搜索(技术范)
1. in 关键词限制搜索范围
公式:搜索词 in:name(/description/readme)
搜索项目名称和自述文件中包含秒杀的仓库seckill in:name,readme
限定符示例in:namejquery in:name匹配仓库名称包含 "jquery" 的内容in:descriptionjquery in:name,description匹配仓库名或描述中包含 "jquery" 的内容(组合使用)in:readmejquery in:readmereadme文件中包含"jquery"repo:owner/namerepo:octocat/hello-world查询某人的某个项目(查octocat 的 hello-world 仓库)
2. 关键词查找
搜索语法:
>n、>=n、<n、<=n:查询数量范围,可以是 starts、forks、topics......
n..*、*..n:等同于 >=n 和 <=n
n..m:取值范围 n 到 m
限定符示例stars:nstars:500匹配 500 个 stars 的项目
stars:10..20匹配 starts 数量 10 到 20 的项目followers:nnode followers:>=10000匹配关注者大于等于 10000 的 node 仓库forks:nseckill forks:5匹配有 5 个 forks 的秒杀项目created:YYYY-MM-DDseckill created:>2020-01-01创建时间在 2020-01-01 之后的秒杀项目language:LANGUAGEseckill language:java匹配 java 语言编写的秒杀项目user:nameuser:Jstarfish stars:>50匹配 Jstarfish 用户 stars 数大于 50 的仓库location:LOCATIONlocation:beijing匹配北京的朋友们互相组合使用seckill stars:>=500 fork:true language:java匹配stars 数量大等于 500(包含 forks 数),且语言是 java 的秒杀项目
location:beijing language:java北京做 Java 开发的大佬
3. awesome 加强搜索
awesome 关键字 ,awesome 系列,一般是用来收集学习,工具,书籍类相关的项目。比如我们要学习下 redis 相关的项目,包括框架、教程等,awesome redis
这几个其实也够用了,官方还给出了所有你能想得到的搜索方式:
https://help.github.com/en/github/searching-for-information-on-github/searching-on-github
项目内搜索
在项目页 输入小写 t
github 快捷键 https://help.github.com/en/github/getting-started-with-github/keyboard-shortcuts
文件搜索
进入仓库主页面,有个Find file,可以按文件名搜索
快捷键
s 或 / 定位到搜索框
g + 操作,表示跳转
g d 前往我的主页
g n 前往通知面板 About notifications
g c 前往代码界面 Code tab(以下均在仓库页面)
g i 前往问题界面 About issues
g w 前往 About Wike
t 激活文件查找,和 Find file 一样
w 切换分支
l 浏览代码时,快速跳转到指定行
官方提供:https://help.github.com/en/github/getting-started-with-github/keyboard-shortcuts
高亮显示代码
有时候我们要请教大佬,让大佬帮忙看看代码,可以使用高亮功能,在 GitHub 或 GitLab 中找到自己的代码,url 地址后加 #L 数字 表示高亮第几行,加 #L 数字 -L数字 ,表示高亮代码区间(GitLab 上不需要第二个 L)
eg:
https://github.com/Jstarfish/starfish-learning/blob/master/starfish-learn-designpattern/src/decorator/Client.java#L16-L20
查看 GitHub 热门趋势
https://github.com/trending 可以按语言,日期范围(本天、本周、本月)查看热度,有好多可供学习的热门项目。
插件
最后再推荐一个查看 GitHub 代码的浏览器插件。
octotree 用于将 Github 项目代码以树形格式展示,可以像 IDE 一样,看代码。而且在展示的列表中,我们可以下载指定的文件,而不需要下载整个项目。
各类知识点总结
下面的文章都有对应的原创精美PDF,添加小助手VX:xuanwo008即可获取
92页的Mybatis
129页的多线程
141页的Servlet
158页的JSP
76页的集合
64页的JDBC
105页的数据结构和算法
142页的Spring
58页的过滤器和监听器
30页的HTTP
42页的SpringMVC
Hibernate
AJAX
Redis
......
添加小助手VX:xuanwo008即可获取免费领取原创思维导图、精美PDF。
PDF内容纯手打有任何不懂欢迎来问我。