--- name: 提交代码 description: 提交全部内容并推送到远程仓库(不检查路径) --- ## 用户输入 ```text $ARGUMENTS ``` 执行前**必须**处理用户输入(非空时) ## 执行步骤 ### 1. 查看当前状态 ```bash jj st jj diff jj log -r '@-' ``` ### 2. 设置提交消息 工作副本 `@` 本身就是一个提交,用 `describe` 设置消息: ```bash jj describe -m "<类型>: <描述>" ``` ### 3. 固化提交 `jj new` 将当前工作副本固化为正式提交,并创建新的空工作副本: ```bash jj new ``` ### 4. 更新书签(如有需要) jj 中书签(等同于 git 分支)不会自动移动,需手动更新: ```bash # 查看当前书签 jj bookmark list # 将书签指向刚创建的提交 jj bookmark move <书签名称> --to @- ``` > 如果已在 trunk 分支上直接提交,书签指向 `@-`(刚固化的提交)即可。 ### 5. 推送 ```bash jj git push ``` ### 6. 输出结果 ```text 项目根目录: xxx 工作目录: xxx 书签: xxx 远程地址: xxx 用户输入: $ARGUMENTS 提交哈希: xxx 提交时间: yyyy-MM-dd HH:MM:SS 提交日志: {jj log -r '@-'} ``` ## 提交规范 遵循 Conventional Commits 标准,结合项目特定需求制定以下提交规范。 详细规范见 `team/git.md`,命令对照见 `team/jj.md`。 ### 提交类型 使用**中文类型**,禁止英文类型(feat、fix、chore 等): | 类型 | 说明 | |------|------| | 功能 | 添加新功能或增强现有功能 | | 修复 | 修复 bug 或错误行为 | | 维护 | 维护性任务(依赖更新、配置修改等) | | 文档 | 文档更新、README、注释等 | | 重构 | 代码重构(不改变外部行为) | | 测试 | 添加、修改或修复测试代码 | | 格式 | 代码格式化、空白调整等 | | 性能 | 性能优化改进 | | 构建 | 构建系统、工具链变更 | | 安全 | 安全相关修复或改进 | | 依赖 | 依赖包更新或添加 | | 清理 | 删除无用代码或文件 | | 配置 | 配置文件修改 | | 规格 | speckit 规格文档更新 | ### 格式要求 - 使用祈使语气("添加" 而不是 "添加了") - 长度不超过 50 个字符 - 类型后使用冒号和空格分隔:`功能: 添加用户认证` - 可指定作用域:`功能(auth): 添加 JWT 验证` ### Claude Code 提交行为规范 **禁止**在提交消息中添加 AI 工具签名或标识: - `Co-Authored-By: Claude ...`