CI/CD & GitOps Practical By Samson Tanimawo, PhD Published Jul 18, 2025 4 min read

Merge Conflict Resolution Discipline

Conflicts happen. Resolution patterns.

Rebase

Rebase rewrites your branch's history so that your changes appear to have been made on top of the latest main, in a clean linear sequence. The result is a history that looks like everyone worked one after another, with no branching. For trunk-based development, where the main branch is the only long-lived line and short-lived feature branches collapse into it, rebase is the right default.

What rebase buys you and what it costs:

Rebase is the right default for most modern engineering teams because their workflows are trunk-shaped. The teams that resist it are usually carrying a long-lived branch model that is itself the cause of their merge conflict pain.

Merge

Merge preserves the branch as a unit, with a merge commit recording the moment two histories joined. The history is non-linear but it captures the actual narrative of how work was done: this branch existed, these commits happened on it, this is when it merged back. For long-lived feature branches and for codebases that value historical fidelity, merge is the right default.

Merge is the right default when the branch represents a meaningful unit of work whose existence is worth preserving. It is the wrong default when the branch is just "I made some changes and now I am pushing them up."

Avoid

The single biggest cause of painful conflicts is letting them age. A conflict caught when a branch is one day old is usually a 5 minute fix. The same conflict on a branch that has been festering for two weeks is a multi-hour archaeology project. The discipline is to merge often and rebase often, not to defer.

Merge conflicts are not a tooling problem. They are a workflow problem caused by branches that live too long and PRs that get too large. Nova AI Ops watches branch age and PR size as engineering health metrics, surfaces the patterns that are causing repeat conflicts (specific files, specific teams), and helps the team see when their working rhythm is feeding the merge pain instead of fighting it.