GUI for GIT similar to SourceTree

A nice alternative is SmartGit. It has very similar features to SourceTree and has built in 3-column conflict resolution, visual logs, pulling, pushing, merging, syncing, tagging and all things git :)


tl;dr: GitEye = most intuitive UI, fastest workflow, highly customizable


I'm a long time TortoiseHg Workbench poweruser and I love it, so naturally my completely opinionated criteria were mostly based on it:

* full history visible in main window
* beautiful tree (DAG), branches CLEARLY separated
* current branch clearly visible in history
* superclear list of changed/added files (list + diff detail)
* each changed/added file can be committed separately (or in groups)
* current branch clearly visible while committing
* clear push/pull etc buttons
* shelve = stash {not to be confused with patches}
* revert
* graft = cherry pick
* max git features
* HiDPI support
* all changes become visible on refresh
* refresh shortcut

I tested the following apps:

  • git-cola
  • GitEye
  • GITK
  • git-gui
  • QGit
  • giggle
  • tig
  • SmartGit
  • gitg
  • RabbitVCS
  • GitKraken
  • GitX
  • git-dag
  • Bazaar Explorer + bzr-git
  • TortoiseHg + hggit (best UI, hggit doesn't work)

Results

Most of the tested git GUI clients are complete ****, below are 2 of the best and 1 that is not as **** as others.

Legend

- = feature missing or so **** it doesn't count
~ = feature somewhat matches my requirements
+ = feature works like I want :)

1st place: GitEye

most intuitive UI, fastest workflow, highly customizable

~ full history visible in main window [in a separate tab, same UI pattern facilitates looking at the history of separate files]
+ beautiful tree (DAG), branches CLEARLY separated
+ current branch clearly visible in history
+ super clear list of changed/added files (list + diff detail)
+ each changed/added file can be committed separately
+ current branch clearly visible while commiting
+ clear push/pull etc buttons
+ shelve = stash [Stashes clearly visible in sidepane]
+ revert
+ graft = cherry pick
+ max git features
~ HiDPI support
+ all changes become visible on refresh
- refresh shortcut [you can set one, but it won't work. bug?]

Note: if the Git Files view stops working on you, then use the similar Git Staging view.

2nd place: SmartGit

beautiful integrated file diff. committing unclear, history hidden, requires a license

~ full history visible in main window [separate window, I found myself constantly confusing both windows]
- beautiful tree (DAG), branches CLEARLY separated
- current branch clearly visible in history
+ super clear list of changed/added files (list + diff detail)
~ each changed/added file can be commited separately [UI not clear enough]
- current branch clearly visible while commiting
+ clear push/pull etc buttons
+ shelve = stash 
+ revert
+ graft = cherry pick
+ max git features
+ HiDPI support
+ all changes become visible on refresh [refreshes automatically]
+ refresh shortcut [refreshes automatically]

3rd place: QGit

beautiful clear history, commit UX messy, lightweight, custom commands can be added

+ full history visible in main window
+ beautiful tree (DAG), branches CLEARLY separated
+ current branch clearly visible in history
~ super clear list of changed/added files (list + diff detail) [doesn't show new files in main window]
- each changed/added file can be committed separately
- current branch clearly visible while committing
~ clear push/pull etc buttons [could be added via custom commands]
- shelve = stash 
- revert 
- graft = cherry pick
- max git features
+ HiDPI support
~ all changes become visible on refresh [except for new files]
+ refresh shortcut

Honorable mention: GitKraken

Its still in its development phases (1.5.1 is still missing HiDPI support), but gets basic work done. This could easily compete with GitEye and SmartGit. Its better than QGit for sure.

All the rest:

I am disappointed by the type of **** made to pass as a git client. I guess their authors think it's more efficient to do everyday simple things on the command line and they have based their clients on that inefficient workflow.


GitEye is pretty good stuff. Also, free (as in beer).