177

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.

8

12 Answers 12

82

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

8
  • 2
    +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, 2014 at 18:11
  • 50
    Unfortunately SmartGit is NOT open-source.
    – landroni
    Sep 28, 2014 at 19:04
  • 7
    @landroni SourceTree is not open-source either, otherwise somebody would have ported it to Linux already.
    – Tobia
    May 28, 2015 at 9:03
  • 2
    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
    Nov 11, 2015 at 19:01
  • 2
    Sourcetree is free. Is SmartGit free? Jul 22, 2020 at 13:51
65

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.

6
  • 2
    Big minus for GitEye: Creates a .project file in every single repo it needs to inspect?
    – Nilzor
    Mar 17, 2016 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, 2016 at 15:33
  • 1
    @Nilzor just add it to your .gitignore file like all other IDE files that you already have there. Problem solved.
    – allanlaal
    Aug 5, 2016 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, 2017 at 10:02
  • 1
    +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, 2017 at 10:05
22

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

4
  • 14
    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, 2013 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, 2014 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, 2015 at 10:55
  • Currently he link of GitEye points to integrations.digital.ai which does not mention it. In fact I cannot find any official download page anywhere. Is it still available? An updated link would be much appreciated. Feb 22 at 16:02
17

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.

3
  • Not to mention it's built with Electron, so it will operate and visually look the same on Linux, Mac and PC :)
    – Jay Wick
    Oct 20, 2016 at 12:17
  • 6
    Not 100% free anymore, but still a good client.
    – Chuu
    Oct 25, 2016 at 20:05
  • 4
    Requiring login in order to be able to use the application is a no-no for me
    – Calabacin
    May 2, 2020 at 12:15
14

I tried all git clients for Linux, and they all suck someway or the other. But because my IDE is Visual Studio Code, I ended up using VSCode. I installed the following extensions:

  • Git Lens
  • Git Graph
  • Git History

The only thing is, that most of the functionality is under your right mouse click, but all of the functionality of SourceTree is there.

Git Graph (right) and Git Lens (left)

Git History (right) and Git Lens (left)

Git History Commit Detail

Git History (right) and Git Functions (left)

12

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

2
  • 2
    Not scary, also not super feature rich. It's a graphical version of git log --graph --oneline --decorate
    – four43
    Dec 17, 2014 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, 2016 at 13:33
5

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.

4
  • How is the 3 way merging for conflict resolution?
    – Jonathan
    Feb 22, 2018 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, 2018 at 18:39
  • 1
    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, 2018 at 18:44
  • 1
    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).
    – Gerrit-K
    Jun 21, 2018 at 8:01
3

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

https://code.visualstudio.com/Download

2

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

It allows working with non GitHub repos.

3
  • is that even official? not offered on the official page. anyway this works also only for github
    – Emil
    Aug 30, 2023 at 0:07
  • It is on the official website: desktop.github.com ... and also support other repos :)
    – numediaweb
    Sep 8, 2023 at 7:59
  • i am on ubuntu now when i go to this url, it suggest me the windows version.I cannot see any Linux version
    – Emil
    Sep 9, 2023 at 0:12
1

I recommend GitUi, a TUI programm
https://github.com/Extrawurst/gitui

0
1

I've been using gitAhead for awhile, and I must say I'm pretty satisfied : easy to set up, easy to use and perform any git process. I have tried a few git clients, and I must say it's one of the best (for me at least) I've tried. Not to mention GitKraken, but you can't use it with private repos with the free version.

https://gitahead.github.io/gitahead.com/

1
  • 1
    "GitAhead is no longer under active development. Low-level maintenance and bug fix releases will be made as necessary for the forseeable future, but no new features or major changes are planned at this time." :(
    – Inigo
    Aug 13, 2022 at 13:05
0

I am aware that, this is a very old topic for an age old question. I just wanted to mention some points. First of all it seems that there still is not an as decent as SourceTree GUI for git exists in Linux. This makes one to appreciate the power and robustness of the actual shell interface. One option I wanted to mention is Eclipse's git sub menu. While not as powerful as some alternatives, after trying out several GUIs, including ones mentioned here, Eclipse turned out to be the most reliable GUI in my experience, that is assuming you also are comfortable with git command line options for occasional conflict management etc. So give Eclipse a try, especially if you are already using it as development platform or are looking for one.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .