快速入门 GitHub 方法

对于编程新手而言,如果一开始就知道利用 GitHub 来提高自己的技术水平,那一定会进步很快。

  • 如何参与项目
  • 编程初学者如何在 GitHub 寻找适合自己的小项目

一、如何参与项目

如果你想参与某个开源项目,你首先要做的是先了解这个项目,最好的方式是先仔细阅读它的 README。

一个标准的 README 应该包含以下内容:

通过项目背景 可以了解这个项目动机和背景是什么,是为了优化什么问题还是因为市面上其它的项目太渣渣。

然后通过 安装使用 知道项目如何运行起来,方便查看细节。

最后就需要查看它的 参与贡献方式 ,有的是 希望你提交 issue,有的是直接 push,有的是加群一起协作。

题主还问到 「核心的一些架构我暂时是力不从心的,那我还能为这个项目做什么呢」,这一点你不用担心,哪怕你只是修改里面的一个错误单词,一句错误的语法对于整个项目来说也是很有作用的。

这不是开玩笑。

一个 4 岁小女孩就给 Linux 内核贡献提交。

链接:https://www.reddit.com/r/linux/comments/2pqqla/kernel_commit_4_year_old_girl_fixes_formatting_to/cmzfvpl/

我们看看她修改了什么

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=690b0543a813b0ecfc51b0374c0ce6c8275435f0

在里面可以看到就是改了一个 「 - 」字符而已。

没有用过 git 的同学可能看不懂这个修改,即使用过的同学刚开始也觉得一脸懵逼,git 的 diff 修改会在前面显示 - 和 + 符号,这样看就知道了,实际上就增加了一个字符 - 。

为什么要修改这个字符?

我们看到,正常情况下「--------」和上面的字符串是对齐的,但是刚好修改的那行是没有对齐的,所以是有问题的,是不严谨的。

虽然是一个很小的修改,但是这个修改的意思非常大。

1、Linux 内核可以让所有人参与进来。

2、Linux 内核非常严谨,只要有错误,任何人都可以修改它。

说说这个修改的由来

在修改的提交记录里面,是这样写

他的侄女发现那个 「 s 」字母很孤单,用她的话说是不开心,加上「 - 」后就显得开心了。

非常细心的一个举动,这个修改在 riddit 上,很多人在激烈的讨论,有人认为这个修改没有什么作用,不就是一个字符而已,但是很多人对这个小女孩产生钦佩,觉得他是一个非常认真仔细的人。

希望这个小女孩的故事能够帮题主解惑。

原文链接: 4岁小女孩给Linux内核贡献提交_嵌入式Linux-CSDN博客 原文出处:CSDN博客 原文作者: 写代码的篮球球痴

二、编程初学者如何在 GitHub 寻找适合自己的小项目

GitHub 成立于 2008 年,截止到 2015 年,GitHub 已经有超过两千八百万注册用户和5700万代码库

对于新手而言,要从这浩瀚的代码库中找到适合自己小项目无异于大海捞针,如果有个类似于 hao123 那样的导航网站就好了!

登登登,还真有,一个国人建立的开源项目:HelloGitHub,致力于分享 GitHub 上有趣,入门级的开源项目,对于编程新手而言十分友好。

地址: https://github.com/521xueweihan/HelloGitHub

在项目中,内容每月 28 号以月刊的形式更新发布,主要是面向编程新手、热爱编程、对开源社区感兴趣人群的项目。更新的内容主要包括:各种语言的流行项目、入门级项目、让生活变得更美好的工具、书籍、学习心得笔记、企业级项目等。

这些开源项目大多都是非常容易上手、很 Cool,能够让你用很短时间感受到编程的魅力和便捷。从而让大家感受到编程的乐趣,动手开始编程。

这些项目都有一些共同的特征,那就是很酷,非常容易上手的项目,编程的魅力和便捷体验起来就是这么简单。

对于编程新手而言,不管你是学 Java,还是学 Python,哪怕你是编程小白,不懂代码,也总能在里面找到适合你的项目。

这个新手项目还不够?那在推荐一个类似但更有趣的开源项目:GitHubDaily。

链接:https://github.com/GitHubDaily/GitHubDaily

GitHubDaily 每日不定时推送一批 GitHub 上优秀的开源项目给开发者, 帮助开发者们发现当下最火的开源项目, 令开发者们得以掌控技术脉搏, 扩大自己的技术视野, 并从开源项目的学习中获得技术能力的提升。

它分门别类的整理了好多有趣的项目,适合新手在零碎时间去阅读学习,了解 GitHub 的生态。

相关推荐
为何创造硅基生物6 小时前
C语言 结构体内存对齐规则(通俗易懂版)
c语言·开发语言
吃好睡好便好6 小时前
在Matlab中绘制横直方图
开发语言·学习·算法·matlab
天竺鼠不该去劝架6 小时前
金融行业 AI Agent 落地架构 存量银行系统适配改造方案
经验分享
星寂樱易李6 小时前
iperf3 + Python-- 网络带宽、网速、网络稳定性
开发语言·网络·python
仰泳之鹅7 小时前
【C语言】自定义数据类型2——联合体与枚举
c语言·开发语言·算法
nashane7 小时前
HarmonyOS 6学习:CapsLock键失效诊断与长截图完整实现指南
学习·华为·harmonyos
之歆7 小时前
DAY_12JavaScript DOM 完全指南(二):实战与性能篇
开发语言·前端·javascript·ecmascript
cen__y8 小时前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
AI人工智能+电脑小能手8 小时前
【大白话说Java面试题 第65题】【JVM篇】第25题:谈谈对 OOM 的认识
java·开发语言·jvm
xian_wwq8 小时前
【学习笔记】AGC协调控制系统概述
笔记·学习