Agent Skills
返回列表
💻

解合并冲突

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @kunlungrowth/resolving-merge-conflicts

技能介绍

合并 feature/login 到 main,auth.ts 第 40 行附近报冲突。靠肉眼在 <<</===/>>> 之间挑代码,往往把其中一方的意图整个丢掉——要么回退掉刚加的会话刷新,要么覆盖掉对方对 token 存储的重构,而且自己还不知道丢了什么。

它解决什么问题

解冲突的真实难点不在合并标记,而在不知道每一段改动为什么存在。这个技能把冲突当成一次需要还原作者意图的考古,而不是一次要赶紧糊上的修补。

核心做法

1. 先确认状态,再动手

看 git 历史与冲突文件,确认自己确实处于 merge 或 rebase 进行中,而不是误判了工作区状态。

2. 回溯一手来源

读提交信息、查 PR、查原始 issue/ticket。目的是搞清楚 ours 和 theirs 各自在解决什么。比如一次冲突里,ours 加了会话刷新,theirs 重构了 token 存储——两件事本该并存,而不是二选一。

3. 逐 hunk 解决,保留双方意图

能兼得就兼得:让会话刷新调用重构后的 token 存储接口。只有当两个改动确实指向同一处且无法并存时,才选择符合本次合并既定目标的一方,并明确记下权衡。绝不臆造冲突双方都没做过的新行为。

4. 跑项目的自动化检查

通常按 typecheck → tests → format 的顺序执行,修复合并破坏的东西。这一步能暴露肉眼看不出来的语义冲突——类型能过,不代表逻辑对。

5. 完成并收尾

全部暂存并提交。若是变基,继续处理直到所有提交都变基完,不留半途状态。

输出与边界

结果以 ConflictResolution 工件形式返回,包含冲突文件清单、每个 hunk 的取舍(both / ours / theirs 及理由)和检查是否通过,可交给 code-review 继续评审。

适用边界很清楚:只处理进行中的 merge/rebase 冲突。它不会用 --abort 逃避问题,不会忽略项目的自动化检查,也不会凭空发明新行为——如果你要的是绕过冲突直接强推,这个技能不适用。

使用场景

  • `main` 与 `feature/login` 合并时 `auth.ts` 冲突,需要理解双方改动后继续完成合并并提交。
  • 正在把本地分支 rebase 到最新的 `main`,多处文件冲突,需要逐 hunk 决定保留哪方逻辑并跑通检查。
  • 合并两个 PR 时同一函数被双方修改且语义冲突,需要回溯提交信息、PR 和 issue,选择符合目标的方案并记录权衡。
  • 团队要求合并前必须通过 typecheck、tests 和 format,需要在解决冲突后修复被合并破坏的检查项。

适合人员

  • 后端工程师:合并长期开发分支到主干时经常遇到冲突,需要在保留双方意图的同时让 CI 通过。
  • 前端工程师:团队频繁 rebase 共享功能分支,需要逐块判断业务逻辑归属,而不是机械选择 ours 或 theirs。
  • 开源贡献者:向上游 PR 合并时可能与已有改动冲突,需要回溯 issue 和提交信息,提出最小改动的冲突解决方案。
  • 项目负责人:需要确认合并过程没有丢失功能意图、没有跳过自动化检查,并能追溯每个冲突 hunk 的取舍理由。