name: commit description: 创建微提交(最小切口),每个提交至少有一个验证信号。当请求说“将此拆分为微提交”、“仅暂存最小更改并提交”、“保持提交微小,同时检查通过”时使用,或者当并行工作/切片需要隔离、可审查的提交时使用。
提交
意图
将更改雕刻成外科提交:一个连贯的更改,最小化影响范围,并且在提交前至少有一个反馈信号。
何时使用
- “将此拆分为微提交。”
- “仅暂存最小更改并提交它。”
- “保持提交微小,保持检查通过。”
工作流程(外科原则)
1) 定义切口范围
- 识别可以独立存在的最小更改。
- 隔离不相关的编辑;除非正确性需要,避免随机重构/格式化。
2) 暂存(优先非交互式)
检查:
git status -sbgit diff
暂存您打算的内容(在非交互式环境中优先文件级暂存):
git add <路径...>git restore --staged <路径...>
验证:
git diff --cached匹配预期的切口。
如果确实需要块级暂存,但您的环境无法进行交互式暂存,请要求用户本地暂存块或提供可以应用的补丁。
3) 验证微范围
- 可选帮助:
scripts/micro_scope.py(暂存与未暂存的大小比较)。 - 如果暂存的差异涉及多个关注点,在运行检查之前拆分它。
4) 闭环(必需)
- 选择最紧密的可用信号并运行它。
- 如果仓库的测试/检查命令不可发现,询问首选命令。
- 参考:
references/loop-detection.md。
5) 提交
- 使用简洁的消息;优化清晰度,而非诗意。
- 只有在至少一个信号通过后才提交。
6) 重复
重复直到工作树干净或剩余的更改被有意推迟。
护栏
- 未经询问,不要扩大范围。
- 优先使用能有意义地测试更改的最小检查。
- 没有通过信号,不要声称完成。
资源
scripts/micro_scope.pyreferences/loop-detection.md