mcpField
G
git-pr-workflows-git-workflow

git-pr-workflows-git-workflow

github.com/sickn33开发48.7k268 次安装今天更新
代码仓库

关于 git-pr-workflows-git-workflow

git-pr-workflows-git-workflow 是将已完成的改动从本地审查推进到已验证 Pull Request 的技能,面向需要遵循仓库策略的开发者。它检查分支保护、保留无关改动,并要求验证检查和远程结果。

主要功能

  1. 01检查仓库指引与分支保护
  2. 02保留无关的暂存和未提交改动
  3. 03并行安排代码审查
  4. 04运行验证并处理失败
  5. 05创建并核验 Pull Request

适用场景

  1. 01为已完成改动准备 Pull Request
  2. 02在受保护分支上提交代码
  3. 03核验 PR 检查与合并状态

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill git-pr-workflows-git-workflow

安装后在 Claude Code 中输入/git-pr-workflows-git-workflow确认已加载。

详细介绍

受保护的 Git Pull Request 工作流

将已完成的变更从本地审查推进到经过验证的 pull request,同时不绕过仓库策略或分支保护。

何时使用

适用于已完成的实现工作,这些工作必须经过审查、测试、提交、推送到主题分支,并作为 pull request 打开。当仓库有强制的专用维护者或发布工作流时,请改用该工作流。

策略门禁

在变更之前:

  1. 阅读 AGENTS.md、贡献指南、维护者文档及相关嵌套说明。
  2. 检查当前分支、工作树、远程仓库、上游以及生效的目标分支保护。
  3. 发现仓库原生的验证、提交、PR、合并和发布命令。
  4. 保留无关的未暂存和已暂存文件。

仓库策略优先于标志和用户简写。基于主干的开发并不意味着直接推送:当目标受保护时,使用短生命周期分支和 pull request。如果仓库定义了强制的维护者技能或受保护的合并命令,则将合并和发布操作交给它。在 agentic-awesome-skills 中,使用 antigravity-maintainer-batch-release 和 npm run merge:batch。

输入

根据请求和仓库确定以下内容:

  • 目标分支,默认为仓库默认分支;
  • 预期的变更文件和排除的用户工作;
  • 必需的测试、lint、安全、构建和文档检查;
  • 分支命名和提交信息约定;
  • 草稿或可审查的 PR 状态;
  • 必需的审查者、标签、issue 链接和合并方式。

仅当缺失的选择会实质性改变结果时才询问。

工作流

1. 捕获确切的变更
git status --short --branch
git diff --stat
git diff --cached --stat
git branch --show-current
git remote -v

确认范围内的每个文件。如果已暂存或未暂存的文件无法安全分离,则停止。

2. 并行审查

当子 Agent 可用且已授权时,为以下方面分配独立的有界审查:

  • 正确性和回归风险;
  • 安全性、密钥、权限和依赖风险;
  • 测试覆盖率和仓库策略合规性。

向每位审查者提供原始 diff 和仓库说明。主 Agent 负责去重、严重性评估、编辑和最终验证。

3. 验证和修复

运行仓库的针对性检查,然后运行其必需的 PR 前套件。如果检查失败:

  1. 确定原因来自源码、策略、环境还是基础设施;
  2. 仅修复范围内的源码或策略缺陷;
  3. 重新运行针对性失败的检查;
  4. 重新运行完整的必需套件。

不要削弱门禁、隐藏被跳过的测试,或将确定性失败视为偶发失败。

4. 准备分支并提交

在提交前获取目标分支。如果当前位于受保护/默认分支上,则在变更前创建主题分支。

git fetch origin <target-branch>
git switch -c <topic-branch> origin/<target-branch>
git status --short --branch

仅暂存预期路径,并根据仓库策略创建聚焦的约定式提交。当严格的必需检查要求最新目标分支时,对主题分支进行 rebase 或更新;未经明确授权,绝不强制推送共享分支。

5. 推送并创建 pull request
git push -u origin <topic-branch>
gh pr create --base <target-branch> --head <topic-branch> \
  --title "<conventional title>" --body-file <body-file>

PR 正文必须如实包含:

  • 变更内容及原因;
  • 实际运行的测试和验证;
  • 适用时的风险、部署、回滚和破坏性变更说明;
  • 适用时的 issue 链接、截图和仓库检查清单。

绝不将待处理的自动审查或测试标记为已完成。

6. 验证远程结果
gh pr view <pr-number> --json headRefOid,baseRefOid,mergeable,mergeStateStatus,url
gh pr checks <pr-number>

将审查证据绑定到当前完整的 head SHA。如果 head 或 base 发生变化,则丢弃过时的结论并重新运行受影响的检查。

使用仓库的受保护合并路径。不要用原始合并 API 替代必需的检查、合并队列、精确 SHA 认证或维护者命令。合并后,获取目标分支并验证所请求的远程、CI、部署或发布状态。

停止条件

当 PR 已存在于预期的 head、必需的检查为绿色或只有一个确切的阻塞项、评审证据为最新、无关的用户工作得到保留,并且任何请求的受保护合并或部署均已验证时,即可结束。

限制

  • 此工作流无法绕过分支保护、必需的评审、仓库权限或缺失的凭据。
  • 它不会授权超出用户请求和仓库策略的破坏性清理、强制推送、合并、部署或发布。
  • 将未解决的环境或基础设施故障保持为显式状态;没有证据时,不要将其转化为源代码更改。

评论

支持 Markdown