228

I am using git for version control of various projects.

Is there GUI software for navigating through commits and branches of a project and for retrieving versions in git projects?

2

13 Answers 13

143

I guess you are looking for an easy to use front-end for git.

Take a look at "Graphical Interfaces" section of InterfacesFrontendsAndTools page on Git Wiki. There the following have been mentioned:

  • gitk - graphical history browser, in Tcl/Tk, distributed with Git (usually in gitk package)
  • git gui - graphical commit tool, in Tcl/Tk, distributed with Git (usually in git-gui package)
  • QGit - uses Qt toolkit
  • Giggle - uses GTK+ toolkit
  • git-cola - uses PyQt4
  • gitg - GTK+/GNOME clone of GitX
  • tig - text mode interface for git, is GUI and pager, uses ncurses
  • Gittyup - has a similar layout as GitKraken, but is free and uses Flatpak

Edit: These are the suggestions given in the other answers.

There are a couple of software which I personally find very easy to use.

  • Giggle: I personally use giggle Install giggle . It is simple and intuitive to use.

    screenshot

  • Cola Git GUI: I have not used Cola Git Install git-cola, but this does seem promising.

    screenshot

7
  • 4
    Git has a nice list of GUI Clients git-scm.com/downloads/guis I really like the “Only show GUIs for my OS (Linux)” button ;)
    – Kuchi
    Jul 25, 2014 at 10:32
  • 3
    I know this is an old answer, but I would like to +1 the use of git-cola. The way it handles staged files is the most user friendly of the linux git clients I have tried.
    – Daniel
    Oct 19, 2015 at 19:34
  • @Kuchi You may be comfortable with some Windows GUI using Wine. Filter by SO is like cutting down your real options. In my experience and in general, Windows GUI are a bit more elaborated. Aside that, SmartGUI is Free and is very helpful.
    – m3nda
    Nov 29, 2015 at 18:46
  • I'd like to -1 git-cola. I've used a couple git GUIs and this is by far the least feature-rich and intuitive I've used yet. Can't stash individual files, no history support, no ability to change any settings in the GUI (the settings are ready-only).
    – Josh Noe
    Oct 8, 2017 at 21:04
  • 2
    Eclipse git plugin is easy, clean and organized, worth mentioning it.
    – Katu
    Nov 17, 2017 at 13:41
27

Having tested all the above mentioned tools, I have settled with the following tools for managing my Git repositories:

SmartGit

SmartGit is an easy-to-use graphical user interface for Git with optimized work-flows. SmartGit supports all Git and Mercurial features needed for every-day work in software development projects:

  • Local working tree operations
  • Status, diff, log
  • Push, pull, fetch (for all protocols)
  • Tag and branch management
  • Merge, cherry-pick, rebase, revert
  • Submodule support
  • Stash management
  • Remotes management

I has also an easy to use wizard to connect you to online repositories like GitHub and BitBucket

enter image description here

RabbitVCS

In contrast, RabbitVCS has a different approach from other tools. Rather than providing an external UI for your git repository, it integrates its self to Nautilus. In fact RabbitVCS is a set of graphical tools written to provide simple and straightforward access to the version control systems you use.

enter image description here

3
  • 3
    RabbitVCS is a waste of time, at least on my Ubuntu 13.10. It almost crashes with every action. github.com/rabbitvcs/rabbitvcs/issues/21
    – Omid
    Apr 19, 2014 at 18:55
  • rabitvcs has bugs and is not so actively developed Jan 25, 2015 at 8:38
  • 2
    SmartGit isn't free for commercial use; GitEye is free, and it's also commercially developed so good quality.
    – Engineer
    Sep 27, 2015 at 12:30
18

Yes; git has a gui you can run with the git gui command.

If that doesn't work, it means you need to install the GUI for git. You can do this by installing the git-gui Install git-gui package. Or, even better, install the git-all Install git-all package.

sudo apt-get update && sudo apt-get install git-all

See man git-gui for details. Note that while the manpage is called git-gui, you run this as git gui.

3
  • After installation, you start git-gui tool with git gui or git citool
    – ubuntico
    Mar 19, 2014 at 11:34
  • Apart from extremly ugly look-and-feel git gui is a very feature-complete thing. I like it.
    – Sebastian
    Jun 13, 2014 at 22:12
  • 1
    Executing echo '*TkTheme: clam' | xrdb -merge - before starting git gui will make it a bit less ugly. Oct 1, 2015 at 12:48
14

I used gitg for a while before going back to CLI only. For entertainment value, there's gource, which can turn your git history into an animation :)

