用途
Git Ops 是一个智能 Git 操作编排器,用于在 Claude 会话中处理各类 Git 与工作树(worktree)任务。它的核心思路是按操作风险分层路由:只读查询快速内联执行,安全写入派发给后台代理,破坏性操作强制预检确认。
主要能力
三层安全分级
- Tier 1:只读操作,内联执行。 无需子代理,直接通过 Bash 运行以获得即时结果。涵盖 status、log、diff、blame、show、reflog、tag、branch、stash list、worktree list、PR/issue 列表、CI 检查、运行状态等。可用 delta 高亮 diff。
- Tier 2:安全写入,派发给代理。 包括 commit、push、tag、PR、stash、cherry-pick、创建分支/工作树、落地工作树、清理 ghost 工作树等。派发前先从对话与 Git 状态收集上下文,随后派发给后台 git-agent(Sonnet)执行并回传结果。
- Tier 3:破坏性操作,必须预检。 包括 rebase、reset --hard、force-push、删除分支、丢弃更改、合并到 main、移除工作树等。代理仅生成预检报告,不执行;编排器将报告转达用户,确认后重新派发并授予执行权限,执行时先记录当前 HEAD 哈希作为安全书签。
封装脚本
scripts/status.sh:一次性输出 HEAD、同步、树、工作树、分支、PR 状态。scripts/worktree-survey.sh:逐个工作树的状态、漂移检测与分类。scripts/land-all.sh [--porcelain]:将每个分支分类为 LANDABLE/STALE/WIP/ACTIVE/MERGED,用于批量落地规划。scripts/new-lane.sh [--sibling] <slug> [base]:快速创建lane/<slug>分支于.claude/worktrees/<slug>(已被 gitignore),并携带 gitignore 的 env 文件。
脚本退出码可组合:干净为 0,需关注为 1,非仓库为 2。
主动卫生检查
运行任何状态检查时会主动扫描反模式:主检出位于特性分支(红)、过期已合并分支、已推送分支上的 WIP 提交、超过 20 个文件的未提交堆积。脚本自动处理前两项,后两项由模型负责提示。
工作树管理
工作树为一级操作对象,分类包括:(trunk) 主仓库、PRUNABLE 可移除、has WIP 有未提交、unpushed 未推送、in-flight 使用中、GHOST 注册但文件系统缺失、UNREGISTERED/orphan 无 git 条目的目录。勘测先行是纪律要求:未经 worktree-survey.sh 输出并呈现给用户,不得建议 prune/remove。
落地流程(Tier 2)
从工作树落地分支到主干:验证前置条件 → fetch 主干并 rebase → 运行项目测试 → 测试通过后快进主干。不推送,推送是独立显式步骤。
发布工作流
git-ops 只负责发布的本地部分:分析提交、生成 CHANGELOG 内容、创建本地标签。远程部分(推送、gh release create、仓库元数据)归 github-ops 技能。版本号按提交类型推导:feat → minor,fix → patch,BREAKING CHANGE 或 ! 需用户显式批准,从不自动升 major。
使用方式
在 Claude 会话中提出 Git 相关请求(如提交、推送、创建 PR、rebase、查看状态、管理工作树),技能按决策逻辑分类层级并路由。Tier 2/3 默认后台派发,用户等待结果时用前台;仅在明确要求时使用工作树隔离。若 git-agent 不可用,回退为将层级协议内联到 general-purpose 派发;内联执行仅作为简单 Tier 2 操作的兜底。
适用场景
适用于需要在一个会话中处理多种 Git 操作、并行管理多个工作树、希望将耗时写入操作放到后台、且对破坏性操作有严格确认要求的开发工作流。也适合批量落地多个待处理分支、清理过期分支、规划发布。
限制与边界
- 硬性规则:绝不
rm -rf .claude/worktrees/;当.claude/worktrees/有未跟踪条目时绝不git add -A;绝不擅自判定其他会话的工作树为孤立;跨项目工作保持跨项目。 - ACTIVE 通道(有活跃写入方)从不落地;WIP 需先显式提交;STALE 需显式选择加入;默认仅落地 LANDABLE。
- 批量落地前必须先与用户确认计划,每个冲突都必须上报而非自行解决。
- 远程发布操作不在本技能范围内。
- 本资料的官方文本未提供收费、价格、平台支持与部分使用效果信息,暂未提供。
依赖工具
git、gh(GitHub CLI)、delta(可选,语法高亮 diff)、lazygit(可选,交互式 TUI,建议给用户而非代理)。