EP01. “版本控制是什么?Git 和 GitHub 的分别”
🔒 登录后可标记已读- 「网站_最终版.zip」「网站_最终版2_真的最后.zip」……用复制文件夹来留版本,迟早会搞不清哪个才是对的,版本控制就是用来解决这个问题的
- Git 是装在你电脑里的版本控制软件,GitHub 是放 Git 仓库的网站(云端平台),两者不是同一样东西
- Git 每次「存档」(commit)都会记下改了什么、谁改的、为什么改,随时可以回到任何一个旧版本
- 不写程序的人也用得上:WordPress 主题/子主题的代码、网站 HTML、甚至 Markdown 笔记,都适合交给 Git 管
- 这个系列按顺序讲:安装设定 → 基本存档 → 分支 → 推上 GitHub → 协作 → 撤销 → 图形界面 → GitHub Pages 免费架站
重点内容
为什么需要版本控制
| 没有版本控制 | 用 Git |
|---|---|
| 复制整个文件夹当备份,占空间、名字乱 | 同一个文件夹,历史版本都存在隐藏的 .git 里 |
| 不知道哪一版改了什么 | 每个 commit 都有说明,能逐行看出改了哪里 |
| 改坏了只能凭记忆改回去 | 一个指令回到上一个能用的版本 |
| 两个人改同一个文件会互相覆盖 | 各自在分支上改,再合并,冲突会被标出来 |
| 电脑坏了,东西全没了 | 推上 GitHub,云端还有一份完整历史 |
Git 是什么
- 2005 年由 Linux 作者 Linus Torvalds 开发,免费、开源,现在是最多人用的版本控制系统
- 分布式(Distributed):每个人电脑里都有一份完整的仓库和全部历史,不连网也能 commit、看历史,不像旧式系统(例如 SVN)要连上中央服务器才能操作
- Git 记的是快照(snapshot):每次 commit 就像拍一张整个项目当下的照片;没改动的文件不会重复存,只存一个指向旧版本的链接,所以很省空间
Git 的三个区域
Git 最重要的概念:一个文件从改动到存进历史,要经过三个地方。
flowchart LR
subgraph W["工作区 Working Directory"]
W1["你正在编辑的文件"]
end
subgraph S["暂存区 Staging Area"]
S1["挑好、准备存档的改动"]
end
subgraph R["仓库 Repository(.git)"]
R1["已存档的 commit 历史"]
end
W -->|git add| S
S -->|git commit| R
R -->|git restore / checkout| W
- 工作区:你平常打开、编辑的那些文件
- 暂存区(Staging Area / Index):像「购物车」,先把这次想存档的改动放进来,没放进来的改动不会被存
- 仓库:
.git隐藏文件夹,存着所有 commit 历史
📌 暂存区的好处:一次改了 5 个文件,但只有 3 个跟「修正页脚」有关,可以只把那 3 个加进暂存区先 commit,另外 2 个留到下一个 commit,历史会更清楚。
GitHub 是什么
- 放 Git 仓库的云端平台,2018 年被 Microsoft 收购
- 除了放代码,还提供:网页上看代码与历史、Issues(问题追踪)、Pull Request(代码审查与合并)、GitHub Actions(自动化)、GitHub Pages(免费静态网站)
- 同类平台还有 GitLab、Bitbucket,Git 指令完全一样,只是网站功能和界面不同
| Git | GitHub | |
|---|---|---|
| 是什么 | 版本控制软件 | 放 Git 仓库的网站 |
| 装在哪里 | 你的电脑 | 云端(github.com) |
| 要不要连网 | 不用 | 要 |
| 收费 | 免费开源 | 个人免费版就够用,团队/企业有付费方案 |
| 没有另一方能用吗 | 能,Git 自己就能在本地做版本控制 | 不能,GitHub 的核心就是 Git 仓库 |
常见术语对照
| 英文 | 意思 |
|---|---|
| Repository(Repo) | 仓库,一个被 Git 管理的项目文件夹 |
| Commit | 一次存档,附带说明文字 |
| Branch | 分支,平行的一条开发线 |
| Merge | 合并,把一个分支的改动并进另一个分支 |
| Clone | 把远端仓库整份复制到自己电脑 |
| Push / Pull | 把本地 commit 推上远端 / 把远端新 commit 拉下来 |
| Remote | 远端仓库(通常是 GitHub 上那一份),默认名字叫 origin |
| Fork | 在 GitHub 上把别人的仓库复制一份到自己账号 |
| Pull Request(PR) | 请求对方把你的改动合并进去 |
学完你会
- ✅ 说得出 Git 和 GitHub 的分别
- ✅ 理解工作区 → 暂存区 → 仓库三个区域的流向
- ✅ 看得懂 Repo、Commit、Branch、Push、Pull 这些常见术语
常见错误
- ❌ 以为 Git 就是 GitHub:Git 是软件,GitHub 是网站;不上 GitHub 也能用 Git。
- ❌ 以为改完文件 Git 就自动存了:一定要自己
git add+git commit才会进历史。 - ❌ 手动删掉
.git文件夹:这等于把整个历史删掉,文件还在,但所有版本记录都没了。 - ❌ 把 Git 当作云端备份:没有 push 到 GitHub 之前,历史只在你自己电脑里,电脑坏了一样会丢。
Sources
官方文档: