我还记得自己第一次打开 GitHub时,没两秒就关了,后面从X看到热门帖子再点进去,没关,但是眼花缭乱。从描述里看是我想要的功能,但是我根本不知道如何使用,如何不重复造轮子,而是站在巨人的肩膀上。相信很多才开始接触GitHub的人都会和我有同样的感受吧。尤其是AI时代,各种开源项目层出不穷,我感觉就自己最近在GitHub学的教程比bilibili上多得多。这是作为GitHub专题的第一篇,我也不讲深了,而是试图重新回到自己第一次接触它的迷茫感受,希望让大家能够更加快速和无痛的去使用这个高效的网站。很多人之所以卡住,不是因为 GitHub 本身太复杂,而是因为一开始接触的时候,没有人用“人话”告诉你,它到底是干嘛的,你最先该学哪几个东西。它太丰富了,内容沉淀太精彩了,导致我们像刘姥姥进大观园一样,迷茫。GitHub 到底是什么
GitHub,本质上就是“代码放在云端的项目文件夹”。它不只是帮你存文件,还会帮你记录变化、支持协作、方便回退、方便多人一起改。而 GitHub 上,也可以有这个项目的一个副本。GitHub 做的事情,就是帮你把项目放到云上,并记录它怎么一步步变化的。所以,你以后看到“上传代码”,其实就是把本地文件传到 GitHub。你看到“下载代码”,其实就是把 GitHub 上的项目拷回电脑。你看到“协作开发”,其实就是几个人一起改同一个云端项目。
Repository

如果你刷GitHub相关的帖子,那你一定会反复看到一个词:Repository,简称Repo——项目放东西的地方。你可以把它理解成 GitHub 上的一个“项目文件夹”。你的代码、说明文档、图片、配置文件,都可以放在里面。那你可以建一个 repo,名字叫 my-blog。甚至你以后只是想练习写网页,都可以先建一个 repo。Public:公开的,别人可以看Private:私密的,默认只有你自己或你邀请的人能看
如果你只是练习,怕做得不好被看见,可以先 private。如果你想以后拿来展示作品,或者想顺手当作品集,那可以 public。公开之后甚至可以超链接进你的简历,放在你的领英主页等等。
Main、Branch、Commit、Merge、PR…

你可以把它理解成这个项目当前最稳定、最正式的版本。很像你一份“已经整理好、确认没问题、可以交出去”的最终稿。你不要一想到什么新点子,就直接冲进去乱改 main。因为 main 一旦被改坏,你整个项目的正式版本就乱了。这也是为什么 GitHub 的核心原则一直都是:让 main 保持稳定。改坏了也没关系,大不了删掉,就像枝丫长凌乱了,剪掉不影响树木本身的生长,main 还在那里,稳稳的。main:正式版branch:草稿间、实验室、小黑屋
你以后不管是自己改项目,还是和别人合作,都会非常依赖 branch的。如果用写文章来打比方,commit就是你每改完一轮,按一次“保存”,顺便写一句备注:我完成了一小步修改,现在保存一下,并告诉系统我改了什么。哪怕某次改坏了,你也更容易找到问题是从哪里开始的,简单的说,就是很容易复原,回溯。你在 branch 里改了一轮又一轮,确认没问题了。我在“坚决不改最终完整final++++++”已经改完了,现在我要把这份确认过的新内容,正式更新到最终稿里。所以 merge 的作用,就是让 main 得到安全更新。5. Pull Request:正式发起“请把我这部分改动合进去”“我这边改好了,请你看一下,没问题的话合并进去。”Branch:我开一个分身去改Commit:我保存这次修改PR:我发起申请,请求合并Merge:正式把它合回 main
只要这条线你顺下来了,GitHub 最核心的那部分,基本就打通了。
只学这5个动作先
GitHub上功能、内容很多,真的多到你一辈子都学不完所以我们作为小白,刚开始最该学的,永远是最少、最核心的那几个动作。1. 建一个 Repo也就是先学会创建项目。这一步特别像你在网盘里新建一个文件夹。只是这个文件夹以后会变成你项目的主空间。2. Clone:把 GitHub 上的项目拉到本地如果你想把一个 GitHub 上的项目复制到自己电脑里,最常见的做法就是clone你可以把它理解成:把云端项目整个拷一份到本地。常见命令长这样:git clone <repo-url>3. Commit:记录修改你改了文件,不代表 GitHub 自动知道。你得主动告诉它:我这轮改动完成了,请记录一下。4. Branch:开分支改东西只要你开始认真写项目,就尽量养成习惯:不要上来就直接改 main,先开 branch,在 branch 里改稳了再说。5. Merge:把结果合回去改完之后,把分支里的内容正式合回 main。
这 5 个动作一旦学会,GitHub 的主骨架你就有了。剩下那些什么 Projects、Insights、各种 Settings,大可以先放一放。
边做边学
你今天看文章,知道 repo 是什么,知道 branch 是什么,知道 merge 是什么。然后某个时刻,你突然顿悟,原来 GitHub 就是在帮我管理我这个项目啊!说到底,GitHub 最值得学的地方,并不只是它能帮你存代码。更重要的是,它会让你从一开始就养成一种更清晰、更安全、更有条理的项目习惯。