Files
ai_soc_sw/.trae/skills/git/SKILL.md
T
tupingr 75312d7d1a feat(skill): 新增 git Skill - 封装常用 git 操作
- 将 status/add/commit/push/pull/branch/log/diff/stash/reset 封装为参数化动作
- 规范提交信息格式(type(scope): subject)
- 控制提交频率,按功能/任务粒度提交
- 推送前必须确认,避免频繁推送
2026-05-23 22:38:52 +08:00

174 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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 操作,避免频繁提交,确保提交信息规范