Add a 'Main' link to index.html
[git-homepage.git] / about.html
blob8479bef791403feba38d2a782d920c7f8448cc22
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 - About</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 </head>
19 <body>
21 <table border="1" summary="Navigation links" class="header" width="100%"><tr><td>
22 <a href="index.html" id="top"><img src="git-logo.png" width="72" height="27" alt="Git"
23 style="border-width:0px;"/></a>
24 <span class="hide">:</span>
25 <span class="menu">
26 <a href="index.html">Main</a> |
27 <a href="about.html">About</a> |
28 <a href="community.html">Community</a> |
29 <a href="documentation.html">Documentation</a> |
30 <a href="download.html">Download</a> |
31 <a href="tools.html">Related Tools</a>
32 </span>
33 </td></tr></table>
35 <h1>About</h1>
37 <p>Git is distributed version control system focused on
38 speed, effectivity and real-world usability on large projects.
39 Its highlights include:</p>
41 <!-- Heavily inspired by Wikipedia -->
43 <ul>
45 <li>
46 <b>Strong support for non-linear development.</b>
47 Git supports rapid and convenient branching and merging,
48 and includes powerful tools for visualizing
49 and navigating a non-linear development history.
50 </li>
52 <li>
53 <b>Distributed development.</b>
54 Like BitKeeper and SVK, Git gives each developer
55 a local copy of the entire development history,
56 and changes are copied from one such repository to another.
57 These changes are imported as additional development branches,
58 and can be merged in the same way as a locally developed branch.
59 Repositories can be easily accessed via the efficient Git protocol
60 (optionally wrapped in ssh) or simply using HTTP - you can publish
61 your repository anywhere without <em>any</em> special webserver
62 configuration required.
63 </li>
65 <li>
66 <b>Efficient handling of large projects.</b>
67 Git is very fast and scales well
68 even when working with large projects and long histories.
69 It is commonly an order of magnitude faster
70 than most other revision control systems,
71 and several orders of magnitude faster on some operations.
72 It also uses an extremely efficient packed format
73 for long-term revision storage
74 that currently tops any other open source version control system.
75 </li>
77 <li>
78 <b>Cryptographic authentication of history.</b>
79 The Git history is stored in such a way
80 that the name of a particular revision (a "commit" in Git terms)
81 depends upon the complete development history leading up to that commit.
82 Once it is published, it is not possible to change the old versions
83 without it being noticed. Also, tags can be cryptographically signed.
84 </li>
86 <li>
87 <b>Toolkit design.</b>
88 Following the Unix tradition,
89 Git is a collection of many small tools written in C,
90 and a number of scripts that provide convenient wrappers.
91 It is easy to chain the components together to do other clever things.
92 </li>
94 </ul>
96 <hr />
98 <p>Besides providing a version control system,
99 the Git project provides a generic low-level toolkit
100 for tree history storage and directory content management.
101 Traditionally, the toolkit is called the <em>plumbing</em>.
102 Several other projects (so-called <em>porcelains</em>)
103 offer compatible version control interfaces - see the
104 <a href="tools.html">related tools</a> page.</p>
106 <p>Some other projects have taken the concepts from the Git project
107 and are either porting an existing toolset to use the Git tools,
108 or reimplementing the concepts internally,
109 to benefit from the performance improvements.
110 This includes e.g.
111 <a href="http://darcs.net/DarcsWiki/DarcsGit">Darcs-git</a>.</li>
114 <hr />
116 <div class="footer">
117 <span class="menu">
118 This page is maintained by Petr Baudis. Please email me
119 at <a href="mailto:pasky@suse.cz">pasky@suse.cz</a>
120 with patches, suggestions and comments.
121 </span>
122 </div>
124 </body>
125 </html>