Command line Git can pale in comparison to fancy web interfaces like GitHub and Bitbucket. Using these sites lead me to look at some of the graphical Git clients available in Ubuntu. I’m far from a Git expert, and I haven’t spend much time playing with these yet, but here’s what I found:

gitg browsing a repository

  • git gui is one of the two official graphical tools available for git. It lets you create commits by staging changes and writing a commit message. There are many more features for remote repositories and branches. The major downside is that the UI and fonts look awful. (Ubuntu package git-gui)
  • gitk, the other official tool, allows viewing a repository through the commit log. Selecting a commit shows its details, including diffs for all or a selected file. gitk has the same awful UI as git gui. (Ubuntu package gitk)
  • Giggle has a browse view for viewing the repository tree and selecting files to see what commits affected each file and how. The history view is similar to gitk, but with a nice graph view column showing branching and merging. (Ubuntu package giggle)
  • Git Cola is a tool similar to git gui for committing and pushing changes. There are buttons for common actions like staging files, pulling, and pushing, as well as an area to write new commit messages. (Ubuntu package git-cola)
  • gitg (linked website appear to be down) can both view repositories and make new commits. Its history tab is similar to both gitk and Giggle, but also has graphs showing the amount of changes made to files and a tree view similar to Giggle’s. The commit tab is similar to git gui, but doesn’t have as many advanced features for branches or remote repositories. (Ubuntu package gitg)

gitg is the most promising tool for my purposes. It combines both gitk and git gui-style interfaces in one program. I wish it it had an easy way to push to a remote repository – and there’s only a fetch button that’s tucked away in the File->Repository Properties dialog. [Update It's possible to push after all: right clicking on a branch label in the commit log will show more actions. The branch labels can also be drag-and-dropped on each other.]

Related Posts