Consider this Git graph.

                      ----> [my-fork/develop]
[upstream/v2.0.0] --------> [upstream/v3.0.0]

I fork from a Git repo and make my own changes based on their version 2.0.0. In the meantime, the original repo evolves, resulting in version 3.0.0.

At this point, I consider re-integrating their changes into my repo. Before I do, I'd like to get a graphical overview of which files I changed and which files they changed, based on the common ancestor v2.0.0.

Here's what I'm looking for:

  • A graphical tool where I can specify 3 Git commits (base, mine, theirs)
  • Should run on Windows and OS X
  • Similar to KDiff3, it lists the files modified only by me, only by them, and (most importantly) modified by both
  • Similar to KDiff3, it can visualize a 3-way diff for these files

Here's what I don't want:

  • A console tool that outputs formatted ANSI text on the console
  • A merge tool that only displays conflicts
  • A Git-agnostic tool (like KDiff3) that only works on directories

So far, all the graphical Git tools I found only support 2-way diffs between commits.

| improve this question | | | | |
  • Out of curiosity; what keeps you from cloning the repository into three different directories, checking out a different branch in each, and using KDiff3 that way? – Duroth May 22 '19 at 14:48
  • @Duroth: This is not a one-off task. I'm looking for a solution that my colleagues and I can use frequently. Sure, I could write a script to automate the steps you describe. But I'd much prefer a single tool that supports this feature out of the box. – Daniel Wolf May 22 '19 at 14:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.