--- name: git-submit description: 执行 Git 提交和推送工作流 --- # Git 提交/推送工作流(Codex CLI) 当用户明确要求提交/推送时使用。 ## 操作流程 ### 1)检查当前状态(不需要用户确认) - 查看分支/干净程度:`git status -sb` - 查看变更概要:`git diff --stat` 如发现明显问题,优先在提交前处理: - 误把生成物/大文件加入:先移除或补 `.gitignore` - 变更跨度过大:提醒用户是否需要拆分提交 ### 2)起草提交信息(中文;这是唯一一次需要用户确认的环节) 根据对话历史和修改的文件信息,按下方规范先给出“建议的提交信息”,然后询问用户:**“是否确认/需要修改?”** #### Git Commit Message 规范 ##### 1)格式 ```text (): ``` 说明: - ``:提交类型(必填) - ``:影响范围/模块(必填) - ``:一句话说明“做了什么”(必填) --- ##### 2)type 列表 统一使用小写: | type | 含义 | |---|---| | `feat` | 新功能 | | `fix` | 修复 bug | | `docs` | 文档变更 | | `style` | 仅格式/风格(不改语义) | | `refactor` | 重构(不改变外部行为) | | `perf` | 性能优化 | | `test` | 测试相关 | | `build` | 构建系统 | | `ci` | CI 相关 | | `chore` | 杂项维护 | | `revert` | 回滚提交 | --- ##### 3)scope 列表 建议从以下范围中选择(保持一致即可): | scope | 含义 | |---|---| | `frontend` | 前端(ANTLR 驱动、AST 构建入口等) | | `ast` | AST 相关 | | `sema` | 语义分析(符号表、常量求值等) | | `ir` | IR 核心结构 | | `irgen` | AST → IR 生成 | | `mir` | Machine IR(指令选择、寄存器分配、栈帧等) | | `backend` | 后端目标相关(如需要可细化 `aarch64`) | | `antlr` | 语法文件/ANTLR 相关 | | `build` | 构建配置 | | `test` | 测试 | | `doc` | 文档 | | `misc` | 其他无法归类但需要说明的范围 | 提交信息示例: ```text refactor(irgen): 简化 AST → IR 构建流程 ``` ### 3)后续流程(均不需要用户确认) - 暂存所有改动:`git add -A` - 单行摘要:`git commit -m "(): "`,需要补充说明时用多行:`git commit -m "" -m "" -m ""` - 推送:`git push`,推送完成后立即停止,不要再运行其他命令