resolving-merge-conflicts · git:20260923.cbcf853 · 2026-09-23 · sha256 af70a385bcaa7771

resolving-merge-conflicts git:20260923.cbcf853A

Immutable. This exact content never changes and is served at /api/v1/blob/af70a385bcaa7771.

---
name: resolving-merge-conflicts
description: "Resolves an in-progress git merge or rebase conflict by tracing why each side changed, reconciling every conflicted hunk, running the project's checks, and finishing the merge or rebase. Use when a merge, rebase, or pull stops on conflicts, when files contain conflict markers, or when the user asks to fix or resolve merge conflicts."
license: MIT
---

1. **See the current state** of the merge/rebase. Check git history, and the conflicting files.

2. **Find the primary sources** for each conflict. Understand deeply why each change was made, and what the original intent was. Read the commit messages, check the PRs, check original issues/tickets.

3. **Resolve each hunk.** Preserve both intents where possible. Where incompatible, pick the one matching the merge's stated goal and note the trade-off. Do **not** invent new behaviour. Always resolve; never `--abort`.

4. Discover the project's **automated checks** and run them, typically typecheck, then tests, then format. Fix anything the merge broke.

5. **Finish the merge/rebase.** Stage everything and commit. If rebasing, continue the rebase process until all commits are rebased.