Junio C Hamano | 076ffcc | 2013-02-06 05:13:21 | [diff] [blame] | 1 | A short Git tools survey |
Junio C Hamano | decf50e | 2006-03-05 10:51:14 | [diff] [blame] | 2 | ======================== |
| 3 | |
| 4 | |
| 5 | Introduction |
| 6 | ------------ |
| 7 | |
Junio C Hamano | 076ffcc | 2013-02-06 05:13:21 | [diff] [blame] | 8 | Apart from Git contrib/ area there are some others third-party tools |
Junio C Hamano | decf50e | 2006-03-05 10:51:14 | [diff] [blame] | 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 | |
Junio C Hamano | 076ffcc | 2013-02-06 05:13:21 | [diff] [blame] | 20 | Cogito is a version control system layered on top of the Git tree history |
Junio C Hamano | decf50e | 2006-03-05 10:51:14 | [diff] [blame] | 21 | storage system. It aims at seamless user interface and ease of use, |
Junio C Hamano | 076ffcc | 2013-02-06 05:13:21 | [diff] [blame] | 22 | providing generally smoother user experience than the "raw" Core Git |
Junio C Hamano | decf50e | 2006-03-05 10:51:14 | [diff] [blame] | 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 |
Junio C Hamano | 076ffcc | 2013-02-06 05:13:21 | [diff] [blame] | 26 | is now in core Git. |
Junio C Hamano | fb4fa4e | 2007-10-30 08:24:24 | [diff] [blame] | 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 | |
Junio C Hamano | 076ffcc | 2013-02-06 05:13:21 | [diff] [blame] | 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 |
Junio C Hamano | decf50e | 2006-03-05 10:51:14 | [diff] [blame] | 33 | slightly different feature set. |
| 34 | |
| 35 | |
| 36 | - *StGit* (http://www.procode.org/stgit/) |
| 37 | |
Junio C Hamano | 076ffcc | 2013-02-06 05:13:21 | [diff] [blame] | 38 | Stacked Git provides a quilt-like patch management functionality in the |
| 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 | 076ffcc | 2013-02-06 05:13:21 | [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 | |
Junio C Hamano | 076ffcc | 2013-02-06 05:13:21 | [diff] [blame] | 53 | gitview is a GTK based repository browser for Git |
Junio C Hamano | decf50e | 2006-03-05 10:51:14 | [diff] [blame] | 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 | |
Junio C Hamano | 076ffcc | 2013-02-06 05:13:21 | [diff] [blame] | 58 | Gitweb provides full-fledged web interface for Git repositories. |
Junio C Hamano | decf50e | 2006-03-05 10:51:14 | [diff] [blame] | 59 | |
| 60 | |
| 61 | - *qgit* (http://digilander.libero.it/mcostalba/) |
| 62 | |
Junio C Hamano | 076ffcc | 2013-02-06 05:13:21 | [diff] [blame] | 63 | QGit is a git/StGit GUI viewer built on Qt/C++. QGit could be used |
Junio C Hamano | decf50e | 2006-03-05 10:51:14 | [diff] [blame] | 64 | to browse history and directory tree, view annotated files, commit |
| 65 | changes cherry picking single files or applying patches. |
Junio C Hamano | 076ffcc | 2013-02-06 05:13:21 | [diff] [blame] | 66 | Currently it is the fastest and most feature rich among the Git |
Junio C Hamano | decf50e | 2006-03-05 10:51:14 | [diff] [blame] | 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 | |
Junio C Hamano | 076ffcc | 2013-02-06 05:13:21 | [diff] [blame] | 71 | tig by Jonas Fonseca is a simple Git repository browser |
Junio C Hamano | f9771f6 | 2007-01-17 17:42:30 | [diff] [blame] | 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 |
Junio C Hamano | 076ffcc | 2013-02-06 05:13:21 | [diff] [blame] | 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 |
Junio C Hamano | 076ffcc | 2013-02-06 05:13:21 | [diff] [blame] | 83 | branch and Git. |
Junio C Hamano | decf50e | 2006-03-05 10:51:14 | [diff] [blame] | 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 |
Junio C Hamano | 076ffcc | 2013-02-06 05:13:21 | [diff] [blame] | 89 | series in Git back and forth. |
Junio C Hamano | decf50e | 2006-03-05 10:51:14 | [diff] [blame] | 90 | |
| 91 | |
Junio C Hamano | 42f855f | 2007-02-06 00:09:38 | [diff] [blame] | 92 | - *hg-to-git* (contrib/) |
| 93 | |
Junio C Hamano | 076ffcc | 2013-02-06 05:13:21 | [diff] [blame] | 94 | hg-to-git converts a Mercurial repository into a Git one, and |
Junio C Hamano | 42f855f | 2007-02-06 00:09:38 | [diff] [blame] | 95 | preserves the full branch history in the process. hg-to-git can |
Junio C Hamano | 076ffcc | 2013-02-06 05:13:21 | [diff] [blame] | 96 | also be used in an incremental way to keep the Git repository |
Junio C Hamano | 42f855f | 2007-02-06 00:09:38 | [diff] [blame] | 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 | |
Junio C Hamano | 076ffcc | 2013-02-06 05:13:21 | [diff] [blame] | 105 | Commit Tool or (h)gct is a GUI enabled commit tool for Git and |
Junio C Hamano | decf50e | 2006-03-05 10:51:14 | [diff] [blame] | 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 | |
Junio C Hamano | a080bc3 | 2013-04-12 21:33:01 | [diff] [blame] | 112 | This is an Emacs interface for Git. The user interface is modelled on |
Junio C Hamano | decf50e | 2006-03-05 10:51:14 | [diff] [blame] | 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. |