Typo+grammar fixes.
[git-homepage.git] / index.html
blobb544669791d4b08cf01930f6f2ac782289a082e0
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 Storage Tool</title>
7 <meta name="description" content="Home of the GIT Tree 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.2 2005/08/05 09:25:42 pasky
21 Typo+grammar fixes.
23 Revision 1.1 2005/08/05 01:25:38 pasky
24 Initial revision
26 The GIT homepage proposal.
28 Yeah, this itself is in RCS since although GIT is totally cool and everything,
29 I believe RCS is just fine and most convenient to use for single-file linear-history "projects".
31 -->
33 <body>
35 <h1>GIT - Tree History Storage Tool</h1>
37 <p>GIT is a "directory content manager" designed to handle absolutely massive
38 projects with speed and efficiency, and the release of the 2.6.12 and (soon)
39 the 2.6.13 version of the Linux kernel would indicate that it does this task
40 well.</p>
42 <p>GIT falls into the category of distributed source code management tools,
43 similar to Arch or Darcs (or, in the commercial world, BitKeeper). Every GIT
44 working directory is a full-fledged repository with full revision tracking
45 capabilities, not dependent on network access to a central server.</p>
47 <p>Highlights:</p>
49 <ul>
50 <li>Speed of use, both for the project maintainer, and the end-users, is a key development principle.</li>
52 <li>Two, interchangeable, on-disk formats are used:
53 <ul>
54 <li>An efficient, <em>packed</em> format that saves space and network bandwidth.</li>
55 <li>An <em>unpacked</em> format, optimized for fast writes and incremental work.</li>
56 </ul></li>
58 <li>The history is stored as a directed acyclic graph, making long-lived branches and repeated merging simple.</li>
60 <li>The <em>Core GIT</em> project considers itself to provide low-level "plumbing"
61 and common ground facility for other projects,
62 as well as to serve to arbitrate for compatibility between them.
63 The projects built on top of the core GIT are referred to as "porcelain".
64 <a href="#cogito">Cogito</a>,
65 <a href="#stgit">StGIT</a>,
66 <a href="#gitk">gitk</a>,
67 <a href="#qgit">qgit</a>,
68 and
69 <a href="#gitweb">gitweb</a>
70 are all building upon the core GIT
71 tools, and provide an easy to use interface to various pieces of
72 its functionality.</li>
74 <li>Some other projects have taken the concepts from the core GIT project
75 and are either porting an existing toolset to use the GIT tools,
76 or reimplementing the concepts internally,
77 to benefit from the performance improvements.
78 This includes
79 <a href="http://www.seyza.com/revc/index.html">Arch 2.0</a>,
80 and
81 <a href="http://darcs.net/DarcsWiki/DarcsGit">Darcs-git</a>.</li>
82 </ul>
85 <h2>Download</h2>
87 <p>To get a copy of GIT:</p>
88 <ul>
89 <li>Daily snapshots are available at
90 <a href="http://www.codemonkey.org.uk/projects/git-snapshots/git/"
91 >http://www.codemonkey.org.uk/projects/git-snapshots/git/</a>
92 (thanks to Dave Jones).</li>
94 <li>Source tarballs and RPMs at
95 <a href="http://www.kernel.org/pub/software/scm/git/"
96 >http://www.kernel.org/pub/software/scm/git/</a>.</li>
98 <li>Via <em>GIT</em> itself:
99 <pre>
100 git clone http://www.kernel.org/pub/scm/git/git.git/ LOCALDIR
101 </pre>
102 </li>
104 <li>Via <em>Cogito</em>:
105 <pre>
106 cg-clone http://www.kernel.org/pub/scm/git/git.git
107 </pre>
108 </li>
110 <li>Alternatively, using the commands above with a
111 <tt>rsync://rsync.kernel.org/pub/scm/git/git.git</tt> URL.
112 Rsync is generally faster for the initial clone,
113 and you can switch later by editing <tt>.git/branches/origin</tt>
114 (or using <tt>cg-branch-chg</tt> of <em>Cogito</em>)
115 and changing the URL.</li>
116 </ul>
118 <h2>Porcelains</h2>
120 <h3>SCM Interface layers</h3>
122 <dl>
124 <dt id="cogito">Cogito</dt>
125 <dd>
126 <a href="http://www.kernel.org/pub/software/scm/cogito/">Cogito</a>
127 is the most popular version control system on top of GIT.
128 It aims at seamless user interface and ease of use, providing
129 generally smoother user experience than the "raw" <em>Core GIT</em> itself
130 and indeed many other version control systems.</dd>
132 <dt id="stgit">StGIT</dt>
133 <dd><a href="http://www.procode.org/stgit/">Stacked GIT</a> provides
134 a <em>quilt</em>-like patch managment functionality in the GIT environment.
135 You can easily manage your patches in the scope of GIT until they get
136 merged upstream.</dd>
138 </dl>
140 <h3>History Visualization</h3>
142 <dl>
144 <dt id="gitk">gitk</dt>
145 <dd><a href="http://ozlabs.org/~paulus/gitk/">gitk</a> is a simple
146 GTK GUI for browsing history of GIT repositories easily.</dd>
148 <dt id="qgit">qgit</dt>
149 <dd><a href="http://sourceforge.net/projects/qgit">qgit</a> is a QT
150 GUI for browsing history of GIT repositories, similar to <em>gitk</em>.</dd>
152 <dt id="gitweb">gitweb</dt>
153 <dd><a href="http://www.kernel.org/pub/software/scm/gitweb/">GITweb</a>
154 provides full-fledged <a href="http://www.kernel.org/git/">web interface</a>
155 for GIT repositories.</dd>
157 </dl>
160 <h2>Documentation</h2>
162 <p>The GIT distribution contain a tutorial in the
163 <a href="http://www.kernel.org/pub/software/scm/git/docs/">Documentation subdirectory</a>.
164 Additionally, the
165 <a href="http://linux.yyz.us/git-howto.html">Kernel-Hacker's GIT Tutorial</a>
166 may be useful. (Thanks to Jeff Garzik for that document.)</p>
169 <h2>Development</h2>
171 <p>GIT was initially written by Linus Torvalds with help of a group of
172 hackers around the 'net. It is currently maintained by Junio C Hamano.</p>
174 <p>The GIT development takes place on the GIT mailing list. To subscribe, send an
175 email with just "subscribe git" in the body to majordomo@vger.kernel.org.
176 Mailing list archives are available at
177 <a href="http://marc.theaimsgroup.com/?l=git">http://marc.theaimsgroup.com/?l=git</a>.</p>
180 <hr />
182 <p>Based on a summary written by <a href="mailto:ryan@michonline.com">Ryan Anderson</a>.</p>
184 <p><em>This page is maintained by Petr Baudis. Please email me
185 at <a href="mailto:pasky@suse.cz">pasky@suse.cz</a>
186 with updates, suggestions and comments.</em></p>
188 </body>
189 </html>