第7课:Git 是项目存档和后悔药
把 Git 理解成看 AI 改了什么、在重要节点留下保存点的工具。
本课目标
第 6 课,你已经让 AI 给小工具加了历史记录。
现在要学第二册里最重要的安全习惯:
在项目还能正常运行的时候,留下一个保存点。
Git 对小白来说,第一阶段不需要理解得很深。
你先把它理解成三件事:
| Git 能帮你做什么 | 大白话解释 |
|---|---|
| 看改动 | AI 改了哪些文件 |
| 看差异 | 文件里面大概改了什么 |
| 留保存点 | 当前项目状态值得保留下来 |
本课不是传统 Git 课。
本课不要求你背很多命令。
本课只训练一个能力:
在让 AI 继续改项目之前,先知道现在项目有没有被改动,能不能留下保存点。
开始之前
请先确认你有一个第二册练习项目。
它最好已经做到:
- 项目能启动。
- 页面能打开。
- 第一册原来的功能还在。
- 历史记录能保存。
- 刷新后历史记录还在。
- 可以删除一条历史记录。
如果这些还没有完成,先回到第 6 课。
因为 Git 保存点最好留在“项目基本正常”的时候。
不要在项目已经明显坏掉、你也不知道坏在哪里的时候,随手留下保存点。
一个小故事
小林给“小红书标题助手”加完历史记录后,很兴奋。
他马上继续对 AI 说:
再帮我加收藏、搜索、导出、登录、云同步。
AI 开始改很多文件。
过了一会儿,页面打不开了。
小林想回到“历史记录刚刚完成”的状态。
可是他没有留下保存点。
他只能问 AI:
你能不能帮我恢复到刚才好的版本?
AI 可能能猜。
也可能猜错。
这就是没有 Git 保存点的风险。
第 7 课要让你养成一个习惯:
一段功能完成后,先停一下。
检查项目。
留下保存点。
再继续下一步。
Git 不是云盘
很多小白第一次听 Git,会把它想成“云盘”。
这不完全对。
Git 更像项目的“版本记录本”。
| 你熟悉的东西 | 和 Git 的相似点 | 不同点 |
|---|---|---|
| 复制一个文件夹 | 都能保留一个旧版本 | 复制文件夹很乱,Git 更清楚 |
| 文档历史版本 | 都能看到以前状态 | Git 更适合项目文件夹 |
| 游戏存档 | 都能在关键时刻存一下 | Git 还会记录改了哪些文件 |
| 云盘 | 都可能同步文件 | Git 的核心不是同步,而是版本 |
第二册先不用管 GitHub。
GitHub 是网上的代码仓库。
Git 是你本地项目里记录版本的工具。
这一课先讲 Git。
三个词先听懂
Git 里有很多词。
本课先只记 3 个。
| 词 | 大白话 |
|---|---|
| 改动 | 项目里有文件被改过 |
| 差异 | 具体改了哪些内容 |
| 保存点 | 这次项目状态被正式记录下来 |
你可以这样理解:
改动 = 桌面上东西被移动过
差异 = 具体移动了哪些东西
保存点 = 拍一张当前桌面的照片
如果以后项目乱了,你至少知道曾经有一个“好状态”被记录过。
AI 改代码后,你先看什么
每次 AI 改完项目,不要马上继续叫它加新功能。
先问 4 个问题:
| 问题 | 你要得到什么答案 |
|---|---|
| 改了哪些文件 | 文件列表 |
| 每个文件为什么改 | 小白能听懂的说明 |
| 有没有新增文件 | 新文件是做什么的 |
| 现在能不能保存 | 是否适合留下 Git 保存点 |
你不需要马上看懂每一行代码。
但你要知道:
AI 不是只改了“页面上看到的地方”。
它可能也改了配置、数据、样式、组件、工具函数。
知道改动范围,才不会盲目继续。
常见命令卡
下面这些命令,你可以让 Codex 帮你运行。
你现在不需要背。
你要先知道它们大概在问什么。
| 命令 | 大白话意思 |
|---|---|
git status | 现在有哪些文件被改了 |
git diff | 文件里具体改了什么 |
git add 文件名 | 准备把这些改动放进保存点 |
git commit -m "说明" | 正式留下一个保存点 |
git log --oneline | 看过去留下过哪些保存点 |
如果你完全不会命令,可以先这样对 Codex 说:
请你帮我运行必要的 Git 检查命令,但每一步先解释它在检查什么,不要直接做删除或回退操作。
注意:
删除、覆盖、回退,都要非常谨慎。
如果 AI 提到 reset、checkout、clean 这类可能让文件变化很大的命令,先停下来,让它解释清楚。
什么时候适合留下保存点
适合留下保存点的时候,通常满足这些条件:
| 检查项 | 是否满足 |
|---|---|
| 项目能正常启动 | 是 / 否 |
| 页面能正常打开 | 是 / 否 |
| 原来的主要功能还在 | 是 / 否 |
| 历史记录能保存 | 是 / 否 |
| 刷新后历史记录还在 | 是 / 否 |
| 能删除历史记录 | 是 / 否 |
| 终端没有明显报错 | 是 / 否 |
| 你大概知道 AI 改了什么 | 是 / 否 |
大多数是“是”,才适合留下保存点。
如果有明显问题,先修问题。
不要把坏状态当成好状态保存下来。
保存点说明怎么写
保存点说明不需要很文学。
它要让未来的你看得懂。
好的说明像这样:
| 保存点说明 | 好在哪里 |
|---|---|
完成历史记录本地保存 | 说清完成了什么 |
添加历史记录删除功能 | 说清一个具体功能 |
修复刷新后记录丢失问题 | 说清修复了什么 |
不太好的说明像这样:
| 保存点说明 | 问题 |
|---|---|
更新 | 太模糊 |
改一下 | 以后看不懂 |
final | 很可能以后还有很多 final |
AI 改的 | 没说改了什么 |
第二册推荐你用这种格式:
完成:历史记录本地保存和删除
或:
修复:刷新后历史记录保留
给 AI 的第一句话:先检查
在留下保存点之前,先不要让 AI 继续改功能。
你可以复制这句话:
请你先不要改代码。请检查当前项目的 Git 状态,告诉我有哪些文件被修改、新增或删除。请用小白能懂的话解释每个改动大概是为了什么,并判断现在是否适合留下 Git 保存点。
你要看 AI 的回答是否包含:
| 内容 | 是否出现 |
|---|---|
| 改动文件列表 | 有 / 没有 |
| 每个文件的作用说明 | 有 / 没有 |
| 是否有危险改动 | 有 / 没有 |
| 是否建议先运行测试或启动项目 | 有 / 没有 |
| 是否适合保存 | 适合 / 不适合 / 不确定 |
如果 AI 没有解释,只给一堆文件名,你要追问。
课堂活动:做一次保存点检查
请用自己的项目完成下面这张表。
| 项目 | 我的记录 |
|---|---|
| 当前项目名称 | |
| 我刚完成的功能 | |
| AI 改了几个文件 | |
| 新增了哪些文件 | |
| 我最看得懂的一个改动 | |
| 我最看不懂的一个改动 | |
| 项目现在能启动吗 | 能 / 不能 |
| 是否适合保存 | 适合 / 不适合 |
如果你最看不懂的改动很重要,就先不要保存。
先问 AI:
我不懂这个文件为什么要改,请你用非技术语言解释它和历史记录功能有什么关系。
给 AI 的第二句话:留下保存点
当你确认项目基本正常后,再让 AI 帮你留下保存点。
可以这样说:
现在项目可以正常启动,历史记录也通过了保存、刷新保留和删除测试。请帮我留下一个 Git 保存点。保存点说明请使用:完成历史记录本地保存和删除。执行前请先告诉我要运行哪些命令。
如果 AI 执行完,你还要让它解释结果:
请告诉我这次 Git 保存点是否成功留下。请给我看保存点说明,并告诉我以后怎样确认这个保存点存在。
后悔药怎么用
Git 经常被说成“后悔药”。
但后悔药不能乱吃。
对小白来说,先记住一句话:
我可以知道有保存点,但不要自己乱回退。
如果以后 AI 改坏了项目,你可以这样问:
项目现在改坏了。请先不要回退文件。请帮我查看最近的 Git 保存点,并解释每个保存点大概是什么状态。然后告诉我有哪些恢复方案,以及每种方案会影响哪些文件。
先看方案,再决定。
不要看到“回退”两个字就马上确认。
本课小结
Git 不是为了显得专业。
Git 是为了让你在 AI 改项目时有安全感。
你要先学会三个动作:
看改动。
理解改动。
留下保存点。
如果你每完成一个小功能就留下一个清楚的保存点,项目就不容易越改越乱。
本课最低标准
完成本课后,你至少要能说出:
Git 是项目保存点工具。
我可以用它查看 AI 改了什么,并在项目正常时留下一个保存点。
并且你完成了 3 件事:
| 最低动作 | 是否完成 |
|---|---|
| 让 AI 解释当前改动 | 完成 / 未完成 |
| 判断当前项目是否适合保存 | 完成 / 未完成 |
| 留下一个清楚说明的 Git 保存点 | 完成 / 未完成 |