Don't advertise rsync anymore.
[git-homepage.git] / index.html
blobb5cf838812bddfdea6406d668b58b3bc0d9a5fa2
1 <?xml version="1.0" encoding="iso-8859-1" ?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
5 <head>
6 <title>GIT - Tree History Storage Tool</title>
7 <meta name="description" content="Home of the GIT Tree History Storage Tool and Friends" />
8 <meta name="author" content="Petr Baudis" />
9 <meta name="rcsid" content="$Id$" />
10 <meta http-equiv="reply-to" content="pasky@suse.cz" />
11 <meta http-equiv="content-language" content="en" />
12 <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
13 </head>
15 <!--
17 This is so retro:
19 $Log$
20 Revision 1.9 2005/11/12 14:45:52 pasky
21 Don't advertise rsync anymore.
23 Revision 1.8 2005/09/18 17:15:40 pasky
24 Rephrase the first paragraph a bit, since 2.6.13 was already released. Reported by Adrien Beau.
26 Revision 1.7 2005/09/13 21:46:24 pasky
27 Remove Arch 2.0 since Tom Lord apparently abandoned it. Pointed out by Matthieu Moy.
29 Revision 1.6 2005/09/12 00:08:20 pasky
30 Added (h)gct.
32 Revision 1.5 2005/08/11 21:40:14 pasky
33 gitk is a TK gui, not GTK. Patch by Martin Atukunda <matlads@ds.co.ug>.
35 Revision 1.4 2005/08/09 20:56:31 pasky
36 Change GITweb URL to FTP, pointed out by the Large Angry SCM.
38 Revision 1.3 2005/08/05 11:10:06 pasky
39 Add StGIT clone command.
41 Revision 1.2 2005/08/05 09:25:42 pasky
42 Typo+grammar fixes.
44 Revision 1.1 2005/08/05 01:25:38 pasky
45 Initial revision
47 The GIT homepage proposal.
49 Yeah, this itself is in RCS since although GIT is totally cool and everything,
50 I believe RCS is just fine and most convenient to use for single-file linear-history "projects".
52 -->
54 <body>
56 <h1>GIT - Tree History Storage Tool</h1>
58 <p>GIT is a "directory content manager" designed to handle absolutely massive
59 projects with speed and efficiency, and the release of the 2.6.12 (and later)
60 versions of the Linux kernel as well as more and more other projects switching
61 to it would indicate that it does this task well.</p>
63 <p>GIT falls into the category of distributed source code management tools,
64 similar to Arch or Darcs (or, in the commercial world, BitKeeper). Every GIT
65 working directory is a full-fledged repository with full revision tracking
66 capabilities, not dependent on network access to a central server.</p>
68 <p>Highlights:</p>
70 <ul>
71 <li>Speed of use, both for the project maintainer, and the end-users, is a key development principle.</li>
73 <li>Two, interchangeable, on-disk formats are used:
74 <ul>
75 <li>An efficient, <em>packed</em> format that saves space and network bandwidth.</li>
76 <li>An <em>unpacked</em> format, optimized for fast writes and incremental work.</li>
77 </ul></li>
79 <li>The history is stored as a directed acyclic graph, making long-lived branches and repeated merging simple.</li>
81 <li>The <em>Core GIT</em> project considers itself to provide low-level "plumbing"
82 and common ground facility for other projects,
83 as well as to serve to arbitrate for compatibility between them.
84 The projects built on top of the core GIT are referred to as "porcelain".
85 <a href="#cogito">Cogito</a>,
86 <a href="#stgit">StGIT</a>,
87 <a href="#hgct">(h)gct</a>,
88 <a href="#gitk">gitk</a>,
89 <a href="#qgit">qgit</a>,
90 and
91 <a href="#gitweb">gitweb</a>
92 are all building upon the core GIT
93 tools, and provide an easy to use interface to various pieces of
94 its functionality.</li>
96 <li>Some other projects have taken the concepts from the core GIT project
97 and are either porting an existing toolset to use the GIT tools,
98 or reimplementing the concepts internally,
99 to benefit from the performance improvements.
100 This includes e.g.
101 <a href="http://darcs.net/DarcsWiki/DarcsGit">Darcs-git</a>.</li>
102 </ul>
105 <h2>Download</h2>
107 <p>To get a copy of GIT:</p>
108 <ul>
109 <li>Daily snapshots are available at
110 <a href="http://www.codemonkey.org.uk/projects/git-snapshots/git/"
111 >http://www.codemonkey.org.uk/projects/git-snapshots/git/</a>
112 (thanks to Dave Jones).</li>
114 <li>Source tarballs and RPMs at
115 <a href="http://www.kernel.org/pub/software/scm/git/"
116 >http://www.kernel.org/pub/software/scm/git/</a>.</li>
118 <li>Via <em>GIT</em> itself:
119 <table border="1">
120 <tr><td>Core GIT</td><td>
121 <kbd>git clone http://www.kernel.org/pub/scm/git/git.git LOCALDIR</kbd>
122 </td></tr>
123 <tr><td>Cogito</td><td>
124 <kbd>cg-clone http://www.kernel.org/pub/scm/git/git.git</kbd>
125 </td></tr>
126 <tr><td>StGIT</td><td>
127 <kbd>stg clone http://www.kernel.org/pub/scm/git/git.git LOCALDIR</kbd>
128 </td></tr>
129 </table>
130 </li>
132 <!-- rsync is deprecated and already slower than other stuff
133 <li>Alternatively, using the commands above with a
134 <tt>rsync://rsync.kernel.org/pub/scm/git/git.git</tt> URL.
135 Rsync is generally faster for the initial clone,
136 and you can switch later by editing <tt>.git/branches/origin</tt>
137 (or using <tt>cg-branch-chg</tt> of <em>Cogito</em>)
138 and changing the URL.</li> -->
139 </ul>
141 <h2>Porcelains</h2>
143 <h3>SCM Interface layers</h3>
145 <dl>
147 <dt id="cogito">Cogito</dt>
148 <dd>
149 <a href="http://www.kernel.org/pub/software/scm/cogito/">Cogito</a>
150 is the most popular version control system on top of GIT.
151 It aims at seamless user interface and ease of use, providing
152 generally smoother user experience than the "raw" <em>Core GIT</em> itself
153 and indeed many other version control systems.</dd>
155 <dt id="stgit">StGIT</dt>
156 <dd><a href="http://www.procode.org/stgit/">Stacked GIT</a> provides
157 a <em>quilt</em>-like patch management functionality in the GIT environment.
158 You can easily manage your patches in the scope of GIT until they get
159 merged upstream.</dd>
161 <dt id="hgct">(h)gct</dt>
162 <dd><a href="http://www.cyd.liu.se/~freku045/gct/">(h)gct</a> is
163 a GUI enabled commit tool. It has support for both GIT and Mercurial.</dd>
165 </dl>
167 <h3>History Visualization</h3>
169 <dl>
171 <dt id="gitk">gitk</dt>
172 <dd><a href="http://ozlabs.org/~paulus/gitk/">gitk</a> is a simple
173 TK GUI for browsing history of GIT repositories easily.</dd>
175 <dt id="qgit">qgit</dt>
176 <dd><a href="http://sourceforge.net/projects/qgit">qgit</a> is a QT
177 GUI for browsing history of GIT repositories, similar to <em>gitk</em>.</dd>
179 <dt id="gitweb">gitweb</dt>
180 <dd><a href="ftp://ftp.kernel.org/pub/software/scm/gitweb/">GITweb</a>
181 provides full-fledged <a href="http://www.kernel.org/git/">web interface</a>
182 for GIT repositories.</dd>
184 </dl>
187 <h2>Documentation</h2>
189 <p>The GIT distribution contain a tutorial in the
190 <a href="http://www.kernel.org/pub/software/scm/git/docs/">Documentation subdirectory</a>.
191 Additionally, the
192 <a href="http://linux.yyz.us/git-howto.html">Kernel-Hacker's GIT Tutorial</a>
193 may be useful. (Thanks to Jeff Garzik for that document.)</p>
196 <h2>Development</h2>
198 <p>GIT was initially written by Linus Torvalds with help of a group of
199 hackers around the 'net. It is currently maintained by Junio C Hamano.</p>
201 <p>The GIT development takes place on the GIT mailing list. To subscribe, send an
202 email with just "subscribe git" in the body to majordomo@vger.kernel.org.
203 Mailing list archives are available at
204 <a href="http://marc.theaimsgroup.com/?l=git">http://marc.theaimsgroup.com/?l=git</a>.</p>
207 <hr />
209 <p>Based on a summary written by <a href="mailto:ryan@michonline.com">Ryan Anderson</a>.</p>
211 <p><em>This page is maintained by Petr Baudis. Please email me
212 at <a href="mailto:pasky@suse.cz">pasky@suse.cz</a>
213 with updates, suggestions and comments.</em></p>
215 </body>
216 </html>