Initial commit
This commit is contained in:
196
git-commit/README.md
Normal file
196
git-commit/README.md
Normal file
@@ -0,0 +1,196 @@
|
||||
# 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/)
|
||||
Reference in New Issue
Block a user