3
  • 5
    +1 for gource! Maybe not very useful but definitely cool!
    – Leo
    Dec 11, 2012 at 8:45
  • Here's how to visualize last 10000 commits for linux kernel. (1) git clone linux repo (2) run git log --pretty=format:user:%aN%n%ct --reverse --raw --encoding=UTF-8 --no-renames -n 10000 | gource --log-format git -a 2 -i 120 -s 1 --loop --padding 1.4 --max-file-lag 1 --user-friction 0.2 - (3) press f or u to hide filenames or usernames Oct 2, 2015 at 7:43
  • 3
    @MikkoRantalainen Oh yes, how did forgot that simple command :/
    – m3nda
    Nov 29, 2015 at 18:49
11

I am quite partial to smartgit. You can read more about it here It's by far the most complete git client on Linux that I have found. That being said, there is real strength in the command line, and I suggest you learn it well before using a GUI.

4
  • +! for smart git
    – mreq
    Dec 10, 2012 at 21:49
  • 2
    +1 for learning the command line first. GUIs make it too tempting to "just try that button, reset hard sounds like what I want".
    – Gauthier
    Jun 11, 2015 at 11:32
  • Plus you get command history and the text feedback does not disappear as easily as a dialog.
    – Gauthier
    Jun 11, 2015 at 11:33
  • 3
    no free liense for commercial use (well I could lie) and integration in ubuntu is not finalized (.deb). Not deal breaker, but still those are draw backs
    – Juh_
    Jul 22, 2015 at 7:04
10

I'm on the team that develops GitKraken, so I'm a little biased, but I'd highly recommend you check it out. It's cross-platform so you can use the same tool in Windows, Mac and Linux and it comes with some other unique features including undo/redo, indexed search and a responsive, intuitive design. If GitKraken doesn't work for you, I've also used and had some success with Git Extensions (Windows) and GitHub Desktop (Windows/Mac).

5
  • 1
    I just installed GitKraken on Ubuntu 16.04 and the first impression is really good. @chris are there any plans to open source this project at some point?
    – czerasz
    May 15, 2016 at 20:39
  • @czerasz There aren't any plans to currently, though GK does rely on and contribute to several open source projects. Here's some more info about that: gitkraken.com/faq#faq-open-source
    – Chris
    May 17, 2016 at 16:11
  • 3
    GitKraken is the best free git gui client for Linux! Thank you very much! VCS in the IntelliJ IDEA IDEs are very good too in case you use their products)
    – Maks
    May 25, 2016 at 17:59
  • GitExtensions can run on Linux with Mono, I have successfully installed and used it on various Ubuntu versions.
    – matth
    Dec 5, 2016 at 9:07
  • Does not support Centos / Fedora
    – Josh Noe
    Oct 8, 2017 at 21:06
10

Rather than downloading and compiling the tar.gz file from source(http://www.syntevo.com/smartgit/index.html), there is a PPA on launchpad available that allows one to install smartgit using the normal apt-get commands.

From a terminal (Ctrl+Alt+t), enter the following commands:

sudo add-apt-repository ppa:eugenesan/ppa
sudo apt-get update
sudo apt-get install smartgit 

This will install the latest version of smartgit.

1
  • 1
    I've used this approach myself. SmartGit works with GitHub two-factor authentication, which the command-line tools do not, in my experience. Just make sure that when prompted, you tell SmartGit to "merge fetched remote changes" instead of "rebase local branch onto fetched changes". The latter can cause SERIOUS problems if you don't know what you are doing. See the section entitled "RECOVERING FROM UPSTREAM REBASE" on git-scm.com/docs/git-rebase . Jul 9, 2016 at 14:00
5

There is also a relatively new (just released months ago) software called GitEye.

It provides a familiar graphical interface as it is based on Eclipse RCP framework. You can use it on Windows and Mac as well, since it runs on java.

Give it a try; it's free.

So far my only complain is that its merge tool is rather limited

1
  • 2
    Requires registration at 30 days from first use. Very easy and straight forward, great multi-platform solution.
    – CrandellWS
    Feb 7, 2014 at 4:58
4

ungit seems like a powerful intuitive GUI for git.

3

I use git extensions - I find it very helpful for what I need it for. Here's a link to getting it running on 12.04

2
2

If you are using Emacs (Which is fantastic), then you would find magit a super brilliant option :D

0

I wouldn't ever call it the best git client but I find it noteworthy that Meld also provides some basic version control functionality although it's main purpose is comparing files and directories:

Citing the feature overview:

  • Meld supports many version control systems, including Git, Mercurial, Bazaar and SVN
  • Launch file comparisons to check what changes were made, before you commit
  • View file versioning statuses
  • Simple version control actions are also available (i.e.,commit/update/add/remove/delete files)

Depending on your purpose and workflow it could also be interesting to have a closer look at the version control plugin of your favourite IDE. I used such e.g. in Eclipse, Monodevelop and PyCharm.

0

The Cola Git is simple but delivers what it promises, and the SmartGit is full of features!

You must log in to answer this question.

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