feat(skill): 新增 git Skill - 封装常用 git 操作
- 将 status/add/commit/push/pull/branch/log/diff/stash/reset 封装为参数化动作 - 规范提交信息格式(type(scope): subject) - 控制提交频率,按功能/任务粒度提交 - 推送前必须确认,避免频繁推送
This commit is contained in:
@@ -0,0 +1,173 @@
|
||||
---
|
||||
name: "git"
|
||||
description: "Wraps common git operations as parameterized actions. Invoke when user wants to commit, push, pull, branch, or check git status."
|
||||
---
|
||||
|
||||
# Git Skill
|
||||
|
||||
## 功能
|
||||
|
||||
将常用 git 操作封装为参数化动作,避免频繁手动提交,统一管理版本控制。
|
||||
|
||||
## 触发条件
|
||||
|
||||
- 用户要求提交代码
|
||||
- 用户要求查看状态/日志/差异
|
||||
- 用户要求创建/切换分支
|
||||
- 用户要求拉取/推送代码
|
||||
- 用户要求回退/重置
|
||||
|
||||
## 参数说明
|
||||
|
||||
| 参数 | 说明 | 示例 |
|
||||
|------|------|------|
|
||||
| `action` | 操作类型 | status, add, commit, push, pull, branch, log, diff, stash, reset |
|
||||
| `message` | 提交信息(commit 时必填) | "feat(P01-001): 实现用户登录" |
|
||||
| `branch` | 分支名(branch/push/pull 时使用) | feature/P01-001-login |
|
||||
| `files` | 指定文件(add 时使用,默认全部) | ["src/login.ts", "tests/login.test.ts"] |
|
||||
| `force` | 强制操作(push/reset 时使用) | true/false |
|
||||
| `count` | 日志条数(log 时使用) | 10 |
|
||||
|
||||
## 操作类型
|
||||
|
||||
### 1. status - 查看状态
|
||||
|
||||
```bash
|
||||
git status
|
||||
git status -s # 简洁模式
|
||||
```
|
||||
|
||||
**输出**:显示已修改、已暂存、未跟踪的文件
|
||||
|
||||
### 2. add - 添加文件
|
||||
|
||||
```bash
|
||||
git add -A # 添加所有变更
|
||||
git add <files> # 添加指定文件
|
||||
git add -p # 交互式选择(逐块确认)
|
||||
```
|
||||
|
||||
### 3. commit - 提交
|
||||
|
||||
**提交信息格式**(必须遵循 AGENTS.md 命名规范):
|
||||
```
|
||||
<type>(<scope>): <subject>
|
||||
|
||||
<body>
|
||||
|
||||
<footer>
|
||||
```
|
||||
|
||||
| type | 说明 |
|
||||
|------|------|
|
||||
| feat | 新功能 |
|
||||
| fix | Bug 修复 |
|
||||
| docs | 文档更新 |
|
||||
| style | 代码格式(不影响功能) |
|
||||
| refactor | 重构 |
|
||||
| test | 测试相关 |
|
||||
| chore | 构建/工具链 |
|
||||
|
||||
**示例**:
|
||||
```
|
||||
feat(P01-001): 实现用户登录功能
|
||||
|
||||
- 添加登录页面组件
|
||||
- 实现微信授权登录
|
||||
- 添加登录状态管理
|
||||
|
||||
Closes #123
|
||||
```
|
||||
|
||||
### 4. push - 推送
|
||||
|
||||
```bash
|
||||
git push # 推送到当前分支
|
||||
git push origin <branch> # 推送到指定分支
|
||||
git push -u origin <branch> # 首次推送并设置上游
|
||||
git push --force # 强制推送(谨慎使用)
|
||||
```
|
||||
|
||||
### 5. pull - 拉取
|
||||
|
||||
```bash
|
||||
git pull # 拉取并合并
|
||||
git pull --rebase # 拉取并变基
|
||||
```
|
||||
|
||||
### 6. branch - 分支管理
|
||||
|
||||
```bash
|
||||
git branch # 查看本地分支
|
||||
git branch -a # 查看所有分支
|
||||
git branch <name> # 创建分支
|
||||
git checkout <name> # 切换分支
|
||||
git checkout -b <name> # 创建并切换
|
||||
git branch -d <name> # 删除分支
|
||||
```
|
||||
|
||||
### 7. log - 查看日志
|
||||
|
||||
```bash
|
||||
git log --oneline -<count> # 简洁日志
|
||||
git log --graph --oneline # 图形化
|
||||
git log --since="2026-05-20" # 按日期过滤
|
||||
```
|
||||
|
||||
### 8. diff - 查看差异
|
||||
|
||||
```bash
|
||||
git diff # 未暂存变更
|
||||
git diff --cached # 已暂存变更
|
||||
git diff HEAD # 所有变更
|
||||
git diff <file> # 指定文件
|
||||
```
|
||||
|
||||
### 9. stash - 暂存
|
||||
|
||||
```bash
|
||||
git stash # 暂存当前变更
|
||||
git stash list # 查看暂存列表
|
||||
git stash pop # 恢复最新暂存
|
||||
git stash apply <stash@{n}> # 应用指定暂存
|
||||
```
|
||||
|
||||
### 10. reset - 重置
|
||||
|
||||
```bash
|
||||
git reset --soft HEAD~1 # 撤销提交,保留变更
|
||||
git reset --mixed HEAD~1 # 撤销提交,变更回暂存区
|
||||
git reset --hard HEAD~1 # 撤销提交,丢弃变更(危险)
|
||||
```
|
||||
|
||||
## 执行流程
|
||||
|
||||
### 提交流程(commit + push)
|
||||
|
||||
1. `git status` - 查看当前状态
|
||||
2. `git add -A` 或 `git add <files>` - 添加文件
|
||||
3. `git diff --cached` - 确认变更内容
|
||||
4. `git commit -m "<message>"` - 提交
|
||||
5. `git push` - 推送(如用户要求)
|
||||
|
||||
### 分支创建流程
|
||||
|
||||
1. `git branch` - 查看当前分支
|
||||
2. `git checkout -b <branch>` - 创建并切换
|
||||
3. 提示用户后续提交将在此分支进行
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. **提交频率**:不要每改一个文件就提交,按功能/任务粒度提交
|
||||
2. **提交信息**:必须遵循 AGENTS.md 命名规范,包含项目编号和任务编号
|
||||
3. **推送前确认**:推送前必须让用户确认,除非明确要求
|
||||
4. **强制推送**:必须明确警告用户,确认后才能执行
|
||||
5. **冲突处理**:遇到合并冲突时,先展示冲突文件,让用户决定如何处理
|
||||
6. **文档同步**:代码提交后,提醒用户使用 `update-docs` Skill 同步文档
|
||||
|
||||
---
|
||||
|
||||
**Version**: 1.0
|
||||
**Created**: 2026-05-23
|
||||
**Based On**: ErrLens AI Programming Project
|
||||
**Purpose**: 统一管理 git 操作,避免频繁提交,确保提交信息规范
|
||||
Reference in New Issue
Block a user