Automated update: [2008-03-09] v1.5.4.3 -> v1.5.4.4
[git-homepage.git] / index.html
blob550735b8b3e80ffa1144bca1fa8183857461f16a
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 a popular version control system
39 designed to handle very large projects with speed and efficiency;
40 it is used mainly for various open source projects,
41 most notably the Linux kernel.</p>
43 <p>Git falls in the category of distributed source code management tools,
44 similar to e.g. GNU Arch or Monotone (or BitKeeper in the proprietary world).
45 Every Git working directory is a full-fledged repository with full revision
46 tracking capabilities, not dependent on network access or a central server.</p>
48 <p>Git is an <a href="http://www.opensource.org/">Open Source</a> project covered by
49 the <a href="http://www.gnu.org/licenses/gpl2.txt">GNU General Public License v2</a>.
50 It was originally written by Linus Torvalds and is currently maintained by
51 Junio C Hamano.</p>
56 <div style="float: right"><table class="releases">
57 <tr class="odd" align="center"><td colspan="3"><b>Download GIT source package</b> <!--@DATE@-->[2008-03-09]</td></tr>
58 <tr align="center"><td colspan="3">The latest stable Git release is <b><!--@VNUM@-->v1.5.4.4</b>:</td></tr>
59 <tr align="center"><td colspan="3">
60 <table><tr><td>
61 <!--@TARLINK@--><a href="http://kernel.org/pub/software/scm/git/git-1.5.4.4.tar.bz2">tar.bz2</a>
62 <!--@TARLINK@--><a href="http://kernel.org/pub/software/scm/git/git-1.5.4.4.tar.bz2.sign">(sign)</a>
63 </td><td>
64 <!--@TARLINK@--><a href="http://kernel.org/pub/software/scm/git/git-1.5.4.4.tar.gz">tar.gz</a>
65 <!--@TARLINK@--><a href="http://kernel.org/pub/software/scm/git/git-1.5.4.4.tar.gz.sign">(sign)</a>
66 </td></tr></table>
67 </td></tr>
68 <tr class="odd" align="center">
69 <td><!--@NOTESLINK@--><a href="http://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.5.4.4.txt">Release notes</a></td>
70 <td><a href="http://kernel.org/pub/software/scm/git/">More versions</a></td>
71 <td><a href="http://repo.or.cz/w/git.git/">Browse history/code</a></td>
72 </tr>
73 </table></div>
76 <hr />
78 <ul>
79 <li><a href="#about">About Git</a></li>
80 <li><a href="#documentation">Git Documentation</a></li>
81 <li><a href="#download">Getting Git</a></li>
82 <li><a href="#tools">Related Tools</a></li>
83 <li><a href="#community">Community and Development</a></li>
84 </ul>
87 <hr />
89 <h2 id="about">About Git</h2>
91 <div style="float: right">
92 <table class="releases">
93 <tr><th><a href="course/index.html">Git Crash Courses</a></th></tr>
94 <tr><td align="center">
95 <a href="http://www.kernel.org/pub/software/scm/git/docs/tutorial.html">Git for everyone</a>
96 <!--
97 <br /><a href="course/new.html">New to revision control?</a>
98 -->
99 <br /><a href="course/stgit.html">Maintaining external patches</a>
100 <br /><a href="course/svn.html">Git for SVN users</a>
101 <br /><em>More to come soon...</em>
102 </td></tr>
103 </table>
104 </div>
106 <p>Git is distributed version control system focused on
107 speed, effectivity and real-world usability on large projects.
108 Its highlights include:</p>
110 <!-- Heavily inspired by Wikipedia -->
112 <ul>
114 <li>
115 <b>Strong support for non-linear development.</b>
116 Git supports rapid and convenient branching and merging,
117 and includes powerful tools for visualizing
118 and navigating a non-linear development history.
119 </li>
121 <li>
122 <b>Distributed development.</b>
123 Like most other modern version control systems, Git gives each developer
124 a local copy of the entire development history,
125 and changes are copied from one such repository to another.
126 These changes are imported as additional development branches,
127 and can be merged in the same way as a locally developed branch.
128 Repositories can be easily accessed via the efficient Git protocol
129 (optionally wrapped in ssh) or simply using HTTP - you can publish
130 your repository anywhere without <em>any</em> special webserver
131 configuration required.
132 </li>
134 <li>
135 <b>Efficient handling of large projects.</b>
136 Git is very fast and scales well
137 even when working with large projects and long histories.
138 It is commonly an order of magnitude faster
139 than most other revision control systems,
140 and several orders of magnitude faster on some operations.
141 It also uses an extremely efficient packed format
142 for long-term revision storage
143 that currently tops any other open source version control system.
144 </li>
146 <li>
147 <b>Cryptographic authentication of history.</b>
148 The Git history is stored in such a way
149 that the name of a particular revision (a "commit" in Git terms)
150 depends upon the complete development history leading up to that commit.
151 Once it is published, it is not possible to change the old versions
152 without it being noticed. Also, tags can be cryptographically signed.
153 </li>
155 <li>
156 <b>Toolkit design.</b>
157 Following the Unix tradition,
158 Git is a collection of many small tools written in C,
159 and a number of scripts that provide convenient wrappers.
160 It is easy to chain the components together to do other clever things.
161 </li>
163 </ul>
165 <p>Besides providing a version control system,
166 the Git project provides a generic low-level toolkit
167 for tree history storage and directory content management.
168 Traditionally, the toolkit is called the <em>plumbing</em>.
169 Several other projects (so-called <em>porcelains</em>)
170 offer compatible version control interfaces - see the
171 <a href="#tools">related tools</a> list.</p>
173 <p>Some other projects have taken the concepts from the Git project
174 and are either porting an existing toolset to use the Git tools,
175 or reimplementing the concepts internally,
176 to benefit from the performance improvements.
177 This includes e.g.
178 <a href="http://wiki.darcs.net/DarcsWiki/DarcsGit">Darcs-git</a>.</p>
181 <hr />
183 <h2 id="documentation">Git Documentation</h2>
185 <p>You can find all the documentation bundled with the Git source code
186 in the <code>Documentation/</code> subdirectory. In addition, you can
187 also <a href="http://www.kernel.org/pub/software/scm/git/docs/">read the web version</a>
188 (corresponding to the latest Git development version).</p>
190 <p>For a quick start, the
191 <a href="http://www.kernel.org/pub/software/scm/git/docs/tutorial.html">tutorial</a>
192 covers the basics. See the
193 <a href="http://www.kernel.org/pub/software/scm/git/docs/everyday.html">Everyday Git</a>
194 handbook for a useful minimum set of commands
195 depending on your style of Git usage.
196 Additionally, the
197 <a href="http://www.kernel.org/pub/software/scm/git/docs/user-manual.html">Git User's Manual</a>
198 may be useful. You can find more documents in
199 <a href="http://git.or.cz/gitwiki/GitDocumentation">GitDocumentation</a>.</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">Getting Git</h2>
210 <p>The general download location for Git releases is
211 <a href="http://www.kernel.org/pub/software/scm/git/">http://www.kernel.org/pub/software/scm/git/</a>.
212 You can also use one of many <a href="http://www.kernel.org/mirrors/">kernel.org mirrors</a>.</p>
214 <h3>Binaries</h3>
216 <p>For people who prefer precompiled packages, these are available:</p>
218 <table class="bugmail">
220 <tr>
221 <td colspan="2">RPMs</td>
222 <td><a href="http://kernel.org/pub/software/scm/git/RPMS/">http://kernel.org/pub/software/scm/git/RPMS/</a></td>
223 </tr>
225 <tr class="odd">
226 <td rowspan="3">Debs</td>
227 <td>Stable</td>
228 <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>
229 </tr>
230 <tr>
231 <td>Testing</td>
232 <td><a href="http://packages.debian.org/testing/devel/git-core">http://packages.debian.org/testing/devel/git-core</a></td>
233 </tr>
234 <tr class="odd">
235 <td>Unstable</td>
236 <td><a href="http://packages.debian.org/unstable/devel/git-core">http://packages.debian.org/unstable/devel/git-core</a></td>
237 </tr>
239 <tr>
240 <td rowspan="2">Win</td>
241 <td><a href="http://www.cygwin.com/">Cygwin</a></td>
242 <td><a href="http://www.cygwin.com/setup.exe">http://www.cygwin.com/setup.exe</a></td>
243 </tr>
244 <tr class="odd">
245 <td><a href="http://code.google.com/p/msysgit/">msysGit</a></td>
246 <td><a href="http://code.google.com/p/msysgit/downloads/list">http://code.google.com/p/msysgit/downloads/list</a></td>
247 </tr>
249 </table>
251 <h3>Development snapshots</h3>
253 <p>Daily snapshots of the main Git development branch are available at
254 <a href="http://www.codemonkey.org.uk/projects/git-snapshots/git/"
255 >http://www.codemonkey.org.uk/projects/git-snapshots/git/</a>
256 (thanks to Dave Jones).</p>
258 <h3>Git by git</h3>
260 <p>If you already have Git installed, you can get the latest
261 development version via Git itself:</p>
262 <pre>git clone git://git.kernel.org/pub/scm/git/git.git</pre>
264 <p>If you have problems connecting (Git uses port 9418),
265 you can try to access the repository over the HTTP protocol:</p>
266 <pre>git clone http://www.kernel.org/pub/scm/git/git.git</pre>
267 <p>(this method is considerably slower but works even behind
268 firewalls and such).</p>
270 <p>You can also always browse the current contents
271 of the git repository on web using the kernel.org
272 <a href="http://kernel.org/git/?p=git/git.git;a=summary">gitweb interface</a>.</p>
275 <hr />
277 <h2 id="tools">Related Tools</h2>
279 <p>Git is a true UNIX tool in the sense that it consists of many commands
280 that do one thing well. It has been designed from the start to be easily
281 wrapped in other tools and frontends. Currently, there are several
282 interfaces offering more comfortable Git usage, and also graphical
283 interfaces for browsing the history and more.</p>
285 <p>Traditionally, the low-level part of Git is called <em>plumbing</em>
286 and the interfaces and frontends are called <em>porcelains</em>.
287 Git itself comes with a default porcelain bundled and that is actually
288 what you will normally mean when you say you use Git. However, there
289 are several alternative porcelains which might offer considerably more
290 user friendly interface or extend Git to perform some specialized tasks.</p>
292 <p>There is a <strong>public Git hosting</strong> available for your
293 pet project, either mirroring your project or letting you push, and providing
294 a gitweb interface, at <a href="http://repo.or.cz/">http://repo.or.cz/</a>.</p>
296 <h3>Version Control Interface layers</h3>
298 <dl>
300 <dt id="stgit">StGIT</dt>
301 <dd><a href="http://www.procode.org/stgit/">Stacked Git</a> provides
302 a <em>Quilt</em>-like patch management functionality in the Git environment.
303 You can easily manage your patches in the scope of Git until they get
304 merged upstream.</dd>
306 <dt id="git-gui">Git-gui</dt>
307 <dd><a href="http://www.spearce.org/category/projects/scm/git-gui/">git-gui</a>
308 is a simple Tk based graphical interface for common Git
309 operations. Git-gui is shipped with Git.
310 </dd>
312 <dt id="tig">Tig</dt>
313 <dd><a href="http://jonas.nitro.dk/tig/">tig</a>
314 is a text-mode interface for Git. It acts as a repository browser
315 that in addition can act as a pager for various Git commands
316 and manage your index (on diff chunk level).
317 </dd>
319 <dt id="cogito">Cogito</dt>
320 <dd><a href="http://git.or.cz/cogito/">Cogito</a>
321 was a popular version control system on top of Git, aiming
322 at seamless user interface and ease of use. It provided much
323 better user interface in the past days of Git but by now it is
324 mostly obsolete and currently unmaintained.</dd>
326 </dl>
328 <h3>History Visualization</h3>
330 <dl>
332 <dt id="gitk">gitk</dt>
333 <dd><a href="http://git.kernel.org/?p=gitk/gitk.git;a=summary">gitk</a> is a TCL/TK
334 GUI for browsing history of Git repositories. Developed separately but
335 distributed with stock Git.</dd>
337 <dt id="qgit">qgit</dt>
338 <dd><a href="http://sourceforge.net/projects/qgit">qgit</a> is a QT
339 GUI for browsing history of Git repositories, similar to <em>gitk</em>
340 but with more features.</dd>
342 <dt id="gitweb">gitweb</dt>
343 <dd>gitweb provides full-fledged <a href="http://git.kernel.org/">web interface</a>
344 for Git repositories. gitweb is now part of the core Git distribution.</dd>
346 </dl>
349 <hr />
351 <h2 id="community">Community and Development</h2>
353 <p>Git was initially written by Linus Torvalds
354 with help of a group of hackers 'round the net.
355 It is currently maintained by
356 Junio C Hamano.</p>
358 <p>The user discussion and development of Git and most tools related to Git
359 takes place on the Git mailing list - everyone is welcome to post
360 bug reports, feature requests, comments and
361 <a href="http://repo.or.cz/w/git.git?a=blob_plain;f=Documentation/SubmittingPatches;hb=HEAD">patches</a>
362 to <a href="mailto:git@vger.kernel.org">git@vger.kernel.org</a>.
363 To <a href="mailto:majordomo@vger.kernel.org?body=subscribe%20git">subscribe</a>
364 to the list, send an email with just "subscribe git" in the body to
365 majordomo@vger.kernel.org.
366 The mailing list archives are available at
367 <a href="http://marc.info/?l=git">http://marc.info/?l=git</a>.</p>
369 <p>You can also visit the IRC channel dedicated to Git -
370 meet us at <a href="irc://irc.freenode.net/#git">#git at FreeNode</a>.</p>
372 <p>This website itself is tracked in Git as well -
373 you can
374 <a href="http://repo.or.cz/w/git-homepage.git">browse its development history</a>
375 or even clone it from http://repo.or.cz/r/git-homepage.git.
376 The site is covered by GPLv2
377 and maintained by <a href="mailto:pasky@suse.cz">Petr Baudis</a>
378 who always takes patches eagerly. ;-)
379 The web is based on a design by <a href="mailto:fonseca@diku.dk">Jonas Fonseca</a>
380 for the <a href="http://elinks.cz">ELinks homepage</a>.</p>
383 <hr />
385 <div class="footer">
386 <span class="menu">
387 This page is maintained by Petr Baudis. Please email me
388 at <a href="mailto:pasky@suse.cz">pasky@suse.cz</a>
389 with patches, suggestions and comments.
390 </span>
391 </div>
393 </body>
394 </html>