name: pr description: 在GitHub上提交更改、推送分支并创建拉取请求 allowed-tools: Bash(git *), Bash(gh *)
拉取请求技能
提交更改、推送分支并在GitHub上创建拉取请求。
操作说明
-
检查当前状态
- 运行
git status查看已更改的文件 - 运行
git diff --staged和git diff查看所有更改 - 运行
git log --oneline -5查看最近的提交记录
- 运行
-
暂存和提交
- 按文件名暂存特定文件(避免使用
git add -A或git add .) - 切勿暂存敏感文件(.env、凭证等)
- 遵循约定式提交格式:
type(scope): description - 保持提交信息简洁(不超过72个字符)
- 按文件名暂存特定文件(避免使用
-
创建或使用分支
- 如果在
main分支上,创建新分支:git checkout -b <branch-name> - 分支名称格式:
type/short-description(例如:feat/code-comparison、fix/marker-cleanup) - 如果已在功能分支上,直接使用
- 如果在
-
推送到远程仓库
- 推送并设置上游跟踪:
git push -u origin <branch-name>
- 推送并设置上游跟踪:
-
分配标签 根据PR类型和范围,向
gh pr create添加--label标志。类型标签 — 根据提交类型选择:
提交类型 标签 fixbugfeatenhancementdocsdocumentationtest(无类型标签) refactor(无类型标签) chore(无类型标签) 组件标签 — 如果范围与仓库中的组件标签匹配,则添加:
范围 标签 compassCompassinteractionInteraction如果不确定,运行
gh label list检查可用标签。可以组合多个标签:gh pr create --label "bug" --label "Compass" ... -
创建拉取请求
- 使用
gh pr create创建PR - 编写清晰的标题(不超过70个字符)
- 根据PR类型,按照以下结构编写描述
- 以 类型 复选框开始 — 勾选适用的选项:
gh pr create --title "type(scope): description" --label "label" --body "$(cat <<'EOF' ## 类型 - [ ] 功能 - [ ] 错误修复 - [ ] 重构 - [ ] 测试 - [ ] 文档 - [ ] 杂项 ## 摘要 - 描述更改内容和原因的要点 ## 错误详情(仅适用于错误修复) **错误是什么?** 描述错误行为。 **为什么会发生?** 解释根本原因。 **如何修复?** 描述解决方案。 ## 测试覆盖 如果添加或更新了测试,请链接到分支上的文件(永久链接): - [`src/registry/map/__tests__/component.test.tsx`](https://github.com/alamenai/terrae/blob/<branch-name>/src/registry/map/__tests__/component.test.tsx) EOF )" - 使用
-
验证和报告
- 向用户显示PR URL
- 运行
git status确认状态干净
重要规则
- 切勿直接推送到
main分支 — 始终使用功能分支 - 除非明确要求,否则不要强制推送
- 在执行每个步骤前询问用户