mcpField
G
git-workflow

git-workflow

github.com/netresearch开发59730 次安装今天更新
代码仓库

关于 git-workflow

git-workflow 是面向开发者的 Git 工作流技能,提供分支、提交、钩子和 PR 流程,其中合并检查针对 GitHub。它强调明确的安全规则、验证证据,以及高级操作的参考流程。

主要功能

  1. 01分支与提交规则
  2. 02Conventional commits 指引
  3. 03Git 钩子检测及配置参考
  4. 04GitHub PR 状态与合并脚本
  5. 05检查评审、CI 和讨论串的合并门槛

适用场景

  1. 01规范准备分支与提交
  2. 02合并前检查 PR 是否就绪
  3. 03处理钩子或高级 Git 流程

安装

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

$npx skills add https://github.com/netresearch/git-workflow-skill --skill git-workflow

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

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

checkpoints.yaml
evals/
evals.json
references/
advanced-git.md
ci-cd-integration.md
claude-code-hooks.md
code-quality-tools.md
commit-conventions.md
git-hooks-setup.md
github-releases.md
merge-gate-watcher.md
no-editorializing.md
pull-request-workflow.md
spec-cleanup.md
scripts/
conflict-marker-gate.py
merge-gate.sh
pr-merge.sh
pr-status-evaluate.jq
pr-status-investigate.jq
pr-status.sh
pr-sweep.sh
repo-contribution-preflight.sh
signing-preflight.sh
spec-cleanup-guard.sh
verify-git-workflow.sh

详细介绍

Git 工作流技能

不适用于此处

发布:github-release。BLOCKED-PR 诊断:github-project。

仅限 GitHub。 以下分支和提交部分之后的所有内容——pr-status.sh、pr-merge.sh、合并门禁、审查讨论串——都使用 GitHub GraphQL。对于 GitLab 合并请求,对应的 glab 调用见 references/pull-request-workflow.md § GitLab:使用 glab 实现相同门禁。

关键规则(不可协商)

  1. 不得直接推送到 main——始终创建 PR。
  2. 所有讨论串解决前不得合并(references/pull-request-workflow.md)。
  3. 未经要求不得 squash——保留原子提交、签名和二分查找能力。
  4. 没有粘贴命令输出,不得声称“已测试/已验证/可正常工作”——否则如实说明。
  5. 不得编辑已安装的技能/插件缓存路径(~/.claude/skills/、~/.claude/plugins/cache/、**/.bare/**)——始终在仓库工作树中操作,并通过 pwd 验证。
  6. 仅使用 --force-with-lease 强制推送——绝不使用普通的 --force。
  7. 先提交,再变基——add → commit → fetch → rebase → push(工作树有未提交更改时会中止)。
  8. 不作评判——陈述更改内容,不评价其好坏(references/no-editorializing.md)。

参考文件

参考文件内容触发条件
references/commit-conventions.mdConventional Commits、DCO 签署
references/pull-request-workflow.mdPR 合并门禁、签名变基、发布带行内建议的审查
references/ci-cd-integration.mdCI 监控、Git 镜像
references/advanced-git.md变基(包括非交互式 rebase -i)、cherry-pick、bisect、stash、工作树、reflog、推送/抓取卡住(SSH 多路复用)、在脚本中解析 Git 输出(用于锁定 diff/log/status 输出、不受用户配置影响的标志)、在单分支克隆中抓取单个分支(refspec)
references/github-releases.md→ github-release 技能
references/git-hooks-setup.mdHook 框架、各阶段的 hook
references/claude-code-hooks.mdsettings.json 合并门禁、拒绝缓存路径、自动 lint
references/code-quality-tools.mdshellcheck、shfmt、git-absorb、difftastic
references/merge-gate-watcher.md等待门禁、被运行环境终止的监控器、合并驱动循环、检查分类、过期 SHA 重跑
references/spec-cleanup.md清理基分支之外的规划产物
references/no-editorializing.md不自我表扬,不叙述预期结果

Conventional Commits

<type>[scope]: <description>

feat 对应 MINOR,fix 对应 PATCH;完整类型列表和 DCO 签署见 references/commit-conventions.md。 破坏性变更:在类型后加 !,或在页脚添加 BREAKING CHANGE:。 分支:feature/TICKET-123-description、release/1.2.0

Hook 检测

ls lefthook.yml .lefthook.yml captainhook.json .pre-commit-config.yaml .husky/pre-commit 2>/dev/null || echo "No hooks"

各框架的安装命令见 references/git-hooks-setup.md。

PR 合并要求

合并前:讨论串已解决、CI 通过(包括注释)、已变基、已签名,并且当前头部已经过审查——审查者可以是人工、机器人,或通过 pr-merge.sh --self-reviewed 审查的作者。审查是必需的;机器人审查不是必需的,只有在审查确实正在进行时才等待。仅变基且已签名:git merge --ff-only。

验证

./scripts/verify-git-workflow.sh /path/to/repository
# Gate state, next action:
./scripts/pr-status.sh [-R owner/repo] [PR] [--json] [--watch]
# Merge; refuses when the gate is shut:
./scripts/pr-merge.sh [-R owner/repo] [PR] [--dry-run|--self-reviewed]
# Many PRs (`owner/repo N` per line) to merge; stops on any NEXT it does not handle:
./scripts/pr-sweep.sh [--interval SEC] [--timeout SEC] [--attention FILE] LISTFILE
# What a repository expects, before the first artifact:
./scripts/repo-contribution-preflight.sh [--repo <dir>] [--section docs|templates|packaging|ci|tools]
# Which copy is installed here (every script answers this):
./scripts/pr-status.sh --version

贡献: https://github.com/netresearch/git-workflow-skill

评论

支持 Markdown