resolving-merge-conflicts

当需要解决进行中的 git merge/rebase 冲突时使用。

提供方:mattpocock/skills调用次数:4.0k收藏:52更新:2026/08/28

技能说明mattpocock/skills

当需要解决进行中的 git merge/rebase 冲突时使用。

# resolving-merge-conflicts 技能说明

## 技能简介

resolving-merge-conflicts 用于解决正在进行中的 git merge/rebase 冲突。它帮助你理解冲突双方的原始意图,在保留各方目的的前提下逐个解决冲突,避免随意放弃合并或引入新行为。

## 使用场景

- 合并分支时遭遇代码冲突,需要安全解决并完成合并。
- 执行 git rebase 时出现冲突,希望继续 rebase 并整理提交历史。
- 面对冲突 hunk,需要了解背后涉及的 commit、PR 和 issue/ticket 的意图。
- 解决冲突后需要运行项目自动检查,确保合并没有破坏功能。

## 使用方法

当检测到进行中的 merge/rebase 冲突时,按以下步骤操作:

1. **查看当前状态**:检查 git 历史及冲突文件,了解合并/变基进行到哪一步。
2. **找到冲突根源**:深入理解每个冲突为何产生、原始意图是什么;阅读相关 commit message、PR 和 issue/ticket。
3. **逐个解决冲突 hunk**:尽可能同时保留双方意图;如果无法兼容,则选择与合并目标一致的一方,并记录取舍。不要发明新行为;始终解决冲突,绝不使用 `--abort` 中止。
4. **运行自动化检查**:了解项目的检查流程,通常依次运行类型检查、测试和格式化,修复合并导致的问题。
5. **完成合并/rebase**:暂存所有改动并提交;如果是 rebase,继续 rebase 流程,直到所有提交都完成 rebase。

## 注意事项

- 不要为了规避冲突而发明新行为或功能。
- 永远不要用 `--abort` 放弃 merge/rebase;应主动解决每个冲突。