Four graphic interfaces for Git

gitg

Gnome is dedicated to functional frugality, which makes taking a look at gitg [4] all the more exciting. Gitg is a Git GUI that visualizes Git directories and integrates seamlessly into the Gnome interface. The software can be installed via the package manager on Ubuntu 18.04.

Code repositories in the Gnome world are referred to as software repositories. When launched, Gitg first points out that it has not yet found any repositories; instead, it offers you a clickable link to search. If you follow the link, you will be taken to the local repositories that gitg displays in a simple overview.

In our lab, the somewhat confusing test repository, which we created with GitAhead, was one of the candidates presented. As with GitAhead, a click on the test repository showed a visualization of the commit history with colored lines (Figure 6).

Figure 6: Visually, gitg matches Gnome, but it is primarily used to visualize Git repositories.

The upper-right area lists the different commits, and their contents appear in the lower window area. Gitg color-highlights changes in diff format. The leftmost column provides a complete overview of the branches in the selected repository.

If you right-click on a commit entry top-right on the screen, various options await you in a context menu. These options include Create branch, Create tag, Create patch, and Cherry pick operation by branch_name. In fact, you can use gitg to create your own branches and merge them. For merges, you have to enter your data below Details of the author in the configuration menu; otherwise gitg protests.

If you choose the Create tag option, you can specify a version number for the commit that will appear next to this entry and to the left of the Tags entry. If the user chooses Create patch, gitg creates a file with a .patch extension, which you cannot edit, but at least you can save it in the source directory. You can also use gitg to supplement other local repositories and clone existing repositories.

Conclusions

The GUIs provided by Git share the work. While gitk visualizes the dependencies between branches and provides search functions to help you rummage through the commit history, git-gui transfers some of the typical Git commands to a graphical interface. However, both seem a bit antiquated due to the use of the Tcl/Tk toolkit.

Gitg is similar to gitk in that it visualizes the Git directories graphically, but it adorns the data in the window dressings of the Gnome desktop. However, gitg does not allow changes to be made to the files. Why the Gnome developers didn't decide to adapt functionally more extensive open source GUIs to Gnome remains their secret.

What is strange, however, is that the files can even be changed. In our lab, right-clicking on the filename at the bottom of the GUI was all it took. The Open File option calls it in an editor. However, these modifications did not appear in the directory browser even after saving in the editor and restarting gitg. Apparently, the software does not re-index the files in the imported Git directories after startup, although this makes them unusable for changes.

GitAhead made a good impression, accommodating the most important Git features in a graphical application. Developers (so far) only have to do without some of the more sophisticated functions. According to the bug tracker, GPG-signed commits are not yet possible. More exotic cases like git bisect are not yet supported by the software. It would also be desirable for the developers to integrate GitAhead into existing Linux distributions in a better way; a feature request for better integration already exists.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • GitX Clone Gitg Moves to 0.0.4

    The young Gitg project, which visualizes a graphical representation of git data for Mac OS X under Gtk+/GNOME, allows check-ins and merges in its newest release 0.0.4, among other things.

  • Gitg 0.0.6 Supports Cherry-Picking

    Gitg, a GUI program that works with git repositories, is available for download in version 0.0.6.

  • Git 101

    When several people collaborate on source code or documents, things can get messy fast. Git provides a quick cure: The distributed versioning system reliably ensures the integrity and consistency of data with minimal effort.

  • FOSSPicks

    This month Graham looks at Penpot, ProcMon, diskgraph, Shaarli, Music Radar and more!

  • Branch Management

    Git makes version control as simple as possible. To manage your Git branches successfully, you need to learn the ins and outs of git branch and git merge.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More

News