Skip to content

Git 与版本控制:AI 协作的安全网

用 AI 写代码,AI 会改文件。Git 让你永远能回到上一版——这就是它的全部意义。

你将学会

  • 说清 Git 的三个核心价值:存档、回退、对比;
  • 用不到 10 条命令完成日常操作;
  • 写出规范的提交信息,坚持小步提交;
  • 让 AI 配合 Git:改完给 diff、出问题能回退;
  • 出事了(改崩、误删)知道怎么救。

前置知识

读过编程心智模型速成(知道文件和终端即可)。本机装了 Git,见工具与资源

一、为什么是 Git,而不是“复制一份备份”

AI 一次可能改好几个文件。手动复制备份的问题是:你不知道“改了哪里”,也说不清“回到哪一版”。

Git 给你三件事:

  • 存档:每次改完存一次(提交),随时能回到任意一次存档;
  • 对比:看清两版之间到底改了什么(diff);
  • 协作:多人、多分支并行,最后合并。

二、心智模型

text
工作区(你正在编辑的文件)
   │ git add

暂存区(这一版准备提交的改动)
   │ git commit

提交历史(一串存档,每个有 id 和说明)
  • 工作区:你眼前正在改的文件。
  • 暂存区:一个“待提交清单”;git add 把改动放进去。
  • 提交(commit):一次存档,包含 id 和说明。
  • 分支:从某个提交分出来的独立开发线(入门阶段先只用主干即可)。

三、最小命令集

一天只会用到这几条:

text
git init                 在当前目录初始化仓库
git status               看现在有哪些改动(最常用)
git add <文件>           把改动放进暂存区(git add . 表示全部)
git commit -m "说明"     存一次档
git log --oneline        看历史提交(一行一条)
git diff                 看还没提交的改动
git restore <文件>       放弃某文件尚未提交的改动

记不住没关系:git status提示你下一步该敲什么

四、提交规范

一条好提交的原则:一次提交只做一件可说明的事。

text
feat: 新增按分类筛选
fix: 修复导入非法 JSON 时覆盖数据的问题
docs: 补充 README 运行说明
  • 前缀表示类型(feat 新功能 / fix 修 bug / docs 文档 / refactor 重构);
  • 冒号后写中文简述,说清“改了什么”;
  • 别把十个不相关的改动塞进一次提交。

为什么要小步:出问题时,你能精确回到出问题之前那一版,而不是丢掉一整天的活。

五、让 AI 配合 Git

在提示里把 Git 写进去,AI 会做得规矩得多:

text
完成后请:
1. 用 git status 和 git diff 说明改了哪些文件、改了什么;
2. 一个功能对应一次提交,提交信息用「feat: 中文简述」格式;
3. 如果检查没通过,先不要提交。

收工三件套(对齐入门教程的四个习惯):git status 看改动 → git diff 核对 → git commit 存档。

六、出事了怎么办

情况处理
刚改崩,还没提交git restore <文件> 放弃该文件改动
提交错了,想撤回上次提交git reset --soft HEAD~1 撤提交、保留改动
想看看某次提交改了什么git show <commit-id>
误删了文件(提交过)git restore <文件> 从历史恢复
想回到更早的好的版本git log --oneline 找到那次,git show 看内容

入门阶段不要碰 git reset --hard 和强制推送——它们会真的丢东西。

动手练习

  1. 在一个空目录里 git init,建一个文件,git add + git commit 存第一次档。
  2. 改几句话,用 git diff 看差异,再提交一次。
  3. 故意改坏一个文件,用 git restore 恢复。

检查点

  • 能用 git status 说出“现在有哪些改动”;
  • 能读懂一次 git diff,指出改了哪些文件、哪些行;
  • 能在改崩之后把项目恢复到上一个提交。

常见问题

Q:node_modules/ 也被提交进去了怎么办? 加一个 .gitignore 文件,写上 node_modules/.envdist/,再把它们从暂存区移除。

Q:一定要用命令行吗? 不一定,图形工具也行。但命令能让你看懂 AI 在做什么,建议至少会 status / add / commit / diff

小结与下一步

Git 是 AI 协作的安全网。接下来去从 0 到 1 用 Vibe Coding 写自己的项目,把 Git 用在真实的切片实现里。

陶渊明的小院 · 基于 VitePress 构建