[TOC]
一、Github 效果
1.学习优异的开源项目
Github 是”世界最大的同性结交网站“,世界上最大的开源社区,由于开源社区的贡献,开发才越来越简单,越来越快速。在尝试做项目时,若每一个模块都需求亲历亲为,除去 Bug 问题,时间与资源也是很大的消耗,且保护较久的开源项目,也会有更多的解决计划。
并且运用开源项目,学习他们优异的规划思想、实现方法,是最好的学习资料,也是一份提升自己能力的绝佳方法!
2.多人协作
git 版本操控和远程协作功用,在 GitHub 中,能够发起一个项目,比方翻译一份不错的英文文档,发布后,感兴趣的人能够参加到项目中,利用业余时间对项目做贡献,且能够相互审阅、合并,集思广益。
3.建立个人网站
根据 GitHub Pages 建立的博客,能够为所欲为的定制自己的样式,能够购买更具有辨识度的域名,个人博客的建立,也就不必再遭到各大博客网站的束缚和忍受林林总总的广告。
4.博客写作
根据 Makedown 的编写风格,发布于各种平台,也不用担心格式混乱的问题,引荐运用 Typora。
建立一个活跃的 GitHub 账号,且上面有不错的开源项目,还有许多的互动,在作业应聘中将会有不错的优势。
二、参加 Github 或 Gitee
- GitHub 需求科学上网吗?
现在对 Github 的拜访,运用阅读器的插件就能够正常拜访,不翻墙也能够阅读,不过在速度上会比较迟钝。我国类似于 GitHub 的开源社区 Gitee,国内能够随意拜访,但 GitHub 上的开源项目数量和质量,都是现在 Gitee 达不到的,依旧引荐拜访 Github 进行学习。
1.注册 Github
拜访GitHub官网注册账号,依照要求填写资料,设置用户名时,主张各大社交网站用户名相同,识别度较高,比方博客域名、GitHub、知乎等,且设置的用户名在运用GitHub建立博客时,默认生成的的博客地址便是 username.github.io。GitHub个人资料页面:
2.认识 GitHub
在没有自己的项目,没有重视的人时,能够在 GitHub 主页中查找项目或用户:
在 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个项目成果,很难找到感兴趣和合适的开源项目,准确性很低,所以下面运用稍微准确一点的查找方法。
(1)依照 name 查找
查找项目名里包括计算机视觉 yolov5 的项目:
in:name yolov5
现在的查找成果都是项目名里边带有”yolov5“关键字的项目,能够看到项目数降低到5931。接下来,能够束缚项目的star数大于100+:
in:name yolov5 stars:>100
现在的成果瞬间精准了许多,只要73个项目可供选择。同理,也可依照 fork 的数量进行查找:
in:name yolov5 stars:>100 forks:>50
(2)依照 README 来查找
查找 README.md 里边包括计算机视觉 yolov5 的项目:
in:readme yolov5
成果数许多,类似于 name 能够约束一下 star 数和 fork 数:
in:readme yolov5 stars:>100 forks:>50
(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