Conflict resolution
When a merge, rebase, cherry-pick, revert, or stash apply hits conflicts, a banner at the top of the workbench shows how many there are. Select a file in the Conflicts group of the Changes view to open the three-way conflict workbench.
Three-pane layout
| Pane | Contents |
|---|---|
| Ours | The current branch (HEAD) side |
| Result | What will be written back to the working tree; directly editable |
| Theirs | The side being merged in |
Result starts as "cleanly merged parts + base in conflict regions", and conflict regions are tracked so their positions follow your edits. Fox Git reads the three index stages and runs git merge-file -p --diff3 on temporary files to split conflict blocks, without touching your working tree.
Linked scrolling and connector bands
The three panes use segment mapping centered on Result: scroll any pane and the other two align to the matching position, with tiny scroll jitter suppressed. Connector bands between each side and Result mark matching hunks, and only the visible range is drawn. Turn linking off if you prefer to scroll independently.
Resolve hunk by hunk
- Navigate back and forth between conflicts;
- for each conflict, accept ours, accept theirs, accept both, or keep base;
- the toolbar shows your progress;
- edit Result by hand at any time.
Mark as resolved
When you click "Mark as resolved", Fox Git first checks the file for leftover conflict markers (only <<<<<<< and >>>>>>>, so Markdown's ======= is safe), then writes the file and runs git add. If some conflicts have no choice yet, it asks once more.
Special conflicts
Binary conflicts and modify/delete conflicts cannot be merged hunk by hunk, so they switch to whole-file choices: accept ours, accept theirs, or — for modify/delete — delete the file.
Continue or abort
Once every conflicted file is resolved, click Continue in the banner to finish the merge, rebase, or cherry-pick (no editor pops up). Continue is unavailable while conflicts remain; Abort discards the operation and asks for confirmation.