Junio C Hamano | decf50e | 2006-03-05 10:51:14 | [diff] [blame] | 1 | A short git tools survey |
| 2 | ======================== |
| 3 | |
| 4 | |
| 5 | Introduction |
| 6 | ------------ |
| 7 | |
| 8 | Apart from git contrib/ area there are some others third-party tools |
| 9 | you may want to look. |
| 10 | |
| 11 | This document presents a brief summary of each tool and the corresponding |
| 12 | link. |
| 13 | |
| 14 | |
Junio C Hamano | 341071d | 2006-06-04 07:24:48 | [diff] [blame] | 15 | Alternative/Augmentative Porcelains |
Junio C Hamano | decf50e | 2006-03-05 10:51:14 | [diff] [blame] | 16 | ----------------------------------- |
| 17 | |
| 18 | - *Cogito* (http://www.kernel.org/pub/software/scm/cogito/) |
| 19 | |
| 20 | Cogito is a version control system layered on top of the git tree history |
| 21 | storage system. It aims at seamless user interface and ease of use, |
| 22 | providing generally smoother user experience than the "raw" Core GIT |
| 23 | itself and indeed many other version control systems. |
| 24 | |
Junio C Hamano | fb4fa4e | 2007-10-30 08:24:24 | [diff] [blame] | 25 | Cogito is no longer maintained as most of its functionality |
| 26 | is now in core GIT. |
| 27 | |
Junio C Hamano | decf50e | 2006-03-05 10:51:14 | [diff] [blame] | 28 | |
| 29 | - *pg* (http://www.spearce.org/category/projects/scm/pg/) |
| 30 | |
| 31 | pg is a shell script wrapper around GIT to help the user manage a set of |
| 32 | patches to files. pg is somewhat like quilt or StGIT, but it does have a |
| 33 | slightly different feature set. |
| 34 | |
| 35 | |
| 36 | - *StGit* (http://www.procode.org/stgit/) |
| 37 | |
| 38 | Stacked GIT provides a quilt-like patch management functionality in the |
Junio C Hamano | fb4fa4e | 2007-10-30 08:24:24 | [diff] [blame] | 39 | GIT environment. You can easily manage your patches in the scope of GIT |
Junio C Hamano | decf50e | 2006-03-05 10:51:14 | [diff] [blame] | 40 | until they get merged upstream. |
| 41 | |
| 42 | |
| 43 | History Viewers |
| 44 | --------------- |
| 45 | |
| 46 | - *gitk* (shipped with git-core) |
| 47 | |
Junio C Hamano | 51c2ab0 | 2006-07-09 20:38:54 | [diff] [blame] | 48 | gitk is a simple Tk GUI for browsing history of GIT repositories easily. |
Junio C Hamano | decf50e | 2006-03-05 10:51:14 | [diff] [blame] | 49 | |
| 50 | |
| 51 | - *gitview* (contrib/) |
| 52 | |
| 53 | gitview is a GTK based repository browser for git |
| 54 | |
| 55 | |
Junio C Hamano | f9771f6 | 2007-01-17 17:42:30 | [diff] [blame] | 56 | - *gitweb* (shipped with git-core) |
Junio C Hamano | decf50e | 2006-03-05 10:51:14 | [diff] [blame] | 57 | |
| 58 | GITweb provides full-fledged web interface for GIT repositories. |
| 59 | |
| 60 | |
| 61 | - *qgit* (http://digilander.libero.it/mcostalba/) |
| 62 | |
| 63 | QGit is a git/StGIT GUI viewer built on Qt/C++. QGit could be used |
| 64 | to browse history and directory tree, view annotated files, commit |
| 65 | changes cherry picking single files or applying patches. |
| 66 | Currently it is the fastest and most feature rich among the git |
| 67 | viewers and commit tools. |
| 68 | |
Junio C Hamano | f9771f6 | 2007-01-17 17:42:30 | [diff] [blame] | 69 | - *tig* (http://jonas.nitro.dk/tig/) |
| 70 | |
| 71 | tig by Jonas Fonseca is a simple git repository browser |
| 72 | written using ncurses. Basically, it just acts as a front-end |
| 73 | for git-log and git-show/git-diff. Additionally, you can also |
| 74 | use it as a pager for git commands. |
Junio C Hamano | decf50e | 2006-03-05 10:51:14 | [diff] [blame] | 75 | |
| 76 | |
| 77 | Foreign SCM interface |
| 78 | --------------------- |
| 79 | |
Junio C Hamano | f9771f6 | 2007-01-17 17:42:30 | [diff] [blame] | 80 | - *git-svn* (shipped with git-core) |
Junio C Hamano | decf50e | 2006-03-05 10:51:14 | [diff] [blame] | 81 | |
| 82 | git-svn is a simple conduit for changesets between a single Subversion |
| 83 | branch and git. |
| 84 | |
| 85 | |
| 86 | - *quilt2git / git2quilt* (http://home-tj.org/wiki/index.php/Misc) |
| 87 | |
| 88 | These utilities convert patch series in a quilt repository and commit |
| 89 | series in git back and forth. |
| 90 | |
| 91 | |
Junio C Hamano | 42f855f | 2007-02-06 00:09:38 | [diff] [blame] | 92 | - *hg-to-git* (contrib/) |
| 93 | |
| 94 | hg-to-git converts a Mercurial repository into a git one, and |
| 95 | preserves the full branch history in the process. hg-to-git can |
| 96 | also be used in an incremental way to keep the git repository |
| 97 | in sync with the master Mercurial repository. |
| 98 | |
| 99 | |
Junio C Hamano | decf50e | 2006-03-05 10:51:14 | [diff] [blame] | 100 | Others |
| 101 | ------ |
| 102 | |
| 103 | - *(h)gct* (http://www.cyd.liu.se/users/~freku045/gct/) |
| 104 | |
| 105 | Commit Tool or (h)gct is a GUI enabled commit tool for git and |
| 106 | Mercurial (hg). It allows the user to view diffs, select which files |
| 107 | to committed (or ignored / reverted) write commit messages and |
| 108 | perform the commit itself. |
| 109 | |
| 110 | - *git.el* (contrib/) |
| 111 | |
| 112 | This is an Emacs interface for git. The user interface is modeled on |
| 113 | pcl-cvs. It has been developed on Emacs 21 and will probably need some |
| 114 | tweaking to work on XEmacs. |
Junio C Hamano | f9771f6 | 2007-01-17 17:42:30 | [diff] [blame] | 115 | |
| 116 | |
| 117 | http://git.or.cz/gitwiki/InterfacesFrontendsAndTools has more |
| 118 | comprehensive list. |