PC TOOLS

EP01. “版本控制是什么?Git 和 GitHub 的分别”

首页 › PC 工具 › Developer Tools · Git & GitHub · EP01
约 7 分钟· #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 指令完全一样,只是网站功能和界面不同
GitGitHub
是什么版本控制软件放 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

官方文档:

  1. Pro Git 1.1 About Version Control - git-scm.com
  2. Pro Git 1.3 What is Git? - git-scm.com
  3. About GitHub and Git - GitHub Docs
📝 测验一下共 6 题