这才是 玩转Github 的正确姿势

GitHub各位应该都很熟悉了,全球最大的开源社区,也是全球最大的同性交友网站~~,但是大部分同学使用GitHub应该就是通过别人的开源链接,点进去下载对应的项目,而真正使用Github来查找开源项目的还是少数,

面试总得有几个和所求岗位相关的项目,如果应届生、转行的童鞋没有项目,就靠简单的javaSE或者其他语言基础那只能说“你太难了”。

通过 Github ,你可以很方便的下载自己需要的项目,了解实时热点的项目,通过对优秀的开源项目的学习,更好的进行学习与提高

那么如何使用Github高效率的查找项目呢?这篇文章带你了解一下

仓库分几种?

  • 本地仓库:建立在本地的文件夹。
  • 远程仓库:建立在互联网的服务器内的文件夹。

分布式版本控制系统

  • 配有两个仓库,在你的电脑上有一个 本地仓库 ,在远程的服务器上有一个 远程仓库 。
  • 我们在提交文件的时候会先提交到本地仓库,然后在有网络的情况下,再从本地仓库提交到网络上的远程仓库。
  • Git 就是一个典型的分布式版本控制系统
  • Github就担任了上述的远程仓库这一角色,就是一个存放在外网服务器上的一个文件夹。并且Github是免费的开源的托管平台

什么是Git

