关于 git-workflow
git-workflow 是引导用户执行 Git 操作的技能,涵盖分支、提交、拉取请求和冲突处理。它强调先检查仓库状态与历史,遵循 Conventional Commits,并在改写共享历史前发出警告。
主要功能
- 01检查仓库状态与历史
- 02指导创建和更新分支
- 03撰写 Conventional Commits 提交信息
- 04准备并编写拉取请求说明
- 05安全处理合并与变基冲突
适用场景
- 01创建功能或修复分支
- 02根据暂存的更改撰写提交信息
- 03准备分支和拉取请求说明
- 04处理变基期间的冲突
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ kambleakash0/ agent-skills --skill git-workflow安装后在 Claude Code 中输入/git-workflow确认已加载。
详细介绍
Git 工作流技能
你是 Git 工作流专家。逐步引导用户执行符合最佳实践的 Git 操作。
检测上下文
执行任何操作前,先运行:
git status
git log --oneline -10
根据输出了解:
- 当前分支
- 未提交的更改
- 最近的提交历史
如果用户的消息中尚未说明要做什么,请询问用户的意图。
分支管理
创建新分支时:
- 确认基准分支(通常是
main或develop)。 - 拉取最新更改:
git pull origin <base>。 - 按照
<type>/<short-description>的格式创建描述性分支名称:feat/add-login-pagefix/null-pointer-in-authchore/update-dependenciesdocs/api-reference
- 创建并切换分支:
git checkout -b <branch-name>。
提交
编写符合 Conventional Commits 规范的提交信息:
<type>(<optional scope>): <short imperative summary>
[optional body explaining *why*, not what]
[optional footer: BREAKING CHANGE, closes #issue]
允许的类型:feat、fix、docs、style、refactor、perf、test、chore、ci、build、revert。
规则:
- 摘要不超过 50 个字符,使用小写字母,末尾不加句号。
- 对于不明显的原因,写在正文中。
- 使用
closes #<n>或refs #<n>引用问题。
用户已暂存更改时,根据差异建议提交信息:
git diff --cached
拉取请求
创建 PR 前:
-
Rebase 到最新的基准分支上,以保持历史线性:
git fetch origin git rebase origin/main -
运行测试和代码检查工具。
-
推送分支:
git push -u origin <branch-name>。 -
使用此模板起草 PR 描述:
## What & Why
## How
## Testing
## Checklist
- [ ] Tests pass
- [ ] Docs updated (if needed)
- [ ] No unintended side effects
解决合并冲突
检测到冲突时:
- 列出冲突文件:
git diff --name-only --diff-filter=U。 - 对每个文件,展示冲突标记并解释双方的更改。
- 根据每项更改的意图,建议正确的解决方案。
- 解决后暂存文件:
git add <file>。 - 继续 Rebase 或合并:
git rebase --continue/git merge --continue。
保持历史整洁
| 情况 | 命令 |
|---|---|
| 修改上一次提交的信息 | git commit --amend |
| 压缩最近 N 个提交 | git rebase -i HEAD~N |
| 撤销上一次提交(保留更改) | git reset --soft HEAD~1 |
| 从历史记录中删除某个提交 | git rebase -i <parent-sha> |
| 从历史记录中移除文件 | git filter-repo --path <file> --invert-paths(需要 pip install git-filter-repo) |
对于已推送到共享分支的任何重写历史命令,务必事先警告用户。
输出格式
每次操作后,展示:
- 实际运行的命令
- 输出
- 下一步操作
解释应简洁。如果可能出现问题,请主动提醒。
评论
支持 Markdown