GUI for GIT similar to SourceTree
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.
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 🙂
GitEye is pretty good stuff. Also, free (as in beer).
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.
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.
latest visual studio Code editor for linux has very smooth git integration.
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.
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.
Check GitHub Desktop for Linux: https://aur.archlinux.org/packages/github-desktop/
It allows working with non GitHub repos.
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.
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.
I recommend GitUi, a TUI programm
https://github.com/Extrawurst/gitui
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.