Compare

GitComet vs KDiff3

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

Nothing else has to change

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 setup

This 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

What carries over from KDiff3

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.

Three columns and an overview

Base, local and remote side by side with an overview column down the edge showing where the unresolved work is — the layout KDiff3 established.

Split and join conflicts

Break one conflict into two where unrelated edits were grouped, or join neighbours that should be decided together.

Added

What is different

It starts partly done

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.

Syntax highlighting

44 languages, in all three source columns and in the editable resolved output.

Undo across the session

The whole resolution has an undo and redo history, not just the text field you are in.

Not just text conflicts

Binary conflicts, keep-or-delete conflicts and add/add conflicts with no common ancestor each get a view built for that decision.

A full Git client behind it

It is also a complete Git GUI — history, staging, rebase, blame — if you want one. What else it does.

Tested against libgit2

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

Questions about replacing KDiff3

Can GitComet replace KDiff3 as my git mergetool?

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.

Does GitComet have KDiff3 manual alignment?

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.

What does GitComet add over KDiff3?

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.

Can GitComet merge without a graphical 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.