Resolve conflicts by hand
The conflict resolver: decide each conflicting region yourself, then commit the merge.
When a pull request conflicts with its base branch, GitHub will not merge it and its own editor handles only simple cases. Limn’s conflict resolver lets you settle the conflicts inside Limn. You see your version, the base branch’s changes and the result side by side, decide each conflicting region, and commit the merge. Limn never picks a side for you, and nothing is pushed until you press the button.
#Open the resolver
Press Resolve conflicts. You find it on the pull request’s Overview tab (the Conflicts row), in the merge controls, and on the Pending board’s conflicts card. It shows only on open pull requests you can push to. If you cannot push, you see the conflict and a link to GitHub instead. You can resolve one pull request at a time.
#Decide each change
+ amount = to_pence(raw) amount = float(raw)+ amount = Decimal(raw)- Left: Your version, the pull request’s branch.
- Right: Changes from main (with your base branch’s name).
- Middle: the result. It starts from the last commit both branches shared, and changes only when you decide a region. Every region starts as Needs a decision.
For each region, choose one of:
- Take your version or Take the change from main;
- Take both — yours first, then main or the other way round, and Swap which side goes first;
- Ignore this change and keep the ancestor;
- Edit the result for this change, to type the result yourself;
- Undo this decision.
To compare with the starting point, open Merge base, the last commit both branches shared. For a whole file at once, use Take your file or Take main’s file.
Take the obvious ones
Take the obvious ones applies every change only one side made, and merges conflicts whose edits do not overlap. It never picks a side where both sides changed the same lines. You still decide those.
#Commit and push
- Decide every region in every file. Until you have, Commit and push stays shut and What is left to decide lists each file still open.
- Press Commit and push in the toolbar. The landing step shows What is being committed.
- Under How to land it, choose Merge (one merge commit on your branch, plain push) or Rebase (replays your commit onto the base branch and force-pushes safely).
- Under Where to put it, choose Push to your branch, or Commit to a new branch, with Open a pull request for it if you want one.
- Press Commit and push.
#Let AI do it instead
If you would rather not decide region by region, AI Fix can merge the base branch in for you in its sandbox, and you push the result once you have read it. See Resolve merge conflicts with AI Fix.
#Why it helps
A conflict is often a few lines, but settling it usually means checking out the branch, merging, fixing and pushing. The resolver does it in the browser, keeps every decision yours, and will not commit a half-finished merge. Once it is resolved, see Can it land?.