SuperAPI AI 工具集

mend

通用与其它

查看项目

更新于 10-15 21:46

技能介绍

用途:mend 用于完成已经处于进行中的 Git 操作(merge、rebase、cherry-pick、revert、am),或按目标先发起一次合并再解决冲突。它只在已有冲突或用户明确给出目标时工作:无合并状态且无目标时直接停止。

主要能力:读取冲突状态,恢复每一侧改动的原因(相关提交、提交信息及其所属 PR 或 issue),写出双方意图简报后交由 Weaver 处理冲突文件;审计冲突标记是否清除、是否越界改动、锁文件是否被手工合并;运行项目已有的检查;随后完成操作并推送结果。冲突解决原则是“双方意图都保留”,能共存则共存,不能共存则保留符合该操作目标的改动并记录取舍;不新增功能,不做顺手清理。

使用方式:通过冲突状态脚本(scripts/conflict-state)判断当前操作与阶段;目标参数可为拉取请求编号或 URL、base:<ref> 或分支名。PR 目标会先执行 scripts/prepare-pr.sh 完成校验、切到 PR 的头分支并获取基分支,再用 git merge --no-edit 合并基分支;分支目标经 git fetch --no-tags origin 拉取后合入当前分支;base:<ref> 以 git rev-parse --verify 解析后合入当前分支。完成阶段按操作类型使用 git commit --no-edit、GIT_EDITOR=true git rebase --continue、GIT_EDITOR=true git cherry-pick --continue、GIT_EDITOR=true git revert --continue 或 GIT_EDITOR=true git am --continue。推送默认由用户直接调用时执行:PR 目标走 prepare-pr.sh --push;其他操作从当前分支上游取远端与分支,用显式 refspec 推送。

适用场景:多分支并行开发中出现的冲突收尾、PR 基分支合并、变基或拣选序列的连续冲突处理。

限制:绝不使用 --abort;不会为了制造工作而发起合并;只在 Stage 1 切换分支且只切到 PR 头分支;锁文件不手工合并而是标记为重新生成;未完成的变基历史重写需先获授权;推送失败或租约失败即停止,不使用 --force;检查未通过且用户未明确授权时暂缓推送。检查命令、安装命令等具体内容沿用项目自身配置,资料未提供固定清单。