Is there a similar piece of software to SourceTree, a GUI for git, for Linux? I know about Giggle, git cola, etc. I'm looking for a beautiful, easy to use GUI for git.

  • 1
    There are GUIs for git, yes. What features do you expect from that program? Don't assume that people have heard of SourceTree. – Gilles Sep 18 '12 at 1:08
  • @Gilles added a link to sourcetree. I'm looking for general git support, but something that's easy to use, and easy to look at. – Glen Solsberry Sep 18 '12 at 1:10
  • 4
    Refer to the following links: [Git GUI client for Linux][1] [A pretty and feature rich git GUI for Linux][2] [1]: stackoverflow.com/questions/1516720/git-gui-client-for-linux [2]: stackoverflow.com/questions/2141611/… – Dejian Sep 18 '12 at 4:06
  • 1
    Something wrong with the standard interfaces: git gui plus gitk? – ire_and_curses Sep 18 '12 at 5:18
  • 2
    how about gitg? – tsusanka Apr 8 '13 at 13:14
up vote 71 down vote accepted

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 :)

  • 1
    +1 I like SmartGit and I think it's the most advanced git gui for linux. However, staging is much clearer in SourceTree. On the other side, 3-way merging and conflict solving is much better in SmartGit. SourceTree does only support external tools for conflict solving. – sulai Mar 10 '14 at 18:11
  • 27
    Unfortunately SmartGit is NOT open-source. – landroni Sep 28 '14 at 19:04
  • And also I find it really overloaded. I think they couldn't have fit more split windows into the GUI. It seems to work fine with linux but there is no OS integration (e.g. adding shortcuts) – xXx Mar 17 '15 at 10:50
  • 3
    @landroni SourceTree is not open-source either, otherwise somebody would have ported it to Linux already. – Tobia May 28 '15 at 9:03
  • 1
    SmartGit is the closest thing to SourceTree we have on Linux platform but it's not as good. The thing I miss the most id that there is no spell checking (in commit messages) and tree view (in files). – Ashesh Kumar Singh Nov 11 '15 at 19:01

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.

  • 2
    Big minus for GitEye: Creates a .project file in every single repo it needs to inspect? – Nilzor Mar 17 '16 at 9:36
  • 3
    As of yesterday, GitKraken 1.0 is out. Maybe it's a good time to give it a shot? – E.P. Mar 30 '16 at 15:33
  • @Nilzor just add it to your .gitignore file like all other IDE files that you already have there. Problem solved. – allanlaal Aug 5 '16 at 13:29
  • Great roundup! But - GitEye and fastet workflow? Really? On my machine (a decent MacBook), GitEye is horribly laggy. So laggy that I didn't even care to see what features it has. GitKraken looks like the only viable option to me. Up-to-date UI, fast, still being maintained. But I hate subscription models, so I will likely only use the free version for personal projects. – AndyO Jun 13 '17 at 10:02
  • +AndyO yes, things really are as bad that GitEye would be the winner of this pile of ***. GitKraken does not work on HiDPI screens, so using it with a microscope is slower for me. I try to always use Mercurial instead, you cannot beat TortoiseHg Workbench :) <iniate war>..besides Mercurial is better than Git anyway</iniate war> – allanlaal Jun 14 '17 at 10:05

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

  • 13
    Mmm. GitEye is big (~100Mb), based on eclipse and greeted me with this dialog on just browsing my work tree. What is up with that?! – sehe Dec 3 '13 at 9:04
  • Yeah I know it wants to create a project which seems stupid. I don't use GitEye anymore. Only terminal and git-cola these days. – thnee Jul 14 '14 at 11:50
  • The GUI feels like a cheap and bad clone of sourcetree. At least the Git Files window feels a bit like it. – xXx Mar 17 '15 at 10:55

GitKraken is the best GUI for linux on working with git. It free only for non-commercial use. No other GUI clients for linux match this as of writing this answer.

You should consider taking a look once.

  • Not to mention it's built with Electron, so it will operate and visually look the same on Linux, Mac and PC :) – Jay Oct 20 '16 at 12:17
  • 3
    Not 100% free anymore, but still a good client. – Chuu Oct 25 '16 at 20:05

One open-source GIT GUI whose interface isn't positively scary is gitg. From the project's website:

gitg is the GNOME GUI client to view git repositories.

enter image description here

  • 1
    Not scary, also not super feature rich. It's a graphical version of git log --graph --oneline --decorate – four43 Dec 17 '14 at 17:02
  • Also, only allow client side decoration, with no fallback support, so useless for any WM that don't support then – higuita Feb 25 '16 at 13:33

If you can use any JetBrains IDE (https://www.jetbrains.com/), I recommend you to do so. They have a pretty nice built-in GUI for git (and also other VCS)... maybe not so packed with features as other software mentioned here, but it does it job.

Also, qgit works for me. The only issue I encountered was when I tried to switch to a dark (white-on-black) GTK theme.

  • How is the 3 way merging for conflict resolution? – Jonathan Feb 22 at 23:57
  • One of the best I've encountered. Perfectly covers all my needs. I'm not sure about other variants, but PHPStorm also does static analysis within the merge window (the middle column), so that you immediately see potential problems while merging. The latest EAP release also makes it possible to commit only selected lines of the code. – zaantar Mar 2 at 18:39
  • After more than two more years of active development, I can only re-emphasize how amazing JetBrains products are (all of them, basically). And if I absolutely needed an alternative GIT GUI, I would go with GitKraken. – zaantar Mar 2 at 18:44
  • I agree with @zaantar. The JetBrains products have the best and most intuitive git integration (imo), but his comment on selected lines of the code is only partially correct. They added the feature to select hunks for staging earlier this year, but selecting single lines (e.g. parts of a single hunk) is not possible (yet, but they might be working on that). – Griddo Jun 21 at 8:01

latest visual studio Code editor for linux has very smooth git integration.

https://code.visualstudio.com/Download

Check GitHub Desktop for Linux: https://aur.archlinux.org/packages/github-desktop/

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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