【效率神奇】Github丧心病狂的9个狠招
Github,一个被业内朋友成为「全球最大的同性交友社区」的平台。
小时候遇到不会的字可以查新华字典。后来写作文我们可以通过作文书、或者文摘去找合适的素材。同样,写代码可以去Github上找适合自己的代码片段,甚至开源框架。不再重复造轮子,带来的好处不言而喻。
Github在年初宣布个人私有仓库免费,小伙伴们拍手叫好。除了日常的托管代码功能以外。还可以在上面搭建博客,写技术教程或者书籍,发布一些日常的碎碎念,当然你也可以follow一些大佬,关注他们的日常动态。
今天主要分享一些检索上的技巧,能够帮你更精确的找到需要的项目代码。
开始之前有必要说一下几个常用词的含义,肯定有很多人不知道
watch:会持续收到该项目的动态
fork,复制某个项目到自己的Github仓库中
star,可以理解为点赞
clone,将项目下载至本地
follow,关注你感兴趣的作者,会收到他们的动态
通过in关键词限制搜索范围
xxx in:name 项目名包含xxx的
xxx in:description 项目描述包含xxx的
xxx in:readme 项目的readme文件中包含xxx的
当然也可以通过xxx in:name,desciption来组合使用
如下,我需要搜索项目名或者描述中包含「Hello」的项目,
通过Hello in:name,decription 完成
通过 Star 或者Fork数 去查找项目
通过通配符 > < = 即可,区间范围内可通过 num1..num2
如,要查找stars数不小于666的springboot项目
springboot stars:>=666
forks 大于等于500
springboot forks:>500
查找fork在100到200之间 且stars数在80到100之间的springboot项目
springboot forks:100..200 stars:80..100
awesome + 关键字
搜索和关键字匹配的优秀项目
awesome springboot 搜索优秀的springboot相关的项目,包括框架、教程等
分享项目中某一行的代码
只需要在具体的网址后面拼接#Lxx(xx为行数)
如
我需要分享这个类中的@SprintBootApplication注解,值需要在后面拼接上#L6 即可
https://github.com/lxy-go/SpringBoot/.../JpaApplication.java#L6
项目内搜索
打开你想要搜索的项目,然后按一下‘T’键。会跳转至一个新的网页,
如下图:
例如我想要搜索该项目的配置文件 application.yml
类似的页面内快捷键还有很多,常用的还有’L‘, 在文件内跳转到多少行。
更多快捷键可以查看官方文档
https://help.github.com/en/articles/using-keyboard-shortcuts
搜索某个地区内的大佬
可以通过location:地区 进行检索,在具体可以通过language:语言 缩小检索范围
如搜索地区在北京的Java方向的用户
location:beijing language:java
推荐一些Github插件
1、Octotree
平时浏览github代码时,每个文件都需要点击才能查看,用了这个插件可以将项目的目录结构以树形结构显示,点击之后会自动跳转到相应的目录。墙裂推荐!
2、OctoLinker
浏览代码如果可以像ide那样可以链接跳转岂不是美滋滋,这个插件就可以帮助我们完成这些。只需要ctrl+点击变量名即可。
3、Sourcegraph
一个可以在github上浏览和搜索代码的工具,安装好插件之后会出现一个view Repository的按钮
点击进去之后,简直不要太爽。可以随意在项目中搜索,可以查看变量和方法,以及进行跳转等等。多说无益,推荐大家安装插件自己感受一下
欢迎大家关注我的公众号「程序员共成长」,每天都会有干货分享
【效率神奇】Github丧心病狂的9个狠招的更多相关文章
- 《死磕 Elasticsearch 方法论》:普通程序员高效精进的 10 大狠招!(完整版)
原文:<死磕 Elasticsearch 方法论>:普通程序员高效精进的 10 大狠招!(完整版) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链 ...
- lombok效率神奇使用
Lombok效率神器 标签(空格分隔): Java Lombok简介及使用 Lombok 是一种 Java实用工具,可用来帮助开发人员消除Java的冗长,尤其是对于简单的Java对象(POJO), 它 ...
- GitHub 上受欢迎的 Android UI Library 整理二
通知 https://github.com/Tapadoo/Alerter ★2528 - 克服Toast和Snackbar的限制https://github.com/wenmingvs/Notify ...
- GitHub 上受欢迎的 Android UI Library整理
https://github.com/Tapadoo/Alerter ★2528 - 克服Toast和Snackbar的限制 https://github.com/wenmingvs/NotifyUt ...
- GitHub 热点速览 Vol.20:VSCode 插件全家桶新增画图小能手
作者:HelloGitHub-小鱼干 摘要:后浪,这个五月热词用来概括 GitHub 本周热点无疑是最佳词汇.Deno 这个 Node.js 作者制造出来的后浪,掀起了 GitHub Trending ...
- Hello!GitHub 好用好玩值得收藏的开源项目集合~
这是我许久以来从各处发现的极佳开源项目,希望分享给大家~ 如果帮到你了,给我个赞好嘛 编程语言类 ️learn-go-with-tests(通过单元测试学Go) GitHub地址:https://gi ...
- 基于webmagic的爬虫项目经验小结
大概在1个月前,利用webmagic做了一个爬虫项目,下面是该项目的一些个人心得,贴在这里备份: 一.为什么选择webmagic? 说实话,开源的爬虫框架已经很多了,有各种语言(比如:python.j ...
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室 实战系列(不断更新中)
项目简介 利用ASP.NET SignalR技术与Layim前端im框架实现的一个简单的web聊天室,包括单聊,群聊,加好友,加群,好友搜索,管理,群组管理,好友权限设置等功能.涉及技术: Elast ...
- 爬虫总结_java
基于webmagic的爬虫项目经验小结 大概在1个月前,利用webmagic做了一个爬虫项目,下面是该项目的一些个人心得,贴在这里备份: 一.为什么选择webmagic? 说实话,开源的爬虫框架已经很 ...
随机推荐
- python爬虫入门(二)Opener和Requests
Handler和Opener Handler处理器和自定义Opener opener是urllib2.OpenerDirector的实例,我们之前一直在使用urlopen,它是一个特殊的opener( ...
- 通过数据流处理-微信小程序生成临时二维码
1.小程序代码 onLoad: function (options) { var that = this api.Login(function (login) { var codeModel = ne ...
- 在线引用js资源积累
[jQuery]https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js[Vue]https://cdnjs.cloudfla ...
- [ 搭建Redis本地服务器实践系列 ] :序言
说起来,是在一个气候适宜的下午,虽然临近下班,不过办公室里还是充满了忙碌的身影,不时的还会从办公区传来小伙伴们为了一个需求而激烈争论的声音,自从入了互联网这个行业,说实话,也就很少休息了,当然了也不全 ...
- Struts标签库详解【1】
struts2标签详解 要在jsp中使用Struts2的标志,先要指明标志的引入.通过jsp的代码的顶部加入以下的代码: <%@taglib prefix="s" uri=& ...
- Swift学习字符串、数组、字典
一.字符串的使用 let wiseWords = "\"I am a handsome\"-boy" var emptyString = "" ...
- Jodd
Jodd = tools + ioc + mvc + db + aop + tx + json + html < 1.7 Mb Jodd is set of Java microframewor ...
- 在Python中用Request库模拟登录(一):字幕库(无加密,无验证码)
字幕库的登录表单如下所示,其中省去了无关紧要的内容: <form class="login-form" action="/User/login.html" ...
- JavaWeb(四)Servlet-1
1.Servlet 简介 Java Servlet是和平台无关的服务器端组件,它运行在Servlet容器中.Servlet容器负责Servlet和客户的通信以及调用Servlet的方法,Servlet ...
- Vector简单介绍
/*枚举就是Vector特有的取出方式发现枚举和迭代器很像其实枚举和迭代是一样的因为枚举的名称以及方法的名称都过长了.所以被迭代器取代了枚举郁郁而终了. */ import java.util.*;c ...