三分钟教你如何用Github找开源项目--值得一看!_github 网站 下载课题相关的开源代码程序。-程序员宅基地

技术标签: 日常随记  github  git  github项目  开源项目  【嵌入式学习】  

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

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

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

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

仓库分几种?

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

分布式版本控制系统

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

什么是Git

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

GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。
在这里插入图片描述
Github常用词含义

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

一个完整的项目界面

在这里插入图片描述

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

使用Github搜索项目

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

然后就是克隆仓库,阅读md,看项目源代码,看不懂,关闭项目,删除。
在这里插入图片描述
这样是很难找到真正适合自己的项目的,

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

GitHub的高级搜索

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

Github搜索技巧-找项目

这里我们假设正要学习 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在100200之间并且stars数在80100之间的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
    在这里插入图片描述
    awesome-python,这个库提供了各个领域常见的python库支持。整体看下来,几乎涵盖了所有的常见的计算机领域,

热门搜索(GitHub Trend 和 GitHub Topic)

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

在这里插入图片描述

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

在这里插入图片描述
都看到这里了,如果这篇文章对你有帮助的话,请点个小小的赞再走吧!
在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/as480133937/article/details/105611577

智能推荐

11-标志寄存器+adc/sbb+cmp+条件转移指令-程序员宅基地

文章浏览阅读1.1k次。CPU内部的寄存器中,有一种特殊的寄存器(对于不同的处理机,个数和结构都可能不同)具有以下三种作用:用来存储相关指令的某些执行结果用来为CPU执行相关指令提供行为依据用来控制CPU的相关工作方式这种特殊的寄存器在8086CPU中,被称为标志寄存器。8086CPU的标志寄存器有16位,其中存储的信息通常被称为程序状态字(PSW)。在后面我们将标志寄存器简称为flag。flag和其他寄存器不一样,其他寄存器都是用来存放数据的,都是整个寄存器具有一个含义。而flag寄存器是按位起作用的,也就是说,,_cmp+

android中定时开关机的实现_安卓系统定时开关机app-程序员宅基地

文章浏览阅读1.7k次。关于android自动关机,网上有很多应用程序和例子。 相对于自动开机来说,自动关机可以在应用层通过设置alarm来实现。而自动开机,它需要底层rtc时钟的支持。我自己也没做过这个,不过在网上查到一个自动开机的实现方法。简介我的实现是在设置程序里面增加一个接口,让用户设置自动开关机,这个自动开关机的设置可以参照闹钟的设置。关于自动关机,考虑到关机的时候,用户可能正有一些重要的操作,_安卓系统定时开关机app

pyecharts桑基图制作遇到的问题_桑基图数据过多展示不下-程序员宅基地

文章浏览阅读1.1k次。https://echarts.apache.org/examples/zh/index.html官网实例学习,敲完代码后打开html文件显示空白,是由于绘制的图片内容的source和target对应值相同,解决办法为对target的值加一个空格即可。_桑基图数据过多展示不下

【详解微信小程序 wx.uploadFile 的编码坑】-程序员宅基地

文章浏览阅读1.8k次。但是都没有什么效果,依然是在微信小程序工具中有效,而手机真机预览的时候出现乱码.在看到这篇帖子 【新手跳坑指南《三十九》wx.uploadFile】 才知道header 里的数据在真机预览的时候是无效的,需要改到 formData 中,受到了启发,尝试将编码数据加入formData 中,但仅仅传输了数据,并没有改变编码.依然是小程序开发工具中调试成功,而真机预览出了问题,这个估计要微信团队来回答了。编码有问题,那么就尝试改变它的编码进行传输, uploadFile 的参数中加入。_wx.uploadfile

CSP2020 游记_unsigned long long rp = 0; rp--;-程序员宅基地

文章浏览阅读229次。前言由于本人是刚学OI一年的蒟蒻,有不好之处请各位神犇见谅DAY -30老师开始备战初赛,每周去机房和高中学长们集训两个小时(高一学长貌似比我们还菜… 据说才刚开始学算法)DAY -10老师发了十套模拟卷一天一张…我的国庆!!!做出来都是60+,我好慌 幸好我在FJDAY 0开考选择题还是很良心的组合数学我好慌阅读程序2我竟然看出来是进位次数!抢回来好几分。完善程序1很水,但我把while选成了if,丢了2分。2…没看懂,选择题直接选个看着顺眼的交上去。考完之后感觉要凉,准备滚回_unsigned long long rp = 0; rp--;

