Git / GitHub 零基础入门

给完全没碰过 Git/GitHub 的人看的,从"这是什么"讲起,不涉及具体命令操作,看完就能理解别人说的每个术语。

目录

① 先分清两个词:Git 和 GitHub 不是一回事

是什么打个比方
Git一个装在你电脑上的软件,负责"记录代码每一次改动的历史"像 Word 的"修订记录",但更强大,能回到任意一个历史版本
GitHub一个网站,把 Git 记录的历史"放到网上",方便分享、备份、多人协作像把你的 Word 修订记录传到网盘,还能让别人看、评论、一起改
一句话:Git 是本地工具,GitHub 是把 Git 的内容搬到线上的网站。类似关系:Word(工具)vs 云盘(云端存储+分享)。

② 核心概念,逐个解释(都是"这是什么"级别,不涉及命令)

术语解释
仓库 / Repository(简称 repo)一个项目的"文件夹+完整历史记录",是 Git/GitHub 里最基本的单位。你电脑上任何一个文件夹,如果被 git 管理,就可以变成一个仓库
提交 / Commit一次"存档点"。你改了几个文件,觉得这一批改动可以定格了,就"commit"一次,会附带一句说明(如"修复登录bug")。以后可以随时回到任何一个commit看当时的样子
推送 / Push把你电脑本地的 commit 历史,同步上传到 GitHub 网站上
拉取 / Pull反过来,把 GitHub 网站上的最新内容,同步下载到你电脑本地
克隆 / Clone第一次把别人 GitHub 上的整个仓库,完整复制一份到你自己电脑上(包含全部历史)
分支 / Branch项目历史的"平行时间线"。主线通常叫 mainmaster,你可以开一个新分支试验性地改东西,不影响主线,改好了再合并回去
合并 / Merge把一个分支的改动,合并回另一个分支(通常是合回主线)
Fork在 GitHub 网站上,把别人的仓库整个复制一份到你自己的账号名下(跟clone不同:clone是下载到本地电脑,fork是在网站上复制到你的账号)
Pull Request(简称 PR)你在自己 fork 的仓库里改好了东西,想把改动"贡献"回原作者的仓库,就发一个 PR,原作者review后可以接受合并
Issue项目的"留言板/问题反馈区",用来报bug、提需求、讨论
.gitignore一份清单文件,告诉Git"这些文件/文件夹不要记录历史、不要上传"(比如密码文件、临时文件)
README.md每个仓库的"门面说明书",GitHub会自动在仓库首页显示它的内容,是了解一个项目该看的第一份文件

③ 一个完整的"心智模型"例子

假设你要发布自己电脑上的一个项目文件夹到 GitHub:

1. 你电脑本地的项目文件夹 → 已经用 Git 管理(有 .git 隐藏文件夹)→ 这就是"本地仓库"
2. 你改了代码、觉得可以定格 → commit(本地存档一次)
3. 在 GitHub 网站上建一个空仓库(相当于云端的"收纳盒")
4. push → 把本地的所有commit历史,传到GitHub那个空仓库里
5. 现在任何人打开这个GitHub链接,都能看到你的代码+README+全部历史
6. 以后你继续改代码 → 继续commit → 继续push,GitHub上的内容就跟着更新

别人怎么用你发布的项目

别人在GitHub搜到你的项目 → 点 clone(复制到他们自己电脑) → 或点 fork(复制到他们自己的GitHub账号) → 觉得好用就点 ⭐ Star(收藏+给你加人气) → 想跟你交流就开一个 Issue → 想帮你改代码就发一个 Pull Request

④ 常见的"卡住"时刻

卡在哪大概率原因
push 失败,提示要先pull说明 GitHub 上有本地没有的新内容,先pull同步一下再push
不小心把密码/API Key 传上去了立刻去GitHub仓库设置里删除/重置那个key,并在.gitignore里加上对应文件,以后避免
两个人改了同一个文件同一个地方出现"冲突(conflict)",需要人工选择保留哪部分,Git会标出冲突的地方
clone下来的项目跑不起来通常是README里写的"安装依赖"步骤没做(比如没装对应的运行环境、没跑安装依赖的命令)

⑤ 术语表

Repository / Repo(仓库)
一个项目的文件夹+完整历史记录。
Commit(提交)
一次代码改动的存档点,附带说明文字。
Push / Pull(推送/拉取)
Push把本地历史传到线上;Pull把线上内容同步到本地。
Branch(分支)
项目历史的平行时间线,可以独立试验不影响主线。
Fork / Clone
Fork是在GitHub网站复制到自己账号;Clone是下载到本地电脑。
Pull Request(PR)
请求原作者把你的改动合并进他们仓库的正式提议。
本文档由 shop.maysuns.uk 免费提供