一文超详细讲透 GitHub:奶爸级全功能实战
@laowangbabababa 的奶爸级教学:注册、双重认证、搜索、建仓库、Issue、本地 Git、部署、Fork、Star、Pull、Push 全套讲透。本专题 Git 核心概念主课。
开篇:GitHub 有多牛,为什么 AI 编程爱好者人手一个
GitHub 有 1.8 亿开发者,至少 6 亿以上的仓库。腾讯、阿里、字节的开源项目全部都会放到 GitHub 上。上面内容五花八门,全部开源免费:最近爆火的 OpenClaw、数字人、Skill 仓库,甚至还有阿波罗登月的代码。
老王这篇是奶爸级别教学:怎么注册、搜索、使用 GitHub;详细功能点;如何提交和备份 GitHub 项目。学完你能注册账号、搜索项目、读懂仓库、用 Git 在本地和远端同步代码、把网站部署上线、给开源项目发 PR。
先说清两个基础:开源是什么,Git 和 GitHub 的区别
开源是什么?代码本质上是文字。不开源 = 这段文字只在你电脑里;开源 = 把文本文件放到 GitHub 上设成公开仓库,任何人都能看、能复制、能拿去改。但开源不等于放弃所有权:你可以在代码里放一份许可证,规定别人能做什么、不能做什么——MIT 协议最宽松,几乎不限制;GPL 协议最严格,别人用了你的代码、他自己的代码也得开源;什么都不放,法律上默认保留所有权利。
Git vs GitHub:两个名字长得像,但不是一回事。Git 是版本控制工具,装在你电脑上:记录代码的每一次改动,随时退回任意历史版本,不用联网单机就能用。GitHub 是一个网站,跑在云端:把 Git 仓库托管到服务器上,让你和别人共享代码、协作开发。
Git 是你电脑上的"版本记录本",GitHub 是这本记录本的"云端备份加共享平台"。
账号:注册、双重认证与第一个仓库
注册四项:打开浏览器输入 github.com,回车,点页面正中间绿色的 Sign up。填:邮箱、密码、用户名、国家。
邮箱直接用 Gmail。没有就先注册一个——不只是 GitHub,后面做开发还会用到 Supabase 数据库、Vercel 部署、Cloudflare 域名,这些全部支持 Google 账号一键登录,一个 Gmail 在 Chrome 浏览器里就包圆了。QQ 邮箱和 163 邮箱经常把验证邮件扔进垃圾箱,不推荐。
用户名是你在 GitHub 上的身份标识,会出现在所有代码链接里——别起 test001 这种临时名字,用真实姓名拼音或长期用的英文 ID。密码建议让浏览器自动生成强密码、存进密码管理器;自己想的密码大概率跟别处重复,一处泄露全网遭殃。填完解谜验证,GitHub 会发一封验证邮件,里面有 8 位数字验证码,复制粘贴回来验证,注册完成。
开双重认证(2FA):注册完第一件事。GitHub 从 2023 年起强制要求所有做过代码贡献的账号开 2FA——只要你上传过文件、提过 Issue、发过 PR,90 天内必须开,不然账号会被限制。路径:右上角头像 → Settings → 左侧 Password and authentication → Two-factor authentication → Enable。
三种方式里推荐 Authenticator app:手机下载 Google Authenticator,扫码绑定后每次登录除了密码还要输 App 里 6 位动态码。绑定完成后 GitHub 会给你 16 个恢复码——必须存好,手机丢了、App 删了,这是唯一的救命钥匙:复制进密码管理器或打印出来锁抽屉里。
创建第一个仓库:仓库是 GitHub 上装代码的最小单位,一个项目一个仓库。右上角点加号图标 → New repository,进入新建页面:
仓库名:全小写英文,单词之间用连字符,比如 my-first-project,别用中文。Description:一句话说清这个仓库干什么的,可填可不填,建议填上。Public 还是 Private:公开仓库任何人都能看到代码,私有仓库只有你和被邀请的人能看到——免费账号两种都能无限建,放心选。
下面三个初始化选项:Add a README file 一定勾上——这是仓库的脸面,打开仓库第一眼看到的就是它;没 README 的仓库别人点进来就走,根本不会细看。Add .gitignore 先选 None;Choose a license 如果不打算开源给别人用,可以不选。
点绿色 Create repository,仓库建好了。现在里面只有一个 README.md,后面把本地代码推上来就会慢慢充实。
搜索项目:GitHub 上几亿个仓库,怎么找到你要的
顶部搜索栏直接打字就能搜。比如输入 OpenClaw,回车。搜索结果页左边有一列类型筛选:切到 Repositories 看仓库,切到 Code 看代码内容。
几个最常用的限定符,组合起来能精确到离谱的程度:
language:python 只搜 Python 项目
stars:>1000 只要 Star 超过一千的热门项目
pushed:>2026-01-01 今年还在更新的活跃项目
in:name 关键词出现在仓库名里
组合示例:想找 Python 写的、Star 过五千、今年还活跃的机器学习项目,搜索框里打:
machine learning language:python stars:>5000 pushed:>2026-01-01
老王日常找开源方案、对比竞品、翻参考实现,全靠这套搜索语法——比在搜索引擎里搜快一个数量级,结果也干净,没有 SEO 灌水文章夹在中间。
搜索限定符像图书馆的"检索卡":language: 是按楼层找(只去 Python 区),stars:> 是按借阅量找(只看热门书),pushed:> 是按上架时间找(只看今年新到的)——条件叠得越多,书架前站的人越少。
读懂一个仓库:从上到下每个区域
打开任意仓库页面,从上到下:
仓库名:格式是 用户名 / 仓库名,点用户名能跳到那个人主页。旁边小标签标注 Public 还是 Private。
再往右三个按钮:Star(收藏加点赞,点了进收藏夹,头像菜单 Your stars 能找到;找开源项目先看这个数字)、Fork(把整个仓库复制一份到你账号下,随便改不影响原项目)、Watch(订阅更新通知,有新 Issue、PR、版本发布会收到通知,不需要就别点)。
横栏下面一排标签页,日常只用前三个:Code(默认页,看代码和文件)、Issues(工单区:提 bug、提需求、问怎么用;有问题先来这搜有没有人问过)、Pull requests(合并请求区)。后面 Actions、Projects、Wiki、Security、Insights、Settings 六个标签,上手第一周用不到,不用管。
Code 标签页分左中右三栏:左上角分支下拉框默认显示 main(主分支,第一版代码在这;dev、develop 等分支不用管,只看 main)。中间文件列表跟电脑文件夹一模一样:点文件名看代码,每个文件名旁边一行小字显示最后修改时间和说明,点进去看那次改了哪些代码——红色行是删掉的,绿色行是新增的。文件列表上方绿色 Code 按钮是下载代码的入口。
文件列表下方是 README.md,打开仓库自动渲染在最显眼的位置:项目是什么、怎么安装、怎么用、几个示例。看一个陌生项目,先看 README,就知道值不值得细看。
右侧 About 信息栏:项目简介、主要编程语言、Star 数、Fork 数;往下拉有 Releases 版本发布区——想下载稳定版本不用克隆整个仓库,来这里找对应压缩包就行。如果 README 里没写怎么装,这个项目大概率没打算给别人用,换个同类型有 README 的更省时间。
Issues 工单系统 + 本地 Git:不用背命令
Issues 工单系统:仓库顶部的 Issues 标签 = 这个项目的留言板 + 任务系统 + bug 报告中心。任何人都能提 Issue:报告 bug、提议新功能、问怎么用——点 New issue,写标题和正文,提交就行。提之前做两件事:① 先在 Issues 页面搜一下有没有人提过同样问题(重复的维护者直接关掉);② 看仓库根目录有没有 CONTRIBUTING.md 或 ISSUE_TEMPLATE,按对方要求的格式填。
本地 Git 操作:不需要装 Git,不需要背命令。打开你的 AI 编程工具(Cursor、Copilot、Claude Code、Trae 都行),直接跟它说话就行。下面是要对它说的六句话:
帮我初始化 Git 仓库。
帮我把这个仓库克隆到本地 github.com/xxx/xxx
提交所有改动,说明是:修复了登录页白屏
推送到 GitHub
拉一下最新代码
帮我把这个项目关联到 GitHub 上的 xxx 仓库,然后推送上去
就这六句话。Agent 在后台自动执行一切,包括第一次推送时自动配好 SSH Key,你不用管它具体做了什么。
部署上线 + Fork / Pull Request
部署上线:代码推到 GitHub 后,怎么让别人在浏览器里看到你的作品?跟 Agent 说就行。
静态 HTML 页面走 GitHub Pages:"帮我把这个仓库部署到 GitHub Pages"——30 秒后 Agent 给你一个 你的用户名.github.io/仓库名 的公开地址,任何人打开就能看。
React、Vue、Next.js 这类前端框架走 Vercel:"帮我把这个项目部署到 Vercel"——Agent 自动关联 GitHub 仓库、自动 build、自动分配 vercel.app 域名;以后每次 git push,Vercel 自动重新部署。免费套餐个人项目够用。
老王自己的博客就是 GitHub Pages 托管的,1 年没花过一分钱,加载速度比国内很多付费虚拟主机还快。适合放:个人作品集、博客、开源项目文档站。不适合:需要后端数据库的应用、需要登录注册的系统。
Fork 复制仓库:GitHub 最核心的协作机制。进任何公开仓库,右上角 Fork 按钮一点,整个仓库完整复制到你账号下,你拥有这个副本的完全控制权,随便改不影响原项目。原作者更新了新代码,你这边不会自动同步,想同步点一下 Sync fork。什么时候 Fork?想给别人的项目贡献代码(先 Fork → 自己副本里改 → 发 PR),或想基于别人的代码改自己的版本。
Pull Request 合并请求:开源协作的关键一步:① 先 Fork 目标项目到自己账号;② git clone 拉到本地;③ 本地改代码,add、commit、push 推上去;④ 打开自己 Fork 仓库的 GitHub 页面,顶部黄色提示条问你要不要 Compare and pull request;⑤ 填写标题和描述(说清改了什么、为什么),点 Create pull request。之后维护者会收到通知,可能会留言让你改几处,也可能直接点 Merge 合并——点了之后,你的代码就正式进入原项目了。
Fork + PR 像"投稿":Fork 是把杂志复印一份回家改(Star 只是收藏杂志),PR 是把改好的稿子寄给编辑部,Merge 就是编辑说"这篇我们用了"——你的名字从此出现在作者栏。
再说一些开源项目:最好的学习资源
GitHub 上托管着全球几乎所有重要的开源项目。下面几个国内大厂和社区的代表项目,本身就是最好的学习资源:打开看它们的代码结构、README 写法、Issue 管理方式,比一篇篇翻教程快得多。
阿里巴巴通义千问 Qwen:阿里开源的大语言模型系列,从 7B 到 72B 参数全量开放,模型权重和训练代码全部可下载。地址:github.com/QwenLM/Qwen
飞书 CLI:飞书官方开源的命令行工具,覆盖消息、日历、文档、邮箱、会议等 11 个业务域,还带了 19 项 AI Agent Skills。发布不到两个月 GitHub Star 破万。
Apollo 11 登月源代码:1969 年阿波罗 11 号制导计算机的原始代码,14.5 万行,GitHub 上 3 万多 Star。打开那个仓库,看到的是五十多年前送人类上月球的第一手工程资料,代码注释里甚至能看到那个年代工程师的英文俚语。地址:github.com/chrislgarry/Apollo-11
HowToCook:程序员做饭指南,80K Star。微软工程师居家隔离时写的,把菜谱按程序员思维结构化:每道菜标难度等级、材料精确到克、步骤拆成条件分支。不含一行代码,但可能是 GitHub 上最实用的非代码仓库。地址:github.com/Anduin2017/HowToCook
English-level-up-tips:46K Star。作者大四一学期过了 26 门考试,高考江苏卷英语加语文双科省第一。7 层结构从基础认知到 AI 工具,每层独立,挑着抄都行。地址:github.com/byoungd/English-level-up-tips
看这些项目不需要完全看懂代码。打开每个仓库先看 README,了解项目干什么;再看文件结构,看它怎么组织的;点几个核心文件看一看,感受真实项目的代码长什么样。这种浏览本身就是最好的学习。
术语翻卡:点卡片看解释
自测一下:点问题展开参考答案
Git 是装在你电脑上的版本控制工具(版本记录本),不用联网;GitHub 是跑在云端的网站(云端备份加共享平台),把 Git 仓库托管起来让人协作。只浏览、下载、收藏的话,网页版 GitHub 就够了。
邮箱直接用 Gmail:QQ/163 邮箱经常把验证邮件扔进垃圾箱,而且 Gmail 还包了 Supabase、Vercel、Cloudflare 的一键登录。用户名会出现在所有代码链接里,用真实姓名拼音或长期用的英文 ID,别起 test001。
因为手机丢了或 Authenticator App 删了,没有恢复码就登不进账号了。GitHub 从 2023 年起强制要求有代码贡献的账号开 2FA,恢复码要存进密码管理器或打印出来锁抽屉里。
machine learning language:python stars:>5000 pushed:>2026-01-01。用 language:、stars:>、pushed:>、in:name 限定符组合,比在搜索引擎里搜快一个数量级。
Fork 目标项目到自己账号 → git clone 拉到本地 → 改代码 add/commit/push → 在自己 Fork 页面点 Compare and pull request → 填标题描述点 Create → 等维护者 review,可能被要求改几处或直接 Merge。