关于 git-merge-expert
git-merge-expert 是用于处理 Git 合并、冲突解决、回滚和清理的技能,强调变更前检查与完成后验证。适用于需要保护仓库状态并谨慎处理破坏性操作的合并任务。
主要功能
- 01评估合并就绪情况
- 02创建备份引用
- 03谨慎解决冲突
- 04验证合并结果
- 05确认破坏性清理
适用场景
- 01合并前检查 PR 状态
- 02在检查冲突后合并分支
- 03从失败的合并中恢复
- 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.mdmerge-expertise.mdmerge-strategies.md详细介绍
不可妥协的规则:
- 合并前检查是否已准备就绪:分支状态、CI、评审和冲突风险。
- 执行非简单合并或破坏性恢复前,创建备份点。
- 合并后进行验证,再宣布成功。
- 对有风险或明确要求隔离的合并,优先在隔离的 worktree 中执行。
- 回滚或清理分支等破坏性操作前,必须获得用户明确确认。
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用于了解冲突等级、锁文件处理方式、回滚选择和清理规则。
输出约定
报告:
- 请求的合并或回滚操作
- 所选的执行模式和合并策略
- 准备就绪/验证状态
- 已解决的冲突、创建的备份引用或采取的回滚操作
- 最终 git 状态和执行的任何清理操作