197 lines
4.1 KiB
Markdown
197 lines
4.1 KiB
Markdown
# Git Commit 技能
|
||
|
||
智能化的 Git 提交助手,帮助你快速完成代码审查、生成规范的提交信息并执行提交。
|
||
|
||
## 🚀 快速开始
|
||
|
||
### 基本使用
|
||
|
||
```
|
||
你: "帮我提交这些代码"
|
||
```
|
||
|
||
技能会自动:
|
||
1. ✅ 检查暂存区状态
|
||
2. 🔍 简单代码审查
|
||
3. 📊 分析提交历史
|
||
4. 📝 生成提交信息
|
||
5. ✋ 等待你确认
|
||
6. 🎉 执行提交
|
||
|
||
### 使用场景
|
||
|
||
#### 场景 1:暂存区已有文件
|
||
```bash
|
||
# 你已经执行了 git add
|
||
git add src/main.rs src/config.rs
|
||
|
||
# 直接请求提交
|
||
你: "提交代码"
|
||
```
|
||
|
||
技能会直接使用暂存区的文件进行提交。
|
||
|
||
#### 场景 2:暂存区为空
|
||
```
|
||
你: "提交我的修改"
|
||
```
|
||
|
||
技能会:
|
||
1. 列出所有修改的文件
|
||
2. 询问你要提交哪些文件
|
||
3. 自动执行 `git add`
|
||
4. 继续提交流程
|
||
|
||
#### 场景 3:审查并提交
|
||
```
|
||
你: "审查代码并提交"
|
||
```
|
||
|
||
技能会进行简单的代码审查,检查:
|
||
- 语法错误
|
||
- 调试代码残留
|
||
- 敏感信息泄露
|
||
|
||
## 📝 提交信息格式
|
||
|
||
### 自动识别项目规范
|
||
|
||
技能会从以下来源识别项目的提交规范:
|
||
1. **Memory 中的项目规范**(优先级最高)
|
||
2. **提交历史中的风格模式**
|
||
3. **通用简洁格式**(默认)
|
||
|
||
### 配置项目规范
|
||
|
||
如果你的项目有特定的提交规范,可以在 Memory 中记录:
|
||
|
||
```
|
||
你: "记录项目提交规范:使用 Conventional Commits 格式,type 包括 feat、fix、docs、refactor、test、chore"
|
||
```
|
||
|
||
技能会自动保存到 Memory,后续提交时遵循该规范。
|
||
|
||
## 🎯 典型工作流
|
||
|
||
### 完整示例
|
||
|
||
```
|
||
你: "提交代码"
|
||
|
||
技能:
|
||
📊 检查到暂存区为空,发现以下修改:
|
||
1. src/main.rs (修改)
|
||
2. src/config.rs (修改)
|
||
3. tests/test_config.rs (新增)
|
||
4. README.md (修改)
|
||
|
||
请选择要提交的文件:
|
||
[ ] 提交所有文件
|
||
[ ] 选择特定文件
|
||
[ ] 取消
|
||
|
||
你: "提交所有文件"
|
||
|
||
技能:
|
||
✅ 已添加 4 个文件到暂存区
|
||
|
||
🔍 代码审查中...
|
||
✅ 未发现明显问题
|
||
|
||
📊 变更摘要:
|
||
- 修改文件:4 个
|
||
- 新增行:+127
|
||
- 删除行:-23
|
||
|
||
📝 提交信息:
|
||
feat(config): 添加 TOML 配置支持
|
||
|
||
- 实现 TOML 配置读取
|
||
- 添加配置文件解析
|
||
- 更新测试用例
|
||
- 完善文档说明
|
||
|
||
是否确认提交?
|
||
|
||
你: "确认"
|
||
|
||
技能:
|
||
✅ 提交成功!
|
||
commit: a1b2c3d feat(config): 添加 TOML 配置支持
|
||
```
|
||
|
||
## ⚙️ 高级功能
|
||
|
||
### 历史分析
|
||
|
||
技能会分析最近 20 条提交记录,学习项目的提交风格:
|
||
- 常用的 type 类型
|
||
- scope 的命名习惯
|
||
- 提交信息的语言(中文/英文)
|
||
- 描述的详细程度
|
||
|
||
### 智能暂存区处理
|
||
|
||
- **暂存区非空**:直接使用,快速提交
|
||
- **暂存区为空**:智能询问,避免误操作
|
||
|
||
### 提交前确认
|
||
|
||
每次提交前都会展示:
|
||
- 变更文件列表和统计
|
||
- 生成的提交信息
|
||
- 代码审查结果
|
||
|
||
你可以:
|
||
- 确认提交
|
||
- 修改提交信息
|
||
- 取消提交
|
||
|
||
## 🛠️ 配置示例
|
||
|
||
### Conventional Commits 规范
|
||
|
||
```
|
||
你: "配置提交规范"
|
||
|
||
技能: "请描述你的提交规范"
|
||
|
||
你: "使用 Conventional Commits:
|
||
- type: feat, fix, docs, refactor, test, chore
|
||
- 格式: type(scope): subject
|
||
- subject 使用中文
|
||
- 可选的详细正文"
|
||
|
||
技能: "✅ 已保存到项目 Memory"
|
||
```
|
||
|
||
### 自定义规范
|
||
|
||
```
|
||
你: "我们团队的提交格式是:[模块名] 简短描述"
|
||
|
||
技能: "✅ 已记录,后续提交将遵循该格式"
|
||
```
|
||
|
||
## 💡 最佳实践
|
||
|
||
### ✅ 推荐做法
|
||
|
||
1. **原子提交**:每次只提交一个逻辑变更
|
||
2. **及时提交**:完成功能点后立即提交
|
||
3. **清晰描述**:让他人快速理解变更目的
|
||
4. **遵循规范**:保持项目风格一致
|
||
|
||
### ❌ 避免事项
|
||
|
||
1. **混合变更**:不要在一次提交中包含多个不相关修改
|
||
2. **模糊描述**:避免 "update code"、"fix bug" 等无意义信息
|
||
3. **跳过审查**:即使小改动也应快速检查
|
||
4. **提交敏感信息**:检查是否包含密钥、令牌
|
||
|
||
## 🔗 相关资源
|
||
|
||
- 详细工作流程:查看 `SKILL.md`
|
||
- 提交规范参考:查看 `REFERENCE.md`
|
||
- [Conventional Commits 规范](https://www.conventionalcommits.org/)
|