112 lines
2.4 KiB
Markdown
112 lines
2.4 KiB
Markdown
---
|
||
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 ...`
|