计量经济学第六版伍德里奇计算机答案,求伍德里奇计量经济学答案第六版-程序员宅基地

文章浏览阅读1.9k次。英文版答案:3.15 (i) The degrees of freedom of the first regression is n – k – 1 = 353 – 1 – 1 = 351.The degrees of freedom of the second regression is n – k – 1 = 353 – 2 – 1 = 350. The standard error is s..._伍德里奇计量经济学第六版答案

随便推点

解决Android Studio 不自动提示问题_android studio 没有提示-程序员宅基地

文章浏览阅读4.2k次,点赞6次,收藏10次。解决Android Studio 不自动提示问题第一种 :一般是由于Android ButterKnife Zelezny插件导致的,在Settings=>Plugins里卸载掉后File---restart IDE 解决!_android studio 没有提示

HBase中Java操作数据库增删改查——删除数据/删除数据表_删除表的流程代码如下: hbaseadmin admin = new hbaseadmin(cfg)-程序员宅基地

文章浏览阅读1.8k次。已经创建了一个学生宿舍管理系统数据表表名:student_info列族1:students列族2:dormitorys列族3:staff_members例如:删除数据表中行键为001的数据:package myhbase;import java.io.IOException;import java.util.ArrayList;import org.apache..._删除表的流程代码如下: hbaseadmin admin = new hbaseadmin(cfg); if (admin.

【ClickHouse 极简教程-图文详解原理系列】ClickHouse 主键索引的存储结构与查询性能优化..._nodejs操作clickhouse-程序员宅基地

文章浏览阅读1w次。概述这是 Alexey Milovidov(ClickHouse 的创建者)给出的关于复合主键的答案的翻译。原文: https://groups.google.com/g/clickhouse/c/eUrsP30VtSU/m/p4-pxgdXAgAJ问题:主键可以有多少列?存储驱动器上的数据布局是什么?有任何理论/实践限制吗?某些行缺少数据的列可以成为主键的一部分吗?This is......_nodejs操作clickhouse

用unittest做单元测试,编写测试用例详细操作步骤-程序员宅基地

文章浏览阅读3.9k次,点赞5次,收藏13次。废话不多说,具体如下:一、什么是unittest?unittest模块是python自带的一个单元测试模块,我们可以用来做单元测试。unittest模板包含了如下几个子模块:测试用例:TestCase测试集:TestSuit加载用例:TestLoader执行用例:TextTestRunner这四个都是unittest模块中的类,整个单元测试的工作模块,就是这几大类。二、了解了什么是unittest,来编写自己的第一个测试类eg:编写一个数学方法类,类里面有加法以及减法两个函数。代码如

Anaconda 换国内源_conda 换源-程序员宅基地

文章浏览阅读7.4w次,点赞46次,收藏189次。由于国外下载速度太慢,这里就有了国内的一些镜像源进行下载Anaconda 换源清华源在cmd 命令行中,输入添加以下命令(前提是要安装了Anaconda包管理工具)conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda_conda 换源

【2024】基于springboot的图书馆借阅管理小程序管理系统设计与实现-程序员宅基地

文章浏览阅读1.1k次,点赞29次,收藏22次。背景:随着社会的不断发展,图书馆作为知识的宝库和学习的场所,扮演着重要的角色。然而,传统的图书馆借阅管理方式存在着诸多问题,如借阅流程繁琐、信息管理不便等。因此,设计一个基于SSM(Spring+SpringMVC+MyBatis)的图书馆借阅管理小程序管理系统具有重要的现实意义。目的:该系统的设计旨在实现图书馆借阅管理的自动化和信息化,提高借阅效率,减少人力成本,改善用户体验。通过小程序的方式,用户可以方便地查询图书信息、借阅图书、归还图书,而图书管理员也可以通过系统实现对图书信息和借阅记录的管理

推荐文章

热门文章

相关标签