Ricardo-Lu

欲获得力量的人,必以自己献祭。

导航

GitHub 简介与项目搜索

一、Github 作用

1.学习优秀的开源项目

Github 是”世界最大的同性交友网站“,世界上最大的开源社区,因为开源社区的贡献,开发才越来越容易,越来越快速。在尝试做项目时,若每一个模块都需要亲历亲为,除去 Bug 问题,时间与资源也是很大的消耗,且维护较久的开源项目,也会有更多的解决方案。

而且使用开源项目,学习他们优秀的设计思想、实现方式,是最好的学习资料,也是一份提升自己能力的绝佳方式!

image

2.多人协作

git 版本控制和远程协作功能,在 GitHub 中,可以发起一个项目,比如翻译一份不错的英文文档,发布后,感兴趣的人可以参与到项目中,利用业余时间对项目做贡献,且可以互相审核、合并,集思广益。

image

3.搭建个人网站

基于 GitHub Pages 搭建的博客,可以随心所欲的定制自己的样式,可以购买更具有辨识度的域名,个人博客的搭建,也就不必再受到各大博客网站的约束和忍受各式各样的广告。

image

4.博客写作

基于 Makedown 的编写风格,发布于各种平台,也不用担心格式混乱的问题,推荐使用 Typora。

建立一个活跃的 GitHub 账号,且上面有不错的开源项目,还有许多的互动,在工作应聘中将会有不错的优势。

image

二、加入 Github 或 Gitee

  • GitHub 需要连接外网吗?

目前对 Github 的访问,使用浏览器的插件就可以正常访问,不FQ也可以浏览,不过在速度上会比较迟钝。中国类似于 GitHub 的开源社区 Gitee,国内可以随意访问,但 GitHub 上的开源项目数量和质量,都是目前 Gitee 达不到的,依旧推荐访问 Github 进行学习。

1.注册 Github

访问GitHub官网注册账号,按照要求填写资料,设置用户名时,建议各大社交网站用户名相同,识别度较高,比如博客域名、GitHub、知乎等,且设置的用户名在使用GitHub搭建博客时,默认生成的的博客地址就是 http://username.github.io。GitHub个人资料页面:

image

2.认识 GitHub

在没有自己的项目,没有关注的人时,可以在 GitHub 主页中搜索项目或用户:

image

在 GitHub 中,需要了解一些 GitHub 的基本概念:

  • Repository

仓库,即你的项目,在 GitHub 上开源一个项目,就必须新建一个 Repository,若开源多个项目,就拥有了多个 Repository。

  • Issue

问题,当开源项目中,被发现项目中存在 bug,或者某部分代码有优化的空间,贡献者就可以向项目拥有者,提个 Issue,即问题,发现问题后就可以逐个修复,修复成功就可以一个个 Close。

  • Star

星星,就是给项目点赞,表示项目的代码或方案受欢迎程度,但在 GitHub 上点赞数很难,一个项目能够获得100个 star 就算很不容易了。

  • Fork

复刻,fork 操作会复制一份目标仓库(包括文件,提交历史,issues等),在个人 Github 主页上就多了一个项目,不过这个项目是基于 fork 的项目,本质上是在原有项目的基础上新建了一个分支,就可以随心所欲去改进,但丝毫不会影响原有项目代码和结构。

  • Watch

观察,在项目中 Watch 了某个项目,在以后该项目有任何更新,会第一时间收到关于更新的通知。

  • Gist

小型代码片段的分享,当没有完整项目开源,只是单纯分享一些代码片段就可以使用 Gist。

3.搜索项目

首先,先了解开源项目有哪些部分组成:

  • name:项目名
  • description:项目的简要描述
  • 项目源码
  • README.md:项目的详细情况介绍

除了以上要素以外,项目本身的 star 数和 fork 数,也是评判一个开源项目是否火热的标准,同时也是一个重要的搜索标准。

另外还需要关注,项目的最近更新时间,项目越活跃,更新日期越频繁。

若直接搜索所需的项目框架,会显示非常多的开源项目,如 yolov5,出现7935个项目结果,很难找到感兴趣和适合的开源项目,准确性很低,所以下面使用稍微精确一点的搜索方法。

image

(1)按照 name 搜索

搜索项目名里包含计算机视觉 yolov5 的项目:

in:name yolov5

image

现在的搜索结果都是项目名里面带有”yolov5“关键字的项目,可以看到项目数降低到5931。接下来,可以约束项目的star数大于100+:

in:name yolov5 stars:>100

image

目前的结果瞬间精准了很多,只有73个项目可供选择。同理,也可按照 fork 的数量进行搜索:

in:name yolov5 stars:>100 forks:>50

image

(2)按照 README 来搜索

搜索 README.md 里面包含计算机视觉 yolov5 的项目:

in:readme yolov5

image

结果数很多,类似于 name 可以限制一下 star 数和 fork 数:

in:readme yolov5 stars:>100 forks:>50

image

(3)按照 description 搜索

假设目前学习的某个项目,搜索项目描述(description)里面包含这个项目:

in:description xxx

也可以限制编程语言:

in:description xxx language:python

language:python,意思是把语言限制为 python

还可以限制项目的更新时间:

in:description xxx language:python pushed:>2023-03-01

pushed:>2023-03-01,意思把项目的最后更新时间限制到2023-03-01

posted on 2023-04-12 21:28  一抹彩宏  阅读(90)  评论(0编辑  收藏  举报