# 模块 3:AI 变更的 Git 协作与合并控制
TRAE 可以加快修改,但不能绕开 Git 的可追溯、可审查和可回退要求。
AI 参与的改动越多,越要让分支、提交和合并边界保持清楚。
---
# 分支和提交要服务于审查
| 做法 | 为什么重要 | 公务用车案例 |
|---|---|---|
| 一个分支只解决一个问题 | diff 容易审查和回退 | 取消原因保护不混入无关重构 |
| 一个提交对应一个可验证动作 | 可定位问题和选择性回退 | 参数保护与对应测试保持一致 |
| 提交前排除无关文件 | 噪声不会掩盖业务风险 | 构建生成物不应混入业务变更 |
| 描述真实变更与验证情况 | 后续定位有证据 | 提交信息和 PR 只写有依据的验证 |
---
# 合并前的四道检查
| 检查点 | 要确认什么 | 当前案例的检查问题 |
|---|---|---|
| 范围 | diff 是否只包含已说明的改动 | 是否只有 Service 校验和相应测试? |
| 证据 | PR 是否如实标记测试、风险和未确认项 | 是否把 API 或浏览器验证误写为已通过? |
| 冲突 | 是否理解双方业务意图 | 是否保留“写入前校验”的顺序? |
| 回退 | 是否知道回退哪个提交、是否涉及数据补偿 | 代码改动可以选择性回退;集成数据仍需另行核对 |
---
# 用 TRAE 审查变更范围
```md
请检查以下 git diff 是否符合本次变更范围。
目标:取消派车必须由后端拒绝空白取消原因。
允许修改:Dispatch Service 的参数保护和对应的聚焦测试。
禁止修改:SQL、权限、菜单、前端页面、派车/行程状态协议、无关格式。
证据:实际 Maven 定向测试结果;API 和浏览器验证尚未执行。
请输出:直接相关改动、可能无关或风险较高改动、
合并前必须补充的验证、回退点。
```
---
# Git 历史也是工程接口
看得懂
目标与范围一致
审得动
每次改动足够聚焦
退得回
影响与恢复路径清楚
查得到
结论能对应 diff 与证据
AI 可以生成改动,Git 负责把改动保留为可理解、可审查的工程历史。