8

I currently use SmartGit, which is a fully featured Git GUI. The interface is not pretty, and it's quite slow actually, but it's the only program I've found that gives me a nice side-by-side split view to see the before and after of code changes.

It also has a built in 3-way merge tool for conflicts that make it easy to fix conflicts within the program.

I haven't found anything else that does that. All the popular programs such as Tower, SourceTree, GitKraken all only provide inline changes. I found those not as intuitive to read.

Any suggestions for other programs I can switch to that provide this functionality?

The git website also provides links to many GUI programs, but none other seem to do split view.

I'm running on Mac and no hard price limit. The other "must-have" features are being able to revert changes line by line and built in 3-way merge...all things that SmartGit does great while being slow and ugly. I might end up staying on SmartGit after all this research.

2
  • Have you tried IntelliJ built-in git tool? It can show changes you've made in a side-by-side view, and it has conflict resolving tool with 3 panels (your changes, changes from server and result)
    – Alissa
    Sep 14, 2017 at 11:50
  • You might also take a look at meld – the website links to OSX binary builds. Not sure whether it supports 3-way-merge though.
    – Izzy
    Oct 2, 2017 at 11:44

6 Answers 6

3

Git was created for linux kernel development and those guys feel at home on the console and also like to send patches by mail every now and then. So the inline changes are the default. It's also very useful if the files are large and only a few lines changed when you get used to them. You might should give them a second try.

I use GitExtensions on Windows and there is a Linux port too. It only supports inline changes natively. But 3rd party diff/merge tools can be integrated (the full package comes with KDiff3 but you can pick another tool). Select a file change, open context menu and select "Open with diff tool" or press F3. This works on the main view, file history and commit window.

enter image description here

GitExtensions is somehwat buggy but good enough to work with. It uses libgit2 to interface with git so your data is safe even if GitExtension itself crashes (doesn't happen too often). The speed and the look are okay for me (console on Linux is faster biut that's another story). Almost all functionality of git is integrated. The more seldomly used commands like git filter-branch and similar are missing but the git console is just a single click away. Most of my collegues haven't touched git by console ever and are still capable to do branching/ merging/ interactive rebasing/ etc.

2

Using the settings described at https://stackoverflow.com/questions/33308482/git-how-configure-kdiff3-as-merge-tool-and-diff-tool you can use kdiff3 which is an excellent side by side diff & merge tool.

1

I use meld as my difftool. Now when I do git difftool it opens up a pretty side-by-side viewer in meld. I use it on both Linux and Windows.

Here's my answer on how to install and use meld.

0

GitUp deserves a mention here. It has a nice side-by-side view which even lets you pick out specific lines from a changed file to stage (leaving others for a subsequent commit).

I like it a lot, but can't recommend it wholeheartedly since it crashes fairly frequently (especially if you use it in combination with command-line Git, I think, rather than exclusively). Also, it once corrupted my Git repo (creating duplicate entities that prevented me from uploading my changes to Github, causing all manner of pain). You have been warned!

0

Came across this when searching the same. So if you have reached here years later like me, then Github Desktop has a split diff display to view changes to be staged.

1
  • Haven't used Github Desktop in a while so can't compare directly, but I will comment that I still use SmartGit as my main Git GUI software and it is much faster and prettier now, so would recommend!
    – teradyl
    Sep 14 at 0:36
0

Winmerge all the way! If it will run, I do not use OSX, but runs fine in wine on linux, so may be possible on Mac, if not try VimDiff https://www.tutorialspoint.com/vim/vim_diff.htm

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.