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