- See the current state of the merge/rebase. Check git history, and the conflicting files.
- 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.
- 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.
- Discover the project's automated checks and run them — typically typecheck, then tests, then format. Fix anything the merge broke.
- Finish the merge/rebase. Stage everything and commit. If rebasing, continue the rebase process until all commits are rebased.
