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