I was looking for a good GUI based Git repository browser to view changes. To speak the truth, the terminal is not really the best option to look at a overwhelming number of change records which need to be examined in detail and in reasonable time. There are many Git GUI interfaces on Linux but some of them are bulky and some lack finesse. I found QGit to be exactly the tool I needed.
- Very lightweight. Written using Qt/C++.
- Auto branch configuration detection
- Shows everything you need to understand a change: commit history (including range), change log for individual commit, diff, modified file list
- Can launch an external diff viewer like Diffuse
- File tree view that helps to track commits to a single file
- Save a patch series to send for review, apply a patch at any revision, view a patch
- User defined keyboard shortcut for Actions
- Commit, amend commit, make branch, make tag
- Available by default in the repositories for major distros
QGit integrates seamlessly with Diffuse, a graphical file diff viewer. Diffuse is one of the few diff-merge tools that supports N-ary file merge. However, one of its most powerful features is the support for version control systems. Diffuse is written in Python.
- Merge N number of files side by side in different panes
- Manually adjust line matching and directly edit files
- Integrates with file manager menu
- Modify both left and right side files (2-way merge)
- Retrieve revisions of files from Bazaar, CVS, Darcs, Git, Mercurial, Monotone, SVN and SVK repositories for comparison and merging
To install QGit and Diffuse on Ubuntu, run:
$ sudo apt-get install qgit diffuse
Tig is an ncurses-based text-mode interface for git. It functions mainly as a Git repository browser, but can also assist in staging changes for commit at chunk level and act as a pager for output from various Git commands. To browse a git repository navigate inside a versioned directory and run
tig. To install tig on Ubuntu:
$ sudo apt-get install tig