15 lines
1.3 KiB
Markdown
15 lines
1.3 KiB
Markdown
---
|
|
name: resolving-merge-conflicts
|
|
description: "Use when you need to resolve an in-progress git merge/rebase conflict."
|
|
---
|
|
|
|
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, use the merge's stated goal if it settles the choice and note the trade-off. If intent remains ambiguous, leave the affected conflict intact and ask for that decision. Do not invent behavior or abort the operation without authorization.
|
|
|
|
4. Discover the project's **automated checks** and run them — typically typecheck, then tests, then format. Fix anything the merge broke.
|
|
|
|
5. **Finish the requested operation.** Stage only resolved paths and required task-owned fixes. Inspect the index for unrelated staged changes before committing. A request to finish the merge/rebase authorizes its normal continuation; a review-only request does not. Continue a requested rebase until complete, stopping for unresolved intent, failed checks, or new authority requirements. Never stage the entire checkout indiscriminately.
|