用途
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)
工作流程:
- 校验前置条件(分支存在、工作区干净)。
- 运行合并前分析并展示报告。
- 若检测到冲突,进行冲突分析并给出解决建议。
- 生成合并命令供手动执行。
- 输出合并摘要。
适用场景
- 在将功能分支合并到主分支前,先评估影响范围与冲突风险。
- 需要了解源分支与目标分支之间的提交差异与文件变更统计。
- 需要针对冲突文件获得解决策略建议。
- 多分支合并时,需要分析各分支并规划合并顺序。
限制
- v1 仅做分析,不执行合并、提交或推送。
- 不自动合并、不自动推送、不自动提交、不建议或执行 rebase。
- 不适用于提交代码(应使用 /smart-commit)、合并到生产主分支(应走手动 PR 流程)、仅查看 diff(应使用
git diff <target>..<branch>)、rebase 或 squash(需手动操作)。 - 输出中不包含密钥,不建议强制推送。