mcpField
G
git-merge-expert

git-merge-expert

github.com/ulpi-io开发5182 次安装10 周前更新
代码仓库

关于 git-merge-expert

git-merge-expert 是用于处理 Git 合并、冲突解决、回滚和清理的技能,强调变更前检查与完成后验证。适用于需要保护仓库状态并谨慎处理破坏性操作的合并任务。

主要功能

  1. 01评估合并就绪情况
  2. 02创建备份引用
  3. 03谨慎解决冲突
  4. 04验证合并结果
  5. 05确认破坏性清理

适用场景

  1. 01合并前检查 PR 状态
  2. 02在检查冲突后合并分支
  3. 03从失败的合并中恢复
  4. 04安全清理已合并分支

安装

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

$npx skills add https://github.com/ulpi-io/skills --skill git-merge-expert

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

包含的文件

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

references/
conflict-and-rollback.md
merge-expertise.md
merge-strategies.md

详细介绍

此技能会修改 Git 状态,必须谨慎操作。

不可妥协的规则:

  1. 合并前检查是否已准备就绪:分支状态、CI、评审和冲突风险。
  2. 执行非简单合并或破坏性恢复前,创建备份点。
  3. 合并后进行验证,再宣布成功。
  4. 对有风险或明确要求隔离的合并,优先在隔离的 worktree 中执行。
  5. 回滚或清理分支等破坏性操作前,必须获得用户明确确认。

Git 合并专家

输入

  • $request:PR 编号、源分支、目标分支、合并方式、回滚目标或冲突解决目标

目标

通过以下方式安全地合并 Git 分支:

  • 评估是否已准备就绪以及合并方式
  • 必要时隔离风险
  • 解决冲突时保留各方意图
  • 验证结果
  • 安全地清理或回滚

步骤 0:确定请求的合并操作

判断用户想要:

  • 合并 PR
  • 将一个分支合并到另一个分支
  • 解决正在进行的合并中的冲突
  • 在执行前评估合并是否已准备就绪
  • 回滚错误的合并
  • 清理已合并的分支

如果请求范围、合并方式或清理行为不明确,请在修改 Git 状态前使用 AskUserQuestion。

成功标准:源分支、目标分支、合并方式和清理预期均已明确。

步骤 1:评估是否已准备就绪并选择执行模式

检查:

  • 当前分支和工作树状态
  • 源分支和目标分支的拓扑关系
  • 适用时的 PR 准备就绪情况
  • 适用时的 CI 和评审状态
  • 冲突可能性

然后选择:

  • 对简单的合并,直接执行
  • 转交给 git-merge-expert-worktree,在隔离环境中执行

以下情况优先使用 worktree 专家:

  • 用户明确要求隔离到 worktree
  • 合并有风险或涉及多个步骤
  • 清理和重试的安全性比速度更重要

加载 references/merge-strategies.md,了解合并方式和准备就绪规则。

成功标准:合并已被阻止、获准直接执行,或转交给 worktree 专家。

步骤 2:创建备份点并执行合并

执行非简单合并或破坏性回滚前,创建备份引用,例如标签。

然后执行请求的操作:

  • 在适当情况下通过 gh 合并 PR
  • 使用选定策略合并分支
  • 解决正在进行的合并中的冲突

规则:

  • 除非用户明确要求覆盖,否则不要在 CI 失败时合并
  • 不要悄悄舍弃冲突的任何一方
  • 重新生成锁文件,不要手动编辑
  • 使用符合请求且风险最低的合并方式

加载 references/conflict-and-rollback.md,了解冲突分级和恢复模式。

成功标准:合并或冲突解决已完成,Git 状态一致。

步骤 3:清理或推送前进行验证

使用范围最小且相关的检查验证结果:

  • git status
  • 确认不存在冲突
  • 适当时运行构建、测试和类型检查命令
  • 检查分支拓扑关系

规则:

  • 如果仍有未解决的冲突或验证失败,不要宣称成功
  • 验证失败时,在清理或推送前停止并恢复
  • 如果需要回滚,请遵循恢复指南,不要临时自行处理

成功标准:合并结果已验证,或失败状态已明确说明。

第 4 步:安全地报告、清理或回滚

根据结果:

  • 报告合并结果
  • 如有需要,在 PR 中发表评论
  • 谨慎清理已合并的分支
  • 根据分支类型,使用最安全的方法回滚

规则:

  • 在共享分支上,优先使用 git revert,而非 git reset
  • 除非确认分支已合并,或用户明确要求,否则不要删除分支
  • 在执行破坏性清理或强制推送操作前发出警告
  • 如果已将合并委派给 worktree 专家,需清楚说明这一安排

加载 references/conflict-and-rollback.md,了解回滚和清理规则。

成功标准:用户可以看到操作结果、执行的任何清理操作,以及剩余的 git 状态。

防护措施

  • 不要让模型主动调用此技能;它会修改 git 历史和分支状态。
  • 不要添加 context: fork;如果需要隔离,请改用 worktree 专家。
  • 不要添加 paths:;这是通用的 git 工作流技能。
  • 不要在 SKILL.md 中保留庞大的示例、命令百科全书或冗长的故障目录。
  • 不要在冲突尚未解决时合并。
  • 未经明确批准,不要删除用户分支,也不要强制推送共享分支。

何时加载参考资料

  • references/merge-expertise.md 在会话开始时加载,了解角色和领域专业知识。

  • references/merge-strategies.md 用于选择合并方式、检查 PR 是否已准备就绪、使用 GitHub CLI,以及判断何时应委派给 worktree 专家。

  • references/conflict-and-rollback.md 用于了解冲突等级、锁文件处理方式、回滚选择和清理规则。

输出约定

报告:

  1. 请求的合并或回滚操作
  2. 所选的执行模式和合并策略
  3. 准备就绪/验证状态
  4. 已解决的冲突、创建的备份引用或采取的回滚操作
  5. 最终 git 状态和执行的任何清理操作

评论

支持 Markdown