Automated update: [2009-05-13] -> v1.6.3.1
[git-homepage.git] / index.html
blob0f8f54572a64312afa20bf511a82c86a3aae0cd0
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="alternate" title="RSS - All News" href="http://gitrss.q42.co.uk/all.rss" type="application/rss+xml" />
18 <link rel="alternate" title="RSS - Announcements" href="http://gitrss.q42.co.uk/announce.rss" type="application/rss+xml" />
19 <link rel="icon" href="favicon.png" type="image/png" />
20 </head>
22 <body>
24 <table border="1" summary="Navigation links" class="header" width="100%"><tr><td>
25 <a href="index.html" id="top"><img src="git-logo.png" width="72" height="27" alt="Git"
26 style="border-width:0px;"/></a>
27 <span class="hide">:</span>
28 <span class="menu">
29 <a href="index.html">Home</a> |
30 <a href="http://www.kernel.org/pub/software/scm/git/docs/">Documentation</a> |
31 <a href="http://git.or.cz/gitwiki/GitFaq">FAQ</a> |
32 <a href="http://git.or.cz/gitwiki">Wiki</a> |
33 <a href="http://www.kernel.org/pub/software/scm/git/">Download Site</a> |
34 <a href="http://git.kernel.org/git/?p=git/git.git;a=summary">Git's Gitweb</a>
35 </span>
36 </td></tr></table>
38 <h1>Git&ensp;&ndash;&ensp;Fast Version Control System</h1>
40 <p>Git is an open source version control system
41 designed to handle very large projects with speed and efficiency,
42 but just as well suited for small personal repositories;
43 it is especially popular in the open source community,
44 serving as a development platform for projects like
45 the <em>Linux Kernel</em>, <em>Ruby on Rails</em>, <em>WINE</em> or <em>X.org</em>.</p>
47 <p>Git falls in the category of distributed source code management tools,
48 similar to e.g. <em>Mercurial</em> or <em>Bazaar</em>.
49 Every Git working directory is a full-fledged repository with complete history
50 and full revision tracking capabilities, not dependent on network access
51 or a central server. Still, Git stays extremely fast and space efficient.</p>
53 <p>Git is an <a href="http://www.opensource.org/">Open Source</a> project covered by
54 the <a href="http://www.gnu.org/licenses/gpl2.txt">GNU General Public License v2</a>.
55 It was originally written by Linus Torvalds and is currently maintained by
56 Junio C Hamano.</p>
61 <div style="float: right"><table class="releases">
62 <tr class="odd" align="center"><td colspan="3"><b>Download GIT source package</b> <!--@DATE@-->[2009-05-13]</td></tr>
63 <tr align="center"><td colspan="3">The latest stable Git release is <b><!--@VNUM@-->v1.6.3.1</b>:</td></tr>
64 <tr align="center"><td colspan="3">
65 <table><tr><td>
66 <!--@TARLINK@--><a href="http://kernel.org/pub/software/scm/git/git-1.6.3.1.tar.bz2">tar.bz2</a>
67 <!--@TARLINK@--><a href="http://kernel.org/pub/software/scm/git/git-1.6.3.1.tar.bz2.sign">(sign)</a>
68 </td><td>
69 <!--@TARLINK@--><a href="http://kernel.org/pub/software/scm/git/git-1.6.3.1.tar.gz">tar.gz</a>
70 <!--@TARLINK@--><a href="http://kernel.org/pub/software/scm/git/git-1.6.3.1.tar.gz.sign">(sign)</a>
71 </td></tr></table>
72 </td></tr>
73 <tr class="odd" align="center">
74 <td><!--@NOTESLINK@--><a href="http://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.6.3.1.txt">Release notes</a></td>
75 <td><a href="http://kernel.org/pub/software/scm/git/">More versions</a></td>
76 <td><a href="http://repo.or.cz/w/git.git/">Browse history/code</a></td>
77 </tr>
78 </table></div>
81 <hr />
83 <ul class="toc">
84 <li><a href="#about">About Git</a></li>
85 <li><a href="#documentation">Documentation</a></li>
86 <li><a href="#download">Download</a></li>
87 <li><a href="#tools">Related Tools</a></li>
88 <li><a href="#community">Community and Development</a></li>
89 </ul>
92 <hr />
94 <h2 id="about">About Git</h2>
96 <div style="float: right">
97 <table class="releases">
98 <tr><th><a href="course/index.html">Git Crash Courses</a></th></tr>
99 <tr><td align="center">
100 <a href="http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html">Git for everyone</a>
101 <!--
102 <br /><a href="course/new.html">New to revision control?</a>
104 <br /><a href="course/stgit.html">Maintaining external patches</a>
105 <br /><a href="course/svn.html">Git for SVN users</a>
106 <!-- <br /><em>More to come soon...</em> -->
107 </td></tr>
108 </table>
109 </div>
111 <p>Git is distributed version control system focused on
112 speed, effectivity and real-world usability on large projects.
113 Its highlights include:</p>
115 <!-- Heavily inspired by Wikipedia -->
117 <ul>
119 <li>
120 <b>Distributed development.</b>
121 Like most other modern version control systems, Git gives each developer
122 a local copy of the entire development history,
123 and changes are copied from one such repository to another.
124 These changes are imported as additional development branches,
125 and can be merged in the same way as a locally developed branch.
126 Repositories can be easily accessed via the efficient Git protocol
127 (optionally wrapped in ssh for authentication and security)
128 or simply using HTTP - you can publish your repository anywhere
129 without <em>any</em> special webserver configuration required.
130 </li>
132 <li>
133 <b>Strong support for non-linear development.</b>
134 Git supports rapid and convenient branching and merging,
135 and includes powerful tools for visualizing
136 and navigating a non-linear development history.
137 </li>
139 <li>
140 <b>Efficient handling of large projects.</b>
141 Git is very fast and scales well
142 even when working with large projects and long histories.
143 It is commonly an order of magnitude faster
144 than most other version control systems,
145 and several orders of magnitude faster on some operations.
146 It also uses an extremely efficient packed format
147 for long-term revision storage
148 that currently tops any other open source version control system.
149 </li>
151 <li>
152 <b>Cryptographic authentication of history.</b>
153 The Git history is stored in such a way
154 that the name of a particular revision (a "commit" in Git terms)
155 depends upon the complete development history leading up to that commit.
156 Once it is published, it is not possible to change the old versions
157 without it being noticed. Also, tags can be cryptographically signed.
158 </li>
160 <li>
161 <b>Toolkit design.</b>
162 Following the Unix tradition,
163 Git is a collection of many small tools written in C,
164 and a number of scripts that provide convenient wrappers.
165 Git provides tools for both convenient human usage and easy
166 scripting to perform new clever operations.
167 </li>
169 </ul>
171 <p>Besides providing a version control system,
172 the Git project provides a generic low-level toolkit
173 for tree history storage and directory content management.
174 Traditionally, the toolkit is called the <em>plumbing</em>.
175 Aside the user interface coming with Git itself,
176 several other projects (so-called <em>porcelains</em>)
177 offer compatible version control interfaces - see the
178 <a href="#tools">related tools</a> list.</p>
181 <hr />
183 <h2 id="documentation">Documentation</h2>
185 <p>You can find all the documentation bundled with the Git source code
186 in the <a href="http://www.kernel.org/pub/software/scm/git/docs/"><code>Documentation/</code></a> subdirectory
187 (the web version corresponds to the latest Git development version).</p>
189 <p>See <a href="http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html">the tutorial</a> to get started,
190 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.
191 Especially users migrating from other systems might appreciate the <a href="course/">Crash Courses</a>.
192 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.
193 You can find links to more useful documentation at the
194 <a href="http://git.or.cz/gitwiki/GitDocumentation">GitDocumentation</a> wiki page.</p>
196 <p>For a large and continuously growing resource of information
197 about Git, you can refer to the <a href="http://git.or.cz/gitwiki">Git Wiki</a>
198 - you are welcome to contribute!</p>
201 <hr />
203 <h2 id="download">Download</h2>
205 <p>The general download location for Git releases is
206 <strong><a href="http://www.kernel.org/pub/software/scm/git/">http://www.kernel.org/pub/software/scm/git/</a></strong>.
207 You can also use one of many <a href="http://www.kernel.org/mirrors/">kernel.org mirrors</a>.</p>
209 <h3>Git by Git</h3>
211 <p>If you already have Git installed, you can get the latest
212 development version via Git itself:</p>
213 <pre>git clone git://git.kernel.org/pub/scm/git/git.git</pre>
215 <p>If you have problems connecting (Git uses port 9418),
216 you can try to access the repository over the HTTP protocol:</p>
217 <pre>git clone http://www.kernel.org/pub/scm/git/git.git</pre>
218 <p>(this method is considerably slower but works even behind
219 firewalls and such).</p>
221 <p>You can also always browse the current contents
222 of the git repository on web using the kernel.org
223 <a href="http://kernel.org/git/?p=git/git.git;a=summary">gitweb interface</a>.</p>
225 <h3>Binaries</h3>
227 <p>For people who prefer precompiled packages, these are available:</p>
229 <table class="bugmail">
231 <tr>
232 <td colspan="2">RPMs</td>
233 <td><a href="http://kernel.org/pub/software/scm/git/RPMS/">http://kernel.org/pub/software/scm/git/RPMS/</a></td>
234 </tr>
236 <tr class="odd">
237 <td rowspan="3">Debs</td>
238 <td>Stable</td>
239 <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>
240 </tr>
241 <tr>
242 <td>Testing</td>
243 <td><a href="http://packages.debian.org/testing/devel/git-core">http://packages.debian.org/testing/devel/git-core</a></td>
244 </tr>
245 <tr class="odd">
246 <td>Unstable</td>
247 <td><a href="http://packages.debian.org/unstable/devel/git-core">http://packages.debian.org/unstable/devel/git-core</a></td>
248 </tr>
250 <tr>
251 <td rowspan="2">Win</td>
252 <td><a href="http://www.cygwin.com/">Cygwin</a></td>
253 <td><a href="http://www.cygwin.com/setup.exe">http://www.cygwin.com/setup.exe</a></td>
254 </tr>
255 <tr class="odd">
256 <td><a href="http://code.google.com/p/msysgit/">msysGit</a></td>
257 <td><a href="http://code.google.com/p/msysgit/downloads/list">http://code.google.com/p/msysgit/downloads/list</a></td>
258 </tr>
260 <tr class="odd">
261 <td rowspan="2">OS X</td>
262 </tr>
263 <tr>
264 <td>Stable</td>
265 <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>
266 </tr>
268 <tr>
269 <td rowspan="3">Solaris</td>
270 </tr>
271 <tr class="odd">
272 <td>v8&ndash;10</td>
273 <td><a href="http://sunfreeware.com/">http://sunfreeware.com/</a></td>
274 </tr>
276 </table>
278 <h3>Development snapshots</h3>
280 <p>Daily snapshots of the main Git development branch are available at
281 <a href="http://www.codemonkey.org.uk/projects/git-snapshots/git/"
282 >http://www.codemonkey.org.uk/projects/git-snapshots/git/</a>
283 (thanks to Dave Jones).</p>
287 <hr />
289 <h2 id="tools">Related Tools</h2>
291 <p>Git is a true UNIX tool in the sense that it consists of many commands
292 that do one thing well. It has been designed from the start to be easily
293 wrapped in other tools and frontends. Currently, there are several
294 interfaces offering more comfortable Git usage, and also graphical
295 interfaces for browsing the history and more.</p>
297 <p>Traditionally, the low-level part of Git is called <em>plumbing</em>
298 and the interfaces and frontends are called <em>porcelains</em>.
299 Git itself comes with a default porcelain bundled and that is actually
300 what you will normally mean when you say you use Git. However, there
301 are several alternative porcelains which might offer considerably more
302 user friendly interface or extend Git to perform some specialized tasks.</p>
304 <p>Below, the most widely used tools are listed. Please refer to
305 <a href="http://git.or.cz/gitwiki/InterfacesFrontendsAndTools">the corresponding wiki page</a>
306 for a full list.</p>
308 <table>
309 <tr valign="top">
311 <td>
312 <h3>User Interface Tools</h3>
314 <dl>
316 <dt id="qgit">qgit</dt>
317 <dd><a href="http://sourceforge.net/projects/qgit">qgit</a> is a QT
318 GUI for browsing history of Git repositories, similar to <em>gitk</em>
319 but with more features.</dd>
321 <dt id="tig">Tig</dt>
322 <dd><a href="http://jonas.nitro.dk/tig/">tig</a>
323 is a text-mode interface for Git. It acts as a repository browser
324 that can also act as a pager for various Git commands
325 and manage your index (on diff chunk level).</dd>
327 </dl>
328 </td>
330 <td>
331 <h3>Tools Shipped with Git</h3>
333 <dl>
335 <dt id="gitk">gitk</dt>
336 <dd><a href="http://git.kernel.org/?p=gitk/gitk.git;a=summary">gitk</a>
337 is the original TCL/TK GUI for browsing history of Git repositories.</dd>
339 <dt id="git-gui">Git-gui</dt>
340 <dd><a href="http://www.spearce.org/category/projects/scm/git-gui/">git-gui</a>
341 is a simple Tk based graphical interface for common Git
342 operations.</dd>
344 <dt id="gitweb">gitweb</dt>
345 <dd>gitweb provides a full-fledged <a href="http://git.kernel.org/">web interface</a>
346 for Git repositories.</dd>
348 </dl>
349 </td>
350 </tr>
352 <tr valign="top">
353 <td>
354 <h3>Version Control Interface layers</h3>
356 <dl>
358 <dt id="stgit">StGIT</dt>
359 <dd><a href="http://www.procode.org/stgit/">Stacked Git</a> provides
360 a <em>Quilt</em>-like patch management functionality in the Git environment.
361 You can easily manage your patches in the scope of Git until they get
362 merged upstream.</dd>
364 <dt id="guilt">Guilt</dt>
365 <dd><a href="http://www.kernel.org/pub/linux/kernel/people/jsipek/guilt/">Guilt</a>
366 is another patch management tool, closer to the spirit of <em>Quilt</em>
367 than StGIT.</dd>
369 <dt id="cogito">Cogito</dt>
370 <dd><a href="http://git.or.cz/cogito/">Cogito</a>
371 was a popular version control system on top of Git,
372 aiming at seamless user interface and ease of use.
373 It provided much better user interface in the past
374 but later improvements of Git made it mostly obsolete
375 and it is not maintained anymore.
376 Please migrate to Git itself.</dd>
378 </dl>
379 </td>
381 <td>
382 <h3>Public Hosting</h3>
384 <p>Several public Git hosting sites are available and open for anyone
385 to host their pet projects:</p>
387 <dl>
388 <dt id="repo">repo.or.cz</dt>
389 <dd><a href="http://repo.or.cz/">repo.or.cz</a> is the oldest hosting site,
390 accomodating many hundreds of projects, with open-sourced infrastructure
391 and aimed at open source software. It provides full push features as well
392 as simple mirroring mode and gitweb interface with various enhancements.</dd>
394 <dt id="github">GitHub</dt>
395 <dd><a href="http://github.com/">GitHub</a> provides both free hosting for
396 smaller projects and paid options for private hosting and large-sized projects.
397 It uses a custom web interface including a wiki hosting and puts emphasis
398 on social networking of project developers.</dd>
400 <dt id="gitorious">Gitorious</dt>
401 <dd><a href="http://gitorious.org/">Gitorious</a> is another free hosting
402 site with a custom web interface, supporting multiple repositories per project,
403 local installations and with open source code.</dd>
405 </dl>
407 <p style="text-align: right; font-size: small"><a href="http://git.or.cz/gitwiki/GitHosting">more sites</a></p>
408 </td>
409 </tr>
411 </table>
414 <hr />
416 <h2 id="community">Community and Development</h2>
418 <p>Git was initially written by Linus Torvalds
419 with help of a group of hackers 'round the net.
420 It is currently maintained by
421 Junio C Hamano.</p>
423 <p>The user discussion and development of Git and most tools related to Git
424 takes place on the Git mailing list - everyone is welcome to post
425 bug reports, feature requests, comments and
426 <a href="http://repo.or.cz/w/git.git?a=blob_plain;f=Documentation/SubmittingPatches;hb=HEAD">patches</a>
427 to <a href="mailto:git@vger.kernel.org">git@vger.kernel.org</a>.
428 To <a href="mailto:majordomo@vger.kernel.org?body=subscribe%20git">subscribe</a>
429 to the list, send an email with just "subscribe git" in the body to
430 majordomo@vger.kernel.org.
431 The mailing list archives are available at
432 <a href="http://dir.gmane.org/gmane.comp.version-control.git">Gmane</a>
433 and <a href="http://marc.info/?l=git">MARC</a>.
434 <a href="http://gitrss.q42.co.uk/">RSS feeds of various news</a>
435 are also available.</p>
437 <p>You can also visit the IRC channel dedicated to Git -
438 meet us at <a href="irc://irc.freenode.net/#git">#git on FreeNode</a>.</p>
440 <p>This website itself is tracked in Git as well -
441 you can
442 <a href="http://repo.or.cz/w/git-homepage.git">browse its development history</a>
443 or even clone it from http://repo.or.cz/r/git-homepage.git.
444 The site is covered by GPLv2
445 and maintained by <a href="mailto:pasky@suse.cz">Petr Baudis</a>
446 who always takes patches eagerly. ;-)
447 The web is based on a design by <a href="mailto:fonseca@diku.dk">Jonas Fonseca</a>
448 for the <a href="http://elinks.cz">ELinks homepage</a>.</p>
451 <hr />
453 <div class="footer">
454 <span class="menu">
455 This page is maintained by Petr Baudis. Please email me
456 at <a href="mailto:pasky@suse.cz">pasky@suse.cz</a>
457 with patches, suggestions and comments.
458 </span>
459 </div>
461 </body>
462 </html>