Manual line alignment
Ctrl+Y aligns the lines you select, for when automatic alignment misreads a large move. Ctrl+Shift+Y clears them. This is KDiff3's manual diff help, and it is the reason people still reach for KDiff3.
Compare
KDiff3 has been the dependable three-way merge tool for twenty years, and its manual line alignment is still the feature other tools quietly lack. GitComet keeps that, accepts KDiff3's own arguments, and resolves the obvious conflicts before you arrive.
Swap
GitComet accepts the KDiff3 and Meld invocation forms — the --L1, --L2 and --L3 label flags, -o and --output, and positional paths. Scripts and Git configuration that call KDiff3 keep working when GitComet is the binary behind them.
Register with Git
gitcomet setupThis writes both a headless and a graphical entry with guiDefault set to auto, so Git opens the window when you have a display and falls back to the algorithm when you do not. It is idempotent, it backs up any value it replaces, and gitcomet uninstall puts your previous configuration back.
Kept
Ctrl+Y aligns the lines you select, for when automatic alignment misreads a large move. Ctrl+Shift+Y clears them. This is KDiff3's manual diff help, and it is the reason people still reach for KDiff3.
Base, local and remote side by side with an overview column down the edge showing where the unresolved work is — the layout KDiff3 established.
Break one conflict into two where unrelated edits were grouped, or join neighbours that should be decided together.
Added
Identical sides, changes on only one side, and whitespace-only differences are resolved when the file opens. A large conflict can also be split into line-level pieces that then merge cleanly. Everything else is left for you.
44 languages, in all three source columns and in the editable resolved output.
The whole resolution has an undo and redo history, not just the text field you are in.
Binary conflicts, keep-or-delete conflicts and add/add conflicts with no common ancestor each get a view built for that decision.
It is also a complete Git GUI — history, staging, rebase, blame — if you want one. What else it does.
The merge engine runs against 212 distinct merge cases, largely ported from libgit2's own corpus, plus parity jobs against Git's merge test suites on every change.
KDiff3 remains free software, is packaged everywhere, and has two decades of proven behaviour behind it. If it works for you, there is no urgent reason to change.
FAQ
Yes. Running gitcomet setup registers it as both your mergetool and difftool, in graphical and headless variants, choosing between them based on whether a display is available. It also accepts KDiff3 invocation forms including the L1, L2 and L3 label flags and the output flags, so existing scripts and Git configuration keep working unchanged.
Yes. Select the lines that belong together and press Ctrl-Y to align them by hand, the same manual diff help KDiff3 provides. Ctrl-Shift-Y clears all manual alignments.
It resolves the unambiguous conflicts when the file opens rather than presenting every one of them, has syntax highlighting in 44 languages, an editable resolved-output pane, and undo and redo across the whole resolution session.
Yes. gitcomet mergetool with the --auto flag resolves what it safely can and exits 0 when the file came out clean and 1 when conflict markers remain, which makes it usable from scripts and CI.