6.2 初始化仓库与读懂当前改动:工作区、暂存区、提交点

面向经管学生、研究者与从业者的 AI 智能体设计教材

作者

李学恒、林建浩、严翊歆、张一帆

最后更新

2026-06-24

6.2 配图

很多读者第一次接触 Git,面对大量术语容易感到困惑。这一节只需要把三个位置分清:正在修改的地方、准备提交的地方、已经进入历史的地方。

三个位置一句话讲清

  • 工作区(Working Directory):你此刻正在改的文件现场
  • 暂存区(Staging Area):你准备放进下一次提交的那部分改动
  • 提交点(Commit):已经进入历史、可以比较和回退的版本快照

所有 Git 操作都在这三个位置之间移动数据。读懂一张图、记住三句话,后续的分支、回退、Worktree 才有扎实基础。

三层模型

工作区是当前文件的实际状态;暂存区是下次提交的预备区域;提交点是已写入历史的版本快照。提交只读取暂存区的内容,与工作区里尚未选定的改动无关。

这个分层是 Git 最核心的设计,也是它和云盘自动备份的根本差别。

术语对照:存档 = 提交点,本章两种说法交替使用。

让 Claude Code 初始化仓库

如果项目还没有 Git 仓库,先让 Claude Code 接手。在项目根目录输入:

▶ Claude Code
帮我把当前项目初始化成 Git 仓库。
检查一下目录里有哪些文件不该纳入版本控制,生成对应的忽略规则。
完成后告诉我:仓库是否建立成功、哪些文件已被跟踪、哪些文件被忽略。

Claude Code 完成后会回报类似下面的结果:

已初始化 Git 仓库。

完成事项:
1. 建立 .git 目录(Git 的内部数据区)
2. 生成 .gitignore,自动忽略以下内容:
   - _book/、.quarto/(构建产物)
   - .DS_Store、*.log(系统与日志文件)
   - .env(环境变量,可能含密钥)
3. 已跟踪 12 个文件,忽略 8 个文件

接下来可以保存初始版本,或先调整忽略规则。
忽略规则的作用

.gitignore 决定哪些文件不进入版本历史。大体量数据文件、构建产物、含密钥的配置文件,都应提前排除。一旦这些文件进入历史,后续清理会非常麻烦。

读懂当前改动

初始化之后,每次让智能体改完一轮内容,都应先确认改了什么,再决定是否提交。在 Claude Code 中输入:

▶ Claude Code
帮我看一下当前 Git 的状态:哪些文件被修改了、哪些是新文件、哪些已经准备好提交。
如果有具体改动内容,简要说明每个文件改了什么。

Claude Code 会回报改动概览:

当前工作区状态:

已修改(未暂存):
- chapters/chapter-6/section-6-2.qmd
  新增三层模型 callout,约 40 行

未跟踪(新文件):
- chapters/chapter-6/images/img_02_three_areas.webp

暂存区为空,尚未选定本次提交范围。

这样的回报让你在提交前先看清现场。如果发现某个文件不属于本轮目标,可以先排除掉再继续。

最小习惯

每次正式提交前,至少让 Claude Code 报告一次当前状态和改动内容。这个动作成本很低,却能挡住大量误提交。