SuperAPI AI 工具集

merge-prep

编程与开发

查看项目

更新于 10-16 04:13

技能介绍

用途

Merge Prep 用于代码合并前的分析与准备。它对比源分支与目标分支,检测潜在冲突,输出分析报告以及建议的合并命令。v1 版本为纯分析模式,不会执行合并、提交或推送。

主要能力

  • 前置校验:验证源分支与目标分支是否存在,检查工作区是否干净。
  • 合并前分析:通过脚本 bash skills/merge-prep/scripts/pre-merge-check.sh <branch> [target] 输出 JSON,包含 merge_base(共同祖先)、source_commits(源分支新增提交)、target_commits(目标分支独有提交)、has_conflicts(是否存在冲突)、conflict_files(冲突文件列表)、file_stats(受影响文件统计)。
  • 冲突分析:对每个冲突文件分析提交历史,判断冲突模式(迭代式、并行修改、热修复冲突、文档 add/add),并给出解决策略建议(取源、逐块选择、取目标等)。
  • 生成合并命令:输出可手动执行的合并命令,提供 merge commit(推荐)与 squash merge 两种方案。
  • 多分支模式:支持 /merge-prep branch1 branch2 branch3 --target develop,依次分析各分支,输出合并摘要,并建议合并顺序(冲突最少优先)。

使用方式

输入命令:/merge-prep <source-branch> [--target <branch>]

  • <source-branch>:要合并的分支(必填)
  • --target:目标分支(默认 {TARGET_BRANCH} 或 main)

工作流程:

  1. 校验前置条件(分支存在、工作区干净)。
  2. 运行合并前分析并展示报告。
  3. 若检测到冲突,进行冲突分析并给出解决建议。
  4. 生成合并命令供手动执行。
  5. 输出合并摘要。

适用场景

  • 在将功能分支合并到主分支前,先评估影响范围与冲突风险。
  • 需要了解源分支与目标分支之间的提交差异与文件变更统计。
  • 需要针对冲突文件获得解决策略建议。
  • 多分支合并时,需要分析各分支并规划合并顺序。

限制

  • v1 仅做分析,不执行合并、提交或推送。
  • 不自动合并、不自动推送、不自动提交、不建议或执行 rebase。
  • 不适用于提交代码(应使用 /smart-commit)、合并到生产主分支(应走手动 PR 流程)、仅查看 diff(应使用 git diff <target>..<branch>)、rebase 或 squash(需手动操作)。
  • 输出中不包含密钥,不建议强制推送。