SuperAPI AI 工具集

resolving-merge-conflicts

编程与开发

查看项目

更新于 10-23 16:18

技能介绍

用途 该技能面向进行中的 Git 合并或变基过程中出现的冲突解决。当合并/变基因冲突被阻塞,或用户要求解决冲突时使用,目标是在保留双方变更意图的前提下完成合并或变基。

主要能力

  1. 查看当前状态:检查合并/变基的当前状态、Git 历史与冲突文件。
  2. 追溯冲突来源:为每处冲突寻找主要来源,通过阅读提交信息、检查 PR、原始 issue/工单等方式理解每项变更的原因和原始意图。
  3. 逐块解决冲突:尽可能同时保留双方意图;当两种意图确实无法共存时,询问用户选择,而不是静默选取。若环境支持 AskUserQuestion,则提供 ours 和 theirs 作为选项,在合理时增加合并选项,每个选项的预览中展示对应冲突块,将符合合并既定目标的一项排在前面并标记为推荐;否则在对话中引用双方冲突块并询问。
  4. 不发明新行为,始终解决冲突;除非用户明确要求,不执行 --abort。
  5. 解决后检查:确认双方意图已体现在文件中、冲突标记已清除、已解决文件仍能解析;对已解决文件运行一次快速检查,如项目配置的静态分析或 linter,若未配置则运行语法检查(如 php -l、tsc --noEmit)。
  6. 搜索重命名或删除的符号:在代码树中搜索双方重命名或删除的每个符号(如 rg <old name>),因为即使没有文本冲突,合并也可能调用另一方已删除的内容;修复合并造成的破坏。完整测试套件和格式化工具交由 CI 运行。
  7. 完成合并/变基:暂存所有内容并提交;若为变基,继续变基过程直到所有提交完成变基。

使用方式 该技能以操作指引形式提供,按照上述步骤在合并/变基冲突场景中执行。具体调用方式或集成方式暂未提供。

适用场景

  • 合并或变基因冲突被阻塞。
  • 用户要求解决 Git 合并或变基冲突。
  • 需要在保留双方变更意图的前提下完成冲突处理。

限制

  • 不发明新行为;无法保留双方意图时需用户选择。
  • 除非用户明确要求,不执行 --abort。
  • 完整测试套件和格式化工具不在此技能中运行,交由 CI。
  • 具体命令细节、支持的平台或工具集成方式暂未提供。