Skip to content
难度LEVEL
阅读READ约 2 分钟~2 min
更新UPDATED2026-09

第 8 章 Git 与 GitHub · 时间机器与云存档

easycode · Agent Skill
main commit 存档点 branch · 开一个平行存档,去试危险打法 试崩了,整条扔掉,无事发生 merge 合回主线 想回到任何一个存档点,随时可以 平时三招傍身:git status(改了什么还没存档) · git log --oneline(存档历史) · git diff(这次改了什么) stickmancharles.com · CC BY-NC-ND 4.0
图 8 · 时间机器:存档点、平行存档、合回主线

两个古老的噩梦,改崩了回不去,和两个人同时改互相覆盖。Git 就是为此发明的,一台给代码用的时间机器。

打游戏你就懂了。commit(提交)是存档点,每个存档附一句话,说明这次改了什么。branch(分支)是开一个平行存档去试危险打法,主线不受影响。试成了,merge(合并)回主线。试崩了,整条分支扔掉,无事发生。想回到任何一个存档点,随时可以。

GitHub 则是云存档加联机大厅,把你的 Git 仓库(repository,简称 repo)放到云上。Git 是工具,GitHub 是网站,关系就像邮件和 Gmail。push 是把本地存档传上云,pull 是把云上的新存档拉下来,clone 是把整个仓库原样抄一份到新电脑。多人协作时你还会见到 PR(Pull Request),意思是"我改好了一版,请你看过再合并",AI 帮你改代码时走的也常是这个流程。

现在你明白 Claude Code 为什么老在 commit 了。AI 也需要存档点。它每完成一小步就存一次档,一旦搞砸,回滚就行。经历过改坏了却回不去的人(比如我们),会真心爱上这个设计。

平时你只需要三招傍身。git status,我现在改了哪些还没存档。git log --oneline,存档历史一览。git diff,这次到底改了什么。让 AI 帮你回滚时,你能看懂它在做什么,用不着闭着眼睛祈祷。

关键领悟

commit 越勤,胆子可以越大。没有版本控制的实验是赌博,有版本控制的实验才是科学。

试一试

在我们任意一个项目里跑 git log --oneline,读读最近二十条存档说明,那就是这个项目的编年史。

由 Charles Tao 与 Claude 协作写成——这本身就是这套书讲的工作方式。Written by Charles Tao with Claude — which is itself the working method this series teaches. · 许可License