CSS: Redesign the main page headline
[git-homepage.git] / index.html
blob00a36821a7e0fc9bd4913cdac858e0cf9fc1e459
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 - Fast Version Control System</title>
7 <meta name="description" content="Home of the Git Version Control System and Friends" />
8 <meta name="author" content="Petr Baudis" />
9 <meta http-equiv="reply-to" content="pasky@suse.cz" />
10 <meta http-equiv="content-language" content="en" />
11 <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
12 <link type="text/css" rel="stylesheet" media="screen" href="stylesheets/screen.css" />
13 <link type="text/css" title="Default" rel="stylesheet" media="screen" href="stylesheets/screen-default.css" />
14 <link type="text/css" title="Gitweb Gray" rel="alternate stylesheet" media="screen" href="stylesheets/screen-gitweb-gray.css" />
15 <link type="text/css" title="Blue" rel="alternate stylesheet" media="screen" href="stylesheets/screen-blue.css" />
16 <link type="text/css" title="Green" rel="alternate stylesheet" media="screen" href="stylesheets/screen-green.css" />
17 <link rel="icon" href="favicon.png" type="image/png" />
18 </head>
20 <body>
22 <table border="1" summary="Navigation links" class="header" width="100%"><tr><td>
23 <a href="index.html" id="top"><img src="git-logo.png" width="72" height="27" alt="Git"
24 style="border-width:0px;"/></a>
25 <span class="hide">:</span>
26 <span class="menu">
27 <a href="index.html">Home</a> |
28 <a href="http://www.kernel.org/pub/software/scm/git/docs/">Documentation</a> |
29 <a href="http://git.or.cz/gitwiki/GitFaq">FAQ</a> |
30 <a href="http://git.or.cz/gitwiki">Wiki</a> |
31 <a href="http://www.kernel.org/pub/software/scm/git/">Download Site</a> |
32 <a href="http://git.kernel.org/git/?p=git/git.git;a=summary">Git's Gitweb</a>
33 </span>
34 </td></tr></table>
36 <h1>Git - Fast Version Control System</h1>
38 <p>Git is an open source version control system
39 designed to handle very large projects with speed and efficiency;
40 it is especially popular in the open source community,
41 serving as a development platform for projects like
42 the Linux Kernel, WINE or X.org.</p>
44 <p>Git falls in the category of distributed source code management tools,
45 similar to e.g. Mercurial or Bazaar.
46 Every Git working directory is a full-fledged repository with complete history
47 and full revision tracking capabilities, not dependent on network access
48 or a central server. Still, Git stays extremely fast and space efficient.</p>
50 <p>Git is an <a href="http://www.opensource.org/">Open Source</a> project covered by
51 the <a href="http://www.gnu.org/licenses/gpl2.txt">GNU General Public License v2</a>.
52 It was originally written by Linus Torvalds and is currently maintained by
53 Junio C Hamano.</p>
58 <div style="float: right"><table class="releases">
59 <tr class="odd" align="center"><td colspan="3"><b>Download GIT source package</b> <!--@DATE@-->[2008-04-08]</td></tr>
60 <tr align="center"><td colspan="3">The latest stable Git release is <b><!--@VNUM@-->v1.5.5</b>:</td></tr>
61 <tr align="center"><td colspan="3">
62 <table><tr><td>
63 <!--@TARLINK@--><a href="http://kernel.org/pub/software/scm/git/git-1.5.5.tar.bz2">tar.bz2</a>
64 <!--@TARLINK@--><a href="http://kernel.org/pub/software/scm/git/git-1.5.5.tar.bz2.sign">(sign)</a>
65 </td><td>
66 <!--@TARLINK@--><a href="http://kernel.org/pub/software/scm/git/git-1.5.5.tar.gz">tar.gz</a>
67 <!--@TARLINK@--><a href="http://kernel.org/pub/software/scm/git/git-1.5.5.tar.gz.sign">(sign)</a>
68 </td></tr></table>
69 </td></tr>
70 <tr class="odd" align="center">
71 <td><!--@NOTESLINK@--><a href="http://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.5.5.txt">Release notes</a></td>
72 <td><a href="http://kernel.org/pub/software/scm/git/">More versions</a></td>
73 <td><a href="http://repo.or.cz/w/git.git/">Browse history/code</a></td>
74 </tr>
75 </table></div>
78 <hr />
80 <ul>
81 <li><a href="#about">About Git</a></li>
82 <li><a href="#documentation">Git Documentation</a></li>
83 <li><a href="#download">Getting Git</a></li>
84 <li><a href="#tools">Related Tools</a></li>
85 <li><a href="#community">Community and Development</a></li>
86 </ul>
89 <hr />
91 <h2 id="about">About Git</h2>
93 <div style="float: right">
94 <table class="releases">
95 <tr><th><a href="course/index.html">Git Crash Courses</a></th></tr>
96 <tr><td align="center">
97 <a href="http://www.kernel.org/pub/software/scm/git/docs/tutorial.html">Git for everyone</a>
98 <!--
99 <br /><a href="course/new.html">New to revision control?</a>
101 <br /><a href="course/stgit.html">Maintaining external patches</a>
102 <br /><a href="course/svn.html">Git for SVN users</a>
103 <!-- <br /><em>More to come soon...</em> -->
104 </td></tr>
105 </table>
106 </div>
108 <p>Git is distributed version control system focused on
109 speed, effectivity and real-world usability on large projects.
110 Its highlights include:</p>
112 <!-- Heavily inspired by Wikipedia -->
114 <ul>
116 <li>
117 <b>Strong support for non-linear development.</b>
118 Git supports rapid and convenient branching and merging,
119 and includes powerful tools for visualizing
120 and navigating a non-linear development history.
121 </li>
123 <li>
124 <b>Distributed development.</b>
125 Like most other modern version control systems, Git gives each developer
126 a local copy of the entire development history,
127 and changes are copied from one such repository to another.
128 These changes are imported as additional development branches,
129 and can be merged in the same way as a locally developed branch.
130 Repositories can be easily accessed via the efficient Git protocol
131 (optionally wrapped in ssh for authentication and security)
132 or simply using HTTP - you can publish your repository anywhere
133 without <em>any</em> special webserver configuration required.
134 </li>
136 <li>
137 <b>Efficient handling of large projects.</b>
138 Git is very fast and scales well
139 even when working with large projects and long histories.
140 It is commonly an order of magnitude faster
141 than most other version control systems,
142 and several orders of magnitude faster on some operations.
143 It also uses an extremely efficient packed format
144 for long-term revision storage
145 that currently tops any other open source version control system.
146 </li>
148 <li>
149 <b>Cryptographic authentication of history.</b>
150 The Git history is stored in such a way
151 that the name of a particular revision (a "commit" in Git terms)
152 depends upon the complete development history leading up to that commit.
153 Once it is published, it is not possible to change the old versions
154 without it being noticed. Also, tags can be cryptographically signed.
155 </li>
157 <li>
158 <b>Toolkit design.</b>
159 Following the Unix tradition,
160 Git is a collection of many small tools written in C,
161 and a number of scripts that provide convenient wrappers.
162 Git provides tools for both convenient human usage and easy
163 scripting to perform new clever operations.
164 </li>
166 </ul>
168 <p>Besides providing a version control system,
169 the Git project provides a generic low-level toolkit
170 for tree history storage and directory content management.
171 Traditionally, the toolkit is called the <em>plumbing</em>.
172 Aside the user interface coming with Git itself,
173 several other projects (so-called <em>porcelains</em>)
174 offer compatible version control interfaces - see the
175 <a href="#tools">related tools</a> list.</p>
177 <p>Some other projects have taken the concepts from the Git project
178 and are either porting an existing toolset to use the Git tools,
179 or reimplementing the concepts internally,
180 to benefit from the performance improvements.
181 This includes e.g.
182 <a href="http://wiki.darcs.net/DarcsWiki/DarcsGit">Darcs-git</a>.</p>
185 <hr />
187 <h2 id="documentation">Git Documentation</h2>
189 <p>You can find all the documentation bundled with the Git source code
190 in the <a href="http://www.kernel.org/pub/software/scm/git/docs/"><code>Documentation/</code></a> subdirectory
191 (the web version corresponds to the latest Git development version).</p>
193 <p>See <a href="http://www.kernel.org/pub/software/scm/git/docs/tutorial.html">the tutorial</a> to get started,
194 then see <a href="http://www.kernel.org/pub/software/scm/git/docs/everyday.html">Everyday Git</a> for a useful minimum set of commands.
195 Especially users migrating from other systems might appreciate the <a href="course/">Crash Courses</a>.
196 See <a href="http://www.kernel.org/pub/software/scm/git/docs/user-manual.html">Git User's Manual</a> for a more in-depth introduction.
197 You can find links to more useful documentation at the
198 <a href="http://git.or.cz/gitwiki/GitDocumentation">GitDocumentation</a> wiki page.</p>
200 <p>For a large and continuously growing resource of information
201 about Git, you can refer to the <a href="http://git.or.cz/gitwiki">Git Wiki</a>
202 - you are welcome to contribute!</p>
205 <hr />
207 <h2 id="download">Getting Git</h2>
209 <p>The general download location for Git releases is
210 <a href="http://www.kernel.org/pub/software/scm/git/">http://www.kernel.org/pub/software/scm/git/</a>.
211 You can also use one of many <a href="http://www.kernel.org/mirrors/">kernel.org mirrors</a>.</p>
213 <table>
215 <tr valign="top">
216 <td colspan="2">
217 <h3>Development snapshots</h3>
219 <p>Daily snapshots of the main Git development branch are available at
220 <a href="http://www.codemonkey.org.uk/projects/git-snapshots/git/"
221 >http://www.codemonkey.org.uk/projects/git-snapshots/git/</a>
222 (thanks to Dave Jones).</p>
223 </td>
224 </tr>
226 <tr valign="top">
227 <td>
228 <h3>Git by git</h3>
230 <p>If you already have Git installed, you can get the latest
231 development version via Git itself:</p>
232 <pre>git clone git://git.kernel.org/pub/scm/git/git.git</pre>
234 <p>If you have problems connecting (Git uses port 9418),
235 you can try to access the repository over the HTTP protocol:</p>
236 <pre>git clone http://www.kernel.org/pub/scm/git/git.git</pre>
237 <p>(this method is considerably slower but works even behind
238 firewalls and such).</p>
240 <p>You can also always browse the current contents
241 of the git repository on web using the kernel.org
242 <a href="http://kernel.org/git/?p=git/git.git;a=summary">gitweb interface</a>.</p>
243 </td>
245 <td>
246 <h3>Binaries</h3>
248 <p>For people who prefer precompiled packages, these are available:</p>
250 <table class="bugmail">
252 <tr>
253 <td colspan="2">RPMs</td>
254 <td><a href="http://kernel.org/pub/software/scm/git/RPMS/">http://kernel.org/pub/software/scm/git/RPMS/</a></td>
255 </tr>
257 <tr class="odd">
258 <td rowspan="3">Debs</td>
259 <td>Stable</td>
260 <td><a href="http://www.backports.org/debian/pool/main/g/git-core/">http://www.backports.org/debian/pool/main/g/git-core/</a></td>
261 </tr>
262 <tr>
263 <td>Testing</td>
264 <td><a href="http://packages.debian.org/testing/devel/git-core">http://packages.debian.org/testing/devel/git-core</a></td>
265 </tr>
266 <tr class="odd">
267 <td>Unstable</td>
268 <td><a href="http://packages.debian.org/unstable/devel/git-core">http://packages.debian.org/unstable/devel/git-core</a></td>
269 </tr>
271 <tr>
272 <td rowspan="2">Win</td>
273 <td><a href="http://www.cygwin.com/">Cygwin</a></td>
274 <td><a href="http://www.cygwin.com/setup.exe">http://www.cygwin.com/setup.exe</a></td>
275 </tr>
276 <tr class="odd">
277 <td><a href="http://code.google.com/p/msysgit/">msysGit</a></td>
278 <td><a href="http://code.google.com/p/msysgit/downloads/list">http://code.google.com/p/msysgit/downloads/list</a></td>
279 </tr>
281 <tr class="odd">
282 <td rowspan="3">OS X</td>
283 </tr>
284 <tr>
285 <td>Stable</td>
286 <td><a href="http://code.google.com/p/git-osx-installer/downloads/list?can=3">http://code.google.com/p/git-osx-installer/downloads/list?can=3</a></td>
287 </tr>
289 </table>
290 </td>
292 </tr></table>
295 <hr />
297 <h2 id="tools">Related Tools</h2>
299 <p>Git is a true UNIX tool in the sense that it consists of many commands
300 that do one thing well. It has been designed from the start to be easily
301 wrapped in other tools and frontends. Currently, there are several
302 interfaces offering more comfortable Git usage, and also graphical
303 interfaces for browsing the history and more.</p>
305 <p>Traditionally, the low-level part of Git is called <em>plumbing</em>
306 and the interfaces and frontends are called <em>porcelains</em>.
307 Git itself comes with a default porcelain bundled and that is actually
308 what you will normally mean when you say you use Git. However, there
309 are several alternative porcelains which might offer considerably more
310 user friendly interface or extend Git to perform some specialized tasks.</p>
312 <p>Below, the most widely used tools are listed. Please refer to
313 <a href="http://git.or.cz/gitwiki/InterfacesFrontendsAndTools">the corresponding wiki page</a>
314 for a full list.</p>
316 <table>
317 <tr valign="top">
319 <td>
320 <h3>User Interface Tools</h3>
322 <dl>
324 <dt id="qgit">qgit</dt>
325 <dd><a href="http://sourceforge.net/projects/qgit">qgit</a> is a QT
326 GUI for browsing history of Git repositories, similar to <em>gitk</em>
327 but with more features.</dd>
329 <dt id="tig">Tig</dt>
330 <dd><a href="http://jonas.nitro.dk/tig/">tig</a>
331 is a text-mode interface for Git. It acts as a repository browser
332 that can also act as a pager for various Git commands
333 and manage your index (on diff chunk level).</dd>
335 </dl>
336 </td>
338 <td>
339 <h3>Tools Shipped with Git</h3>
341 <dl>
343 <dt id="gitk">gitk</dt>
344 <dd><a href="http://git.kernel.org/?p=gitk/gitk.git;a=summary">gitk</a>
345 is the original TCL/TK GUI for browsing history of Git repositories.</dd>
347 <dt id="git-gui">Git-gui</dt>
348 <dd><a href="http://www.spearce.org/category/projects/scm/git-gui/">git-gui</a>
349 is a simple Tk based graphical interface for common Git
350 operations.</dd>
352 <dt id="gitweb">gitweb</dt>
353 <dd>gitweb provides a full-fledged <a href="http://git.kernel.org/">web interface</a>
354 for Git repositories.</dd>
356 </dl>
357 </td>
358 </tr>
360 <tr valign="top">
361 <td>
362 <h3>Version Control Interface layers</h3>
364 <dl>
366 <dt id="stgit">StGIT</dt>
367 <dd><a href="http://www.procode.org/stgit/">Stacked Git</a> provides
368 a <em>Quilt</em>-like patch management functionality in the Git environment.
369 You can easily manage your patches in the scope of Git until they get
370 merged upstream.</dd>
372 <dt id="guilt">Guilt</dt>
373 <dd><a href="http://www.kernel.org/pub/linux/kernel/people/jsipek/guilt/">Guilt</a>
374 is another patch management tool, closer to the spirit of <em>Quilt</em>
375 than StGIT.</dd>
377 <dt id="cogito">Cogito</dt>
378 <dd><a href="http://git.or.cz/cogito/">Cogito</a>
379 was a popular version control system on top of Git,
380 aiming at seamless user interface and ease of use.
381 It provided much better user interface in the past
382 but later improvements of Git made it mostly obsolete
383 and it is not maintained anymore.
384 Please migrate to Git itself.</dd>
386 </dl>
387 </td>
389 <td>
390 <h3>Public Hosting</h3>
392 <p>Several public Git hosting sites are available and open for anyone
393 to host their pet projects:</p>
395 <dl>
396 <dt id="repo">repo.or.cz</dt>
397 <dd><a href="http://repo.or.cz/">repo.or.cz</a> is the oldest hosting site,
398 accomodating many hundreds of projects, with open-sourced infrastructure
399 and aimed at open source software. It provides full push features as well
400 as simple mirroring mode and gitweb interface with various enhancements.</dd>
402 <dt id="github">GitHub</dt>
403 <dd><a href="http://github.com/">GitHub</a> provides both free hosting for
404 smaller projects and paid options for private hosting and large-sized projects.
405 It uses a custom web interface including a wiki hosting and puts emphasis
406 on social networking of project developers.</dd>
408 <dt id="gitorious">Gitorious</dt>
409 <dd><a href="http://gitorious.org/">Gitorious</a> is another free hosting
410 site with a custom web interface, supporting multiple repositories per project,
411 local installations and with open source code.</dd>
413 </dl>
414 </td>
415 </tr>
417 </table>
420 <hr />
422 <h2 id="community">Community and Development</h2>
424 <p>Git was initially written by Linus Torvalds
425 with help of a group of hackers 'round the net.
426 It is currently maintained by
427 Junio C Hamano.</p>
429 <p>The user discussion and development of Git and most tools related to Git
430 takes place on the Git mailing list - everyone is welcome to post
431 bug reports, feature requests, comments and
432 <a href="http://repo.or.cz/w/git.git?a=blob_plain;f=Documentation/SubmittingPatches;hb=HEAD">patches</a>
433 to <a href="mailto:git@vger.kernel.org">git@vger.kernel.org</a>.
434 To <a href="mailto:majordomo@vger.kernel.org?body=subscribe%20git">subscribe</a>
435 to the list, send an email with just "subscribe git" in the body to
436 majordomo@vger.kernel.org.
437 The mailing list archives are available at
438 <a href="http://dir.gmane.org/gmane.comp.version-control.git">Gmane</a>
439 and <a href="http://marc.info/?l=git">MARC</a>.</p>
441 <p>You can also visit the IRC channel dedicated to Git -
442 meet us at <a href="irc://irc.freenode.net/#git">#git on FreeNode</a>.</p>
444 <p>This website itself is tracked in Git as well -
445 you can
446 <a href="http://repo.or.cz/w/git-homepage.git">browse its development history</a>
447 or even clone it from http://repo.or.cz/r/git-homepage.git.
448 The site is covered by GPLv2
449 and maintained by <a href="mailto:pasky@suse.cz">Petr Baudis</a>
450 who always takes patches eagerly. ;-)
451 The web is based on a design by <a href="mailto:fonseca@diku.dk">Jonas Fonseca</a>
452 for the <a href="http://elinks.cz">ELinks homepage</a>.</p>
455 <hr />
457 <div class="footer">
458 <span class="menu">
459 This page is maintained by Petr Baudis. Please email me
460 at <a href="mailto:pasky@suse.cz">pasky@suse.cz</a>
461 with patches, suggestions and comments.
462 </span>
463 </div>
465 </body>
466 </html>