Free Preview
先试读:Claude Code和Git怎么配合:分支、提交、回滚、不要误提交
Claude Code 可以快速读文件、改文件、跑测试、整理提交说明。速度是优点,但也带来一个现实问题:如果你不管理改动范围,很容易不知道它到底改了什么。
Git 的价值不是“写给程序员看的历史记录”,而是给你三种能力:第一,知道哪些文件变了;第二,知道每次变更的目的;第三,出现问题时能回到上一版。
这篇能解决什么问题
- 把一句模糊需求改成 AI 能执行、你能验收的任务卡。
- 知道执行前要先检查哪些文件、风险点和验证命令。
- 避免 AI 顺手改无关内容,最后只交付可审、可回退的改动。
付费后能看到哪些内容
- AI 改代码越快,越需要 Git 把每一步留痕
- 每次开工前,都先问:当前工作区干不干净
- 分支解决“在哪里改”,提交解决“这次改了什么”
- 有其他改动时,不要让 AI 直接 git add .
可以先照着试的一句话
这是我要改的功能:___。请先阅读项目结构,列出会动哪些文件、风险点和验证命令;等我确认范围后,再开始做最小改动。
试读到这里先判断是否对你的任务有用;完整文章会继续展开步骤、案例、模板和避坑细节。
AI 改代码越快,越需要 Git 把每一步留痕
没有 Git,AI 的改动就是一团看不清边界的文件变化。
Claude Code 可以快速读文件、改文件、跑测试、整理提交说明。速度是优点,但也带来一个现实问题:如果你不管理改动范围,很容易不知道它到底改了什么。
Git 的价值不是“写给程序员看的历史记录”,而是给你三种能力:第一,知道哪些文件变了;第二,知道每次变更的目的;第三,出现问题时能回到上一版。
没有 Git
改完之后只能靠肉眼找变化,线上出问题很难快速定位。
有 Git
每次改动都能被审查、提交、回滚,也能排除无关变化。
AI 负责执行
读 diff、解释改动、生成提交说明、提醒风险。
人负责确认
决定是否提交、是否部署、是否回滚、是否影响线上用户。
每次开工前,都先问:当前工作区干不干净
如果工作区里已经有别人或你自己留下的改动,AI 不能假装看不见。
真实项目里,工作区经常不是干净的。可能你昨天改了一半,可能另一个人刚生成了文件,可能某个脚本自动更新了索引。如果 Claude Code 没有先看 git status,它可能会把这些改动误以为是自己刚做的,最后一起提交。
你只想提交一篇模拟文章,但工作区里还混着未完成的支付配置、临时日志、测试截图。AI 如果直接 git add .,就可能把不该提交的东西全部带进去。
请先检查当前 Git 工作区状态,不要修改文件。
请告诉我:
1. 当前分支是什么
2. 有哪些已修改、新增、删除、暂存文件
3. 哪些文件看起来和本次任务相关
4. 哪些文件可能是别的任务留下的,不应该碰
5. 如果后续提交,应该如何只提交本次目标文件
分支解决“在哪里改”,提交解决“这次改了什么”
不要把多个目标塞进一个提交,也不要在不清楚分支用途时直接改主分支。
| 场景 | 建议做法 | 原因 |
|---|---|---|
| 新增一篇文章 | 一个提交只包含文章、入口页、搜索索引 | 方便审查内容是否完整同步。 |
| 修一个 bug | 提交里只包含 bug 修复和必要验证相关文件 | 避免把无关优化混进修复里。 |
| 大功能开发 | 单独分支,多次小提交 | 每一步都可审查,失败时容易回退。 |
| 临时试验 | 单独试验分支或不提交 | 避免污染稳定分支。 |
让 Claude Code 写 commit message 时,也不要只写“update files”。好的提交说明应该能回答:改了什么、为什么改、是否包含验证。比如 Add Claude Code Git workflow article 就比 update tools 清楚得多。
有其他改动时,不要让 AI 直接 git add .
只提交目标文件,是避免事故的核心动作。
如果工作区很干净,git add 目标文件和 git add . 的结果可能一样。但只要工作区有无关改动,git add . 就会变成高风险操作。更稳的方式是明确列出文件。
有时你还可以使用 git commit --only file1 file2 这类方式,确保只提交指定文件。重点不是记住某个命令,而是形成意识:提交范围必须可解释。
回滚不是“撤销一切”,而是知道要撤哪一层
越早想清楚回滚,越不怕上线后发现问题。
很多人听到回滚,会想到危险命令。其实日常项目里,更重要的是让 Claude Code 先说明回滚边界:本次提交包含哪些文件;如果线上出问题,是撤提交、恢复某个文件,还是临时切回旧链接;哪些改动不能直接撤,因为会影响数据或权限。
普通内容改动
通常可以通过撤回提交或恢复文件解决。
配置改动
需要确认环境变量、服务器配置、缓存是否也变了。
数据库改动
不能随便回滚文件,必须考虑已写入数据。
外部发送
邮件、消息、Webhook 一旦发送,文件回滚也无法撤回外部影响。
一套 Claude Code + Git 的安全协作提示词
把 Git 流程交给 AI 执行时,确认权仍然要握在人手里。
请协助处理当前模拟项目的 Git 流程。
第一步:只读检查
- 输出当前分支
- 输出工作区状态
- 区分本次任务相关改动和无关改动
第二步:提交前审查
- 列出本次建议提交的文件
- 总结每个文件改了什么
- 确认是否触碰登录、权限、支付、数据、部署等高风险区域
- 给出建议 commit message
第三步:提交限制
- 不要使用 git add .
- 只暂存我确认的目标文件
- 提交前再次输出暂存区内容
第四步:回滚说明
- 说明如果线上有问题,应该回滚哪一层
- 不要执行 destructive 命令,除非我明确确认
- 开工前先看当前分支和工作区状态。
- 不要把用户或其他任务留下的改动当成自己的改动。
- 提交前先解释 diff,再提交。
- 有无关改动时只提交目标文件。
- 部署前必须知道本次改动如何回滚。