Git (读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。

GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。

Github常用词含义

  • watch:会持续收到项目的动态
  • fork:复制某个项目到自己的仓库
  • star:点赞数,表示对该项目表示认可,点赞数越多的项目一般越火
  • clone:将项目下载到本地
  • follow:关注你感兴趣的作者,会收到他们的动态

一个完整的项目界面

  • ① 此处是项目作者名/项目名
  • ② 此处是项目的点赞数,和fock数,越火的项目点赞和fock就会越多
  • ③ 项目的Description 和Website 和tags 也就是项目的说明和标签, 通过此处你可以一眼了解该项目的功能和简介
  • ④ 项目的commits提交数 ,一般比较好的项目,维护会比较频繁,更新也会频繁,提交数就会多
  • ⑤项目提交时间, 通过这里你可以看到项目的提交时间,防止自己下载了一些远古项目
  • README.md README.md文件是一个项目的入门手册,里面介绍了整个项目的使用、功能等等。所以README文件写得好不好,关系到这个项目能不能更容易的被其他人了解和使用。

使用Github搜索项目

一般人用Github的步骤 直接搜索,选择一下Languages 设置下项目排序顺序 就直接下载

然后就是克隆仓库,阅读md,看项目源代码,看不懂,关闭项目,删除。

这样是很难找到真正适合自己的项目的,

GitHub里面有很多有价值的开源项目和代码,如何在海量的代码库中搜索我们需要的信息,那么接下来将带你了解下如何利用GitHub强大的搜索功能,来找到适合自己的项目

GitHub的高级搜索

GitHub有高级搜索功能,search/advanced可以输入关键字、代码库大小、包含作者、代码语、代码包含后缀文件名等。

这里我们假设正要学习 Spring Boot,要找一个 Spring Boot的 Demo 来进行参考学习。

精准搜索仓库标题、仓库描述、README

in关键词限制搜索范围

按照项目名/仓库名搜索(大小写不敏感)

(1)公式

  • in:name xxx 项目名包含xxx
  • in:description xxx 项目描述包含xxx
  • in:readme xxx 项目介绍文档里含有xxx

比如我搜索项目名里含有 Spring Boot 的 in:name Spring Boot

会发现项目数量由17W变成了11W

搜索项目描述里含有 Spring Boot 的 in:description Spring Boot

stars或fork数量去查找

一个项目 star 数的多少,一般代表该项目的受欢迎程度 越受欢迎的项目,star数和fork数一定也不会少

(1)公式

  • stars:>xxx stars数大于xxx
  • stars:xx..xx stars数在xx…xx之间
  • forks:>xxx forks数大于xxx
  • forks:xx..xx forks数在xx…xx之间
 查找star数大于等于5000的springboot项目spring boot stars:>=5000查找fork数大于500的springcloud项目spring cloud forks:>500查找fork在100到200之间并且stars数在80到100之间的springboot项目spring boot forks:100..200 stars:80..100

我们进一步缩小范围,Star数量过滤,要求Star数量大于3000

in:name spring boot starts :> 3000

可以看到只有一千多个项目供我们选择了

按照地区和语言进行搜索

很多时候我们的项目是要用我们会的语言,你找到了一个Python写的好项目,但是没学过Python,下载了也看不懂,同时,为了更好的阅读README.md帮助文档以及项目注释,我想很多同学都会想要下载中文的项目,当然英语顶呱呱的请忽略

(1)公式

  • location:地区
  • language:语言
语言为javaScript
language:javaScript
地区为china
location: China

如果你要寻找使用 javascript 语言的国产项目,整个搜索条件就是:language:javascript location:china,从搜索结果来看,我们找到了五百多万javascript 项目,近 21000 多名地区信息填写为 China 的 javascript 开发者,

根据仓库大小搜索

如果你只是想找一些小型的项目进行个人学习和开发,不想找特别复杂的,那么使用size关键字查找简单的 Demo,就成了你的首选

(1)公式

size:>= 数字

注意:100代表100Kb 单位为Kb

根据仓库是否在更新的搜索

寻找项目当然是想要找到最新的项目,而不是好久都没有更新的老项目了,

(1)公式

  • pushed:> YYYY-MM-DD 最后上传日期大于YYYY-MM-DD
  • created:> YYYY-MM-DD 创建日期大于YYYY-MM-DD

比如我们想要寻找2020年最新更新的项目,可以用 pushed:>2020-01-03 Spring Boot ,这样子就可以找到今年一月份之后更新的最新项目

根据某个人或组织进行搜索

如果你想在GitHub 上找一下某个大神是不是提交了新的项目,可以对他们进行精准搜索

(1)公式

  • user: name 查找某个用户
  • org: name 查找某个组织
  • followers:>=xxx 查找关注者数量超过xxx的开发者

比方说我们想要找一下廖雪峰老师的python开源项目

user:MichaelLiao language:python

根据仓库的LICENSE搜索

License是很多人容易忽略的一个问题

开源项目的License(项目授权协议) 有的开源项目作者明确禁止商用了,但是你不知情下载了,并且使用了,这就会很麻烦,“非常友好”的协议,比较出名的有这几种:BSD、MPL(Mozilla)、Apache、MIT。这些协议不但允许项目的使用者使用开源库,有些还允许对开源库进行修改并重新分发。因此用起来特别爽。上述这几个协议在细节上有些小差异,大伙儿可以去它们官网瞧一下。

以下这个网站,详细介绍了各个License的区别。

  • http://choosealicense.com/licenses/

(1)公式

-license:对应协议

例如咱们要找协议是最为宽松的 Apache License 2 的代码,

license:apache-2.0 Spring Boot

awesome加强搜索

Awesome 似乎已经成为不少 GitHub 项目喜爱的命名之一,Awesome 往往整合了大量的同一领域的资料,让大家可以更好的学习。

(1)公式

awesome 关键字 awesome 系列一般是用来收集学习、工具、书籍类相关的项目

  • 比如搜索优秀的python相关的项目,包括框架、教程等

awesome-python,这个库提供了各个领域常见的python库支持。整体看下来,几乎涵盖了所有的常见的计算机领域,

热门搜索(GitHub Trend 和 GitHub Topic)

GitHub Trend 页面总结了每天/每周/每月周期的热门 Repositories 和 Developers,你可以看到在某个周期处于热门状态的开发项目和开发者

GitHub Topic 展示了最新和最流行的讨论主题,在这里你不仅能够看到开发项目,还能看到更多非开发技术的讨论主题,

这才是 玩转Github 的正确姿势相关推荐

  1. 从语音识别到人脸识别:谁才是打开智能电视的正确姿势?

    原标题:从语音识别到人脸识别:谁才是打开智能电视的正确姿势? 文:刘志刚@互联网江湖主编 AI作为时下"显学",拥趸云集,电视行业亦是未能免俗.人工智能电视和普通智能电视相比,最主 ...

  2. 那些年,使用Github的正确姿势

    那些年,使用Github的正确姿势 1.快速下载单个文件 有趣的插件,配上有趣的github,一起来嗨皮,谈谈自己的使用姿势! 1.1 DownGit 直接下载Github资料,只需要拷贝地址,在线下 ...

  3. 华为抓截屏_原来这才是华为截屏的正确姿势,今天才知道,千万别不当回事

    原标题:原来这才是华为截屏的正确姿势,今天才知道,千万别不当回事 大家都知道我们的华为手机有很多好用的功能,截屏就是其中一个,那么你知道华为手机截屏的正确姿势吗?今天小编就带大家一起看看吧! 一.自带 ...

  4. UI设计灵感|这才是分享美图的正确姿势!

    图片分享类应用在设计时通常以图片展示为主,在此基础上加入社交.标签.特色滤镜等元素,可以让用户体验到更多趣味性.集设网www.ijishe.com设计师交流社区带来这才是分享美图的正确姿势! - 集设 ...

  5. 【59MB】金融求职宝典 玩转金融业的正确姿势 增订版.PDF

    金融求职宝典 玩转金融业的正确姿势 增订版 [作 者]金融小伙伴著 [形态项] 373 [出版项] 北京:中国市场出版社 , 2017.07 [ISBN号]978-7-5092-1563-0 [中图法 ...

  6. android 解锁mac,论一台笔记本三个不同系统的玩法,解锁正确姿势

    原标题:论一台笔记本三个不同系统的玩法,解锁正确姿势 关于<折腾永无止境>的文章... 所以不打算长篇幅介绍怎么安装.步骤.怎么折腾的教科书,不懂?隔壁度娘给你答案! 目标非常明确:要榨干 ...

  7. 玩转Ceph的正确姿势

    内容目录: Ceph 客户端 Ceph 服务端 总结 参考 玩转 Ceph 的正确姿势 本文先介绍 Ceph, 然后会聊到一些正确使用 Ceph 的姿势:在集群规模小的时候,Ceph 怎么玩都没问题: ...

  8. 怎样才算是无线网络扩展的正确姿势?

    一组来自工信部的数据:截止到2015年10月份,中国移动电话用户规模突破13亿,4G用户占比超过四分之一,移动宽带用户(即3G和4G用户)累计净增1.65亿户,总数达到7.47亿户.另一组Google ...

  9. 这才是Word转PPT的正确姿势,1分钟转300页!学会了秀翻全场

    你有没有过这样的体验:领导发了个上百页的Word文档给你,要你帮忙转成PPT,怎么办? 复制粘贴?建议你别试了,亲身经历告诉你,3小时都弄不完,手都快废了!关键是效果还不好!那么Word转PPT的正确 ...

最新文章

  1. angularjs与server交互
  2. 【C++】Visual Studio教程(七) -修改 Visual Studio
  3. 前端学习(3113):react-hello-类式组件
  4. PC电脑端QQ如何适应电脑端大小
  5. 随想录(cpu缓存、cache同步和乱序执行)
  6. ZigBee中协调器断电重连问题?
  7. Photoshop教程:10秒闪电搞定照片构图
  8. 炫酷又实用的发送邮箱链接修改密码
  9. 关于机械键盘的一些基础知识
  10. 红米K40刷机导致基带丢失 基带未知 不读卡 没有串号 修复记录
  11. 比较快得Maven镜像
  12. 陈宏申:浅谈京东电商商品文案挖掘难点与优化实践
  13. 【Unity】场景搭建-天空 山脉 草木 湖泊
  14. 消息传递,生产者消费者
  15. enq 命令的帮助.
  16. Deeplabv3+训练自己的数据集(包含脚本)
  17. java完成经典坦克大战项目源码
  18. 示例:应用WPF开发的仿制GitHub客户端UI布局
  19. 层净高怎么算_楼层高度如何算 楼层高度标准
  20. 按键精灵--------后台插件

热门文章

  1. 求S=a+aa+aaa+aaaa+...+aaaa..的值,a是个数字 * 例如:2+22+222+2222+22222(此时共有5个数相加), 几个数相加由键盘控制
  2. AltiumDesigner 功能 - 开窗
  3. python 判断传入的字符串参数是否为“回文联”(既可顺读,也可倒读。)
  4. py-06-JAVAAPI2
  5. Linux:python数据库(mysql),多线程以及套接子(socket)
  6. 基于JS和vue的sql编辑器功能的实现
  7. 飞秋FeiQ, 只能接收无法发送文件
  8. 工具分享:目录生成器
  9. SystemUI状态栏形式及流程
  10. 关于js中this指向复习