blob: c4d87ac201e2d7a9f43a0d288af15578f51e3785 [file] [log] [blame]
Junio C Hamano1a4e8412005-12-27 08:17:231git(7)
2======
3
4NAME
5----
6git - the stupid content tracker
7
8
9SYNOPSIS
10--------
Junio C Hamano6b2cee12006-08-26 08:43:3111[verse]
Junio C Hamanocae86272007-08-21 02:20:4912'git' [--version] [--exec-path[=GIT_EXEC_PATH]]
13 [-p|--paginate|--no-pager]
Junio C Hamanod526ba92007-07-02 00:17:4214 [--bare] [--git-dir=GIT_DIR] [--work-tree=GIT_WORK_TREE]
15 [--help] COMMAND [ARGS]
Junio C Hamano1a4e8412005-12-27 08:17:2316
17DESCRIPTION
18-----------
Junio C Hamanoe27fb932006-04-03 05:34:1019Git is a fast, scalable, distributed revision control system with an
20unusually rich command set that provides both high-level operations
21and full access to internals.
22
23See this link:tutorial.html[tutorial] to get started, then see
24link:everyday.html[Everyday Git] for a useful minimum set of commands, and
25"man git-commandname" for documentation of each command. CVS users may
Junio C Hamano3d30fd52007-05-08 00:32:5326also want to read link:cvs-migration.html[CVS migration]. See
27link:user-manual.html[Git User's Manual] for a more in-depth
28introduction.
Junio C Hamano1a4e8412005-12-27 08:17:2329
Junio C Hamano33db4372006-06-07 19:51:4530The COMMAND is either a name of a Git command (see below) or an alias
Junio C Hamano7ad22dc2007-01-29 02:55:4831as defined in the configuration file (see gitlink:git-config[1]).
Junio C Hamano33db4372006-06-07 19:51:4532
Junio C Hamanob63afff2007-05-01 03:05:5533Formatted and hyperlinked version of the latest git
34documentation can be viewed at
35`http://www.kernel.org/pub/software/scm/git/docs/`.
36
Junio C Hamano9d52e572007-02-13 23:48:2037ifdef::stalenotes[]
38[NOTE]
39============
Junio C Hamano9d52e572007-02-13 23:48:2040
Junio C Hamanoa9b8d242007-05-19 04:51:5541You are reading the documentation for the latest (possibly
42unreleased) version of git, that is available from 'master'
43branch of the `git.git` repository.
44Documentation for older releases are available here:
Junio C Hamano2fc92602007-03-29 01:09:4645
Junio C Hamanoa75069c2007-09-04 01:19:2446* link:v1.5.3/git.html[documentation for release 1.5.3]
47
48* release notes for
Junio C Hamanoea719cf2007-10-04 13:06:3549 link:RelNotes-1.5.3.4.txt[1.5.3.4],
Junio C Hamano58992c92007-10-01 16:23:1850 link:RelNotes-1.5.3.3.txt[1.5.3.3],
Junio C Hamano199cdf12007-09-19 18:30:4751 link:RelNotes-1.5.3.2.txt[1.5.3.2],
Junio C Hamano61210dd2007-10-24 11:52:1352 link:RelNotes-1.5.3.1.txt[1.5.3.1],
53 link:RelNotes-1.5.3.txt[1.5.3].
Junio C Hamano75485c82007-05-19 04:20:3354
Junio C Hamanoed7f4f62007-05-20 09:09:0955* release notes for
Junio C Hamano3b178be2007-08-16 04:59:2756 link:RelNotes-1.5.2.5.txt[1.5.2.5],
Junio C Hamano235d53f2007-07-13 00:25:1557 link:RelNotes-1.5.2.4.txt[1.5.2.4],
Junio C Hamano1d90cb02007-07-03 07:05:3158 link:RelNotes-1.5.2.3.txt[1.5.2.3],
Junio C Hamano29b1b922007-06-16 16:30:2659 link:RelNotes-1.5.2.2.txt[1.5.2.2],
60 link:RelNotes-1.5.2.1.txt[1.5.2.1],
Junio C Hamanoed7f4f62007-05-20 09:09:0961 link:RelNotes-1.5.2.txt[1.5.2].
62
63* link:v1.5.1.6/git.html[documentation for release 1.5.1.6]
64
65* release notes for
66 link:RelNotes-1.5.1.6.txt[1.5.1.6],
67 link:RelNotes-1.5.1.5.txt[1.5.1.5],
Junio C Hamanoa9b8d242007-05-19 04:51:5568 link:RelNotes-1.5.1.4.txt[1.5.1.4],
69 link:RelNotes-1.5.1.3.txt[1.5.1.3],
70 link:RelNotes-1.5.1.2.txt[1.5.1.2],
71 link:RelNotes-1.5.1.1.txt[1.5.1.1],
72 link:RelNotes-1.5.1.txt[1.5.1].
Junio C Hamano91d44c52007-05-09 07:16:0773
Junio C Hamanoa9b8d242007-05-19 04:51:5574* link:v1.5.0.7/git.html[documentation for release 1.5.0.7]
Junio C Hamano91d44c52007-05-09 07:16:0775
Junio C Hamanoed7f4f62007-05-20 09:09:0976* release notes for
77 link:RelNotes-1.5.0.7.txt[1.5.0.7],
Junio C Hamanoa9b8d242007-05-19 04:51:5578 link:RelNotes-1.5.0.6.txt[1.5.0.6],
79 link:RelNotes-1.5.0.5.txt[1.5.0.5],
80 link:RelNotes-1.5.0.3.txt[1.5.0.3],
81 link:RelNotes-1.5.0.2.txt[1.5.0.2],
82 link:RelNotes-1.5.0.1.txt[1.5.0.1],
83 link:RelNotes-1.5.0.txt[1.5.0].
Junio C Hamanoe90436a2007-04-22 07:22:1384
Junio C Hamanoa9b8d242007-05-19 04:51:5585* documentation for release link:v1.4.4.4/git.html[1.4.4.4],
86 link:v1.3.3/git.html[1.3.3],
87 link:v1.2.6/git.html[1.2.6],
88 link:v1.0.13/git.html[1.0.13].
Junio C Hamano9d52e572007-02-13 23:48:2089
90============
91
92endif::stalenotes[]
93
Junio C Hamano1a4e8412005-12-27 08:17:2394OPTIONS
95-------
96--version::
Junio C Hamano01078922006-03-10 00:31:4797Prints the git suite version that the 'git' program came from.
Junio C Hamano1a4e8412005-12-27 08:17:2398
99--help::
Junio C Hamano01078922006-03-10 00:31:47100Prints the synopsis and a list of the most commonly used
101commands. If a git command is named this option will bring up
102the man-page for that command. If the option '--all' or '-a' is
103given then all available commands are printed.
Junio C Hamano1a4e8412005-12-27 08:17:23104
105--exec-path::
Junio C Hamano01078922006-03-10 00:31:47106Path to wherever your core git programs are installed.
Junio C Hamano1a4e8412005-12-27 08:17:23107This can also be controlled by setting the GIT_EXEC_PATH
108environment variable. If no path is given 'git' will print
109the current setting and then exit.
110
Junio C Hamanof870ef82006-07-29 09:10:13111-p|--paginate::
112Pipe all output into 'less' (or if set, $PAGER).
113
Junio C Hamanocae86272007-08-21 02:20:49114--no-pager::
115Do not pipe git output into a pager.
116
Junio C Hamanof870ef82006-07-29 09:10:13117--git-dir=<path>::
118Set the path to the repository. This can also be controlled by
119setting the GIT_DIR environment variable.
120
Junio C Hamanod526ba92007-07-02 00:17:42121--work-tree=<path>::
122Set the path to the working tree. The value will not be
123used in combination with repositories found automatically in
124a .git directory (i.e. $GIT_DIR is not set).
125This can also be controlled by setting the GIT_WORK_TREE
126environment variable and the core.worktree configuration
127variable.
128
Junio C Hamanof870ef82006-07-29 09:10:13129--bare::
Junio C Hamanoc435b1c2007-08-28 06:25:35130Treat the repository as a bare repository. If GIT_DIR
131environment is not set, it is set to the current working
132directory.
133
Junio C Hamano1a4e8412005-12-27 08:17:23134
Junio C Hamanoe27fb932006-04-03 05:34:10135FURTHER DOCUMENTATION
136---------------------
Junio C Hamano1a4e8412005-12-27 08:17:23137
Junio C Hamanoe27fb932006-04-03 05:34:10138See the references above to get started using git. The following is
139probably more detail than necessary for a first-time user.
Junio C Hamano1a4e8412005-12-27 08:17:23140
Junio C Hamano597ffcf2007-09-17 17:33:15141The link:user-manual.html#git-concepts[git concepts chapter of the
142user-manual] and the link:core-tutorial.html[Core tutorial] both provide
143introductions to the underlying git architecture.
Junio C Hamano1a4e8412005-12-27 08:17:23144
Junio C Hamanoe27fb932006-04-03 05:34:10145See also the link:howto-index.html[howto] documents for some useful
146examples.
Junio C Hamano1a4e8412005-12-27 08:17:23147
Junio C Hamanoe27fb932006-04-03 05:34:10148GIT COMMANDS
149------------
Junio C Hamano1a4e8412005-12-27 08:17:23150
Junio C Hamanoe27fb932006-04-03 05:34:10151We divide git into high level ("porcelain") commands and low level
152("plumbing") commands.
Junio C Hamano1a4e8412005-12-27 08:17:23153
Junio C Hamanob19b4f02006-10-29 20:47:22154High-level commands (porcelain)
155-------------------------------
156
157We separate the porcelain commands into the main commands and some
158ancillary user utilities.
159
160Main porcelain commands
161~~~~~~~~~~~~~~~~~~~~~~~
162
Junio C Hamano7c73c662007-01-19 00:37:50163include::cmds-mainporcelain.txt[]
Junio C Hamanob19b4f02006-10-29 20:47:22164
165Ancillary Commands
166~~~~~~~~~~~~~~~~~~
167Manipulators:
168
Junio C Hamano7c73c662007-01-19 00:37:50169include::cmds-ancillarymanipulators.txt[]
Junio C Hamanob19b4f02006-10-29 20:47:22170
171Interrogators:
172
Junio C Hamano7c73c662007-01-19 00:37:50173include::cmds-ancillaryinterrogators.txt[]
Junio C Hamanob19b4f02006-10-29 20:47:22174
Junio C Hamano4ad294b2007-01-20 02:22:50175
176Interacting with Others
177~~~~~~~~~~~~~~~~~~~~~~~
178
179These commands are to interact with foreign SCM and with other
180people via patch over e-mail.
181
182include::cmds-foreignscminterface.txt[]
183
184
Junio C Hamanoe27fb932006-04-03 05:34:10185Low-level commands (plumbing)
186-----------------------------
Junio C Hamano1a4e8412005-12-27 08:17:23187
Junio C Hamanoe27fb932006-04-03 05:34:10188Although git includes its
189own porcelain layer, its low-level commands are sufficient to support
190development of alternative porcelains. Developers of such porcelains
191might start by reading about gitlink:git-update-index[1] and
192gitlink:git-read-tree[1].
Junio C Hamano1a4e8412005-12-27 08:17:23193
Junio C Hamano4ad294b2007-01-20 02:22:50194The interface (input, output, set of options and the semantics)
195to these low-level commands are meant to be a lot more stable
196than Porcelain level commands, because these commands are
197primarily for scripted use. The interface to Porcelain commands
198on the other hand are subject to change in order to improve the
199end user experience.
200
201The following description divides
202the low-level commands into commands that manipulate objects (in
Junio C Hamanoe27fb932006-04-03 05:34:10203the repository, index, and working tree), commands that interrogate and
204compare objects, and commands that move objects and references between
205repositories.
Junio C Hamano1a4e8412005-12-27 08:17:23206
Junio C Hamano4ad294b2007-01-20 02:22:50207
Junio C Hamano1a4e8412005-12-27 08:17:23208Manipulation commands
209~~~~~~~~~~~~~~~~~~~~~
Junio C Hamano1a4e8412005-12-27 08:17:23210
Junio C Hamano7c73c662007-01-19 00:37:50211include::cmds-plumbingmanipulators.txt[]
Junio C Hamano1a4e8412005-12-27 08:17:23212
213
214Interrogation commands
215~~~~~~~~~~~~~~~~~~~~~~
216
Junio C Hamano7c73c662007-01-19 00:37:50217include::cmds-plumbinginterrogators.txt[]
Junio C Hamano1a4e8412005-12-27 08:17:23218
219In general, the interrogate commands do not touch the files in
220the working tree.
221
222
223Synching repositories
224~~~~~~~~~~~~~~~~~~~~~
225
Junio C Hamano7c73c662007-01-19 00:37:50226include::cmds-synchingrepositories.txt[]
Junio C Hamano1a4e8412005-12-27 08:17:23227
Junio C Hamano4ad294b2007-01-20 02:22:50228The following are helper programs used by the above; end users
229typically do not use them directly.
230
231include::cmds-synchelpers.txt[]
232
233
234Internal helper commands
235~~~~~~~~~~~~~~~~~~~~~~~~
236
237These are internal helper commands used by other commands; end
238users typically do not use them directly.
239
240include::cmds-purehelpers.txt[]
241
Junio C Hamano1a4e8412005-12-27 08:17:23242
Junio C Hamano1a4e8412005-12-27 08:17:23243Configuration Mechanism
244-----------------------
245
246Starting from 0.99.9 (actually mid 0.99.8.GIT), `.git/config` file
247is used to hold per-repository configuration options. It is a
Junio C Hamano51c2ab02006-07-09 20:38:54248simple text file modeled after `.ini` format familiar to some
Junio C Hamano1a4e8412005-12-27 08:17:23249people. Here is an example:
250
251------------
252#
253# A '#' or ';' character indicates a comment.
254#
255
256; core variables
257[core]
258; Don't trust file modes
259filemode = false
260
261; user identity
262[user]
263name = "Junio C Hamano"
264email = "junkio@twinsun.com"
265
266------------
267
268Various commands read from the configuration file and adjust
269their operation accordingly.
270
271
272Identifier Terminology
273----------------------
274<object>::
275Indicates the object name for any type of object.
276
277<blob>::
278Indicates a blob object name.
279
280<tree>::
281Indicates a tree object name.
282
283<commit>::
284Indicates a commit object name.
285
286<tree-ish>::
287Indicates a tree, commit or tag object name. A
288command that takes a <tree-ish> argument ultimately wants to
289operate on a <tree> object but automatically dereferences
290<commit> and <tag> objects that point at a <tree>.
291
Junio C Hamano60f8aa82007-03-06 09:58:26292<commit-ish>::
293Indicates a commit or tag object name. A
294command that takes a <commit-ish> argument ultimately wants to
295operate on a <commit> object but automatically dereferences
296<tag> objects that point at a <commit>.
297
Junio C Hamano1a4e8412005-12-27 08:17:23298<type>::
299Indicates that an object type is required.
300Currently one of: `blob`, `tree`, `commit`, or `tag`.
301
302<file>::
303Indicates a filename - almost always relative to the
304root of the tree structure `GIT_INDEX_FILE` describes.
305
306Symbolic Identifiers
307--------------------
308Any git command accepting any <object> can also use the following
309symbolic notation:
310
311HEAD::
312indicates the head of the current branch (i.e. the
313contents of `$GIT_DIR/HEAD`).
314
315<tag>::
316a valid tag 'name'
317(i.e. the contents of `$GIT_DIR/refs/tags/<tag>`).
318
319<head>::
320a valid head 'name'
321(i.e. the contents of `$GIT_DIR/refs/heads/<head>`).
322
Junio C Hamanoff4b4312006-10-25 22:55:31323For a more complete list of ways to spell object names, see
324"SPECIFYING REVISIONS" section in gitlink:git-rev-parse[1].
325
Junio C Hamano1a4e8412005-12-27 08:17:23326
327File/Directory Structure
328------------------------
329
Junio C Hamano764a6672007-10-23 01:23:31330Please see the link:repository-layout.html[repository layout] document.
Junio C Hamano1a4e8412005-12-27 08:17:23331
Junio C Hamano818f7d62006-03-26 01:49:30332Read link:hooks.html[hooks] for more details about each hook.
333
Junio C Hamano1a4e8412005-12-27 08:17:23334Higher level SCMs may provide and manage additional information in the
335`$GIT_DIR`.
336
337
338Terminology
339-----------
Junio C Hamano764a6672007-10-23 01:23:31340Please see the link:glossary.html[glossary] document.
Junio C Hamano1a4e8412005-12-27 08:17:23341
342
343Environment Variables
344---------------------
345Various git commands use the following environment variables:
346
347The git Repository
348~~~~~~~~~~~~~~~~~~
349These environment variables apply to 'all' core git commands. Nb: it
350is worth noting that they may be used/overridden by SCMS sitting above
351git so take care if using Cogito etc.
352
353'GIT_INDEX_FILE'::
354This environment allows the specification of an alternate
355index file. If not specified, the default of `$GIT_DIR/index`
356is used.
357
358'GIT_OBJECT_DIRECTORY'::
359If the object storage directory is specified via this
360environment variable then the sha1 directories are created
361underneath - otherwise the default `$GIT_DIR/objects`
362directory is used.
363
364'GIT_ALTERNATE_OBJECT_DIRECTORIES'::
365Due to the immutable nature of git objects, old objects can be
366archived into shared, read-only directories. This variable
367specifies a ":" separated list of git object directories which
368can be used to search for git objects. New objects will not be
369written to these directories.
370
371'GIT_DIR'::
372If the 'GIT_DIR' environment variable is set then it
373specifies a path to use instead of the default `.git`
374for the base of the repository.
375
Junio C Hamanod526ba92007-07-02 00:17:42376'GIT_WORK_TREE'::
377Set the path to the working tree. The value will not be
378used in combination with repositories found automatically in
379a .git directory (i.e. $GIT_DIR is not set).
380This can also be controlled by the '--work-tree' command line
381option and the core.worktree configuration variable.
382
Junio C Hamano1a4e8412005-12-27 08:17:23383git Commits
384~~~~~~~~~~~
385'GIT_AUTHOR_NAME'::
386'GIT_AUTHOR_EMAIL'::
387'GIT_AUTHOR_DATE'::
388'GIT_COMMITTER_NAME'::
389'GIT_COMMITTER_EMAIL'::
Junio C Hamano469d60e2007-04-29 18:30:34390'GIT_COMMITTER_DATE'::
391'EMAIL'::
Junio C Hamano1a4e8412005-12-27 08:17:23392see gitlink:git-commit-tree[1]
393
394git Diffs
395~~~~~~~~~
396'GIT_DIFF_OPTS'::
Junio C Hamano1c437122006-11-28 02:22:25397Only valid setting is "--unified=??" or "-u??" to set the
398number of context lines shown when a unified diff is created.
399This takes precedence over any "-U" or "--unified" option
400value passed on the git diff command line.
401
Junio C Hamano1a4e8412005-12-27 08:17:23402'GIT_EXTERNAL_DIFF'::
Junio C Hamano1c437122006-11-28 02:22:25403When the environment variable 'GIT_EXTERNAL_DIFF' is set, the
404program named by it is called, instead of the diff invocation
405described above. For a path that is added, removed, or modified,
406 'GIT_EXTERNAL_DIFF' is called with 7 parameters:
407
408path old-file old-hex old-mode new-file new-hex new-mode
409+
410where:
411
412<old|new>-file:: are files GIT_EXTERNAL_DIFF can use to read the
413 contents of <old|new>,
414<old|new>-hex:: are the 40-hexdigit SHA1 hashes,
415<old|new>-mode:: are the octal representation of the file modes.
416
417+
418The file parameters can point at the user's working file
419(e.g. `new-file` in "git-diff-files"), `/dev/null` (e.g. `old-file`
420when a new file is added), or a temporary file (e.g. `old-file` in the
421index). 'GIT_EXTERNAL_DIFF' should not worry about unlinking the
422temporary file --- it is removed when 'GIT_EXTERNAL_DIFF' exits.
423+
424For a path that is unmerged, 'GIT_EXTERNAL_DIFF' is called with 1
425parameter, <path>.
Junio C Hamano1a4e8412005-12-27 08:17:23426
Junio C Hamano7ccb9fd2006-07-15 01:38:40427other
428~~~~~
Junio C Hamano1e6e0062007-07-13 05:33:25429'GIT_MERGE_VERBOSITY'::
430A number controlling the amount of output shown by
431the recursive merge strategy. Overrides merge.verbosity.
432See gitlink:git-merge[1]
433
Junio C Hamano85e45fa2006-08-13 07:47:41434'GIT_PAGER'::
Junio C Hamanof6002a92007-07-20 10:28:22435This environment variable overrides `$PAGER`. If it is set
436to an empty string or to the value "cat", git will not launch
437a pager.
Junio C Hamano85e45fa2006-08-13 07:47:41438
Junio C Hamano4cd1c0e2007-08-06 04:39:14439'GIT_SSH'::
440If this environment variable is set then gitlink:git-fetch[1]
441and gitlink:git-push[1] will use this command instead
442of `ssh` when they need to connect to a remote system.
443The 'GIT_SSH' command will be given exactly two arguments:
444the 'username@host' (or just 'host') from the URL and the
445shell command to execute on that remote system.
446+
447To pass options to the program that you want to list in GIT_SSH
448you will need to wrap the program and options into a shell script,
449then set GIT_SSH to refer to the shell script.
450+
451Usually it is easier to configure any desired options through your
452personal `.ssh/config` file. Please consult your ssh documentation
453for further details.
454
Junio C Hamano401939f2007-07-01 06:34:30455'GIT_FLUSH'::
456If this environment variable is set to "1", then commands such
457as git-blame (in incremental mode), git-rev-list, git-log,
458git-whatchanged, etc., will force a flush of the output stream
459after each commit-oriented record have been flushed. If this
460variable is set to "0", the output of these commands will be done
461using completely buffered I/O. If this environment variable is
462not set, git will choose buffered or record-oriented flushing
463based on whether stdout appears to be redirected to a file or not.
464
Junio C Hamano7ccb9fd2006-07-15 01:38:40465'GIT_TRACE'::
Junio C Hamanoef4b48b2006-09-04 10:08:34466If this variable is set to "1", "2" or "true" (comparison
467is case insensitive), git will print `trace:` messages on
Junio C Hamano7ccb9fd2006-07-15 01:38:40468stderr telling about alias expansion, built-in command
469execution and external command execution.
Junio C Hamanoef4b48b2006-09-04 10:08:34470If this variable is set to an integer value greater than 1
471and lower than 10 (strictly) then git will interpret this
472value as an open file descriptor and will try to write the
473trace messages into this file descriptor.
474Alternatively, if this variable is set to an absolute path
475(starting with a '/' character), git will interpret this
476as a file path and will try to write the trace messages
477into it.
Junio C Hamano7ccb9fd2006-07-15 01:38:40478
Junio C Hamano1a4e8412005-12-27 08:17:23479Discussion[[Discussion]]
480------------------------
Junio C Hamano597ffcf2007-09-17 17:33:15481
482More detail on the following is available from the
483link:user-manual.html#git-concepts[git concepts chapter of the
484user-manual] and the link:core-tutorial.html[Core tutorial].
485
486A git project normally consists of a working directory with a ".git"
487subdirectory at the top level. The .git directory contains, among other
488things, a compressed object database representing the complete history
489of the project, an "index" file which links that history to the current
490contents of the working tree, and named pointers into that history such
491as tags and branch heads.
492
493The object database contains objects of three main types: blobs, which
494hold file data; trees, which point to blobs and other trees to build up
495directory heirarchies; and commits, which each reference a single tree
496and some number of parent commits.
497
498The commit, equivalent to what other systems call a "changeset" or
499"version", represents a step in the project's history, and each parent
500represents an immediately preceding step. Commits with more than one
501parent represent merges of independent lines of development.
502
503All objects are named by the SHA1 hash of their contents, normally
504written as a string of 40 hex digits. Such names are globally unique.
505The entire history leading up to a commit can be vouched for by signing
506just that commit. A fourth object type, the tag, is provided for this
507purpose.
508
509When first created, objects are stored in individual files, but for
510efficiency may later be compressed together into "pack files".
511
512Named pointers called refs mark interesting points in history. A ref
513may contain the SHA1 name of an object or the name of another ref. Refs
514with names beginning `ref/head/` contain the SHA1 name of the most
515recent commit (or "head") of a branch under developement. SHA1 names of
516tags of interest are stored under `ref/tags/`. A special ref named
517`HEAD` contains the name of the currently checked-out branch.
518
519The index file is initialized with a list of all paths and, for each
520path, a blob object and a set of attributes. The blob object represents
521the contents of the file as of the head of the current branch. The
522attributes (last modified time, size, etc.) are taken from the
523corresponding file in the working tree. Subsequent changes to the
524working tree can be found by comparing these attributes. The index may
525be updated with new content, and new commits may be created from the
526content stored in the index.
527
528The index is also capable of storing multiple entries (called "stages")
529for a given pathname. These stages are used to hold the various
530unmerged version of a file when a merge is in progress.
Junio C Hamano1a4e8412005-12-27 08:17:23531
532Authors
533-------
534* git's founding father is Linus Torvalds <torvalds@osdl.org>.
Junio C Hamanodbb64592007-09-01 11:17:39535* The current git nurse is Junio C Hamano <gitster@pobox.com>.
Junio C Hamano1a4e8412005-12-27 08:17:23536* The git potty was written by Andres Ericsson <ae@op5.se>.
537* General upbringing is handled by the git-list <git@vger.kernel.org>.
538
539Documentation
540--------------
541The documentation for git suite was started by David Greaves
542<david@dgreaves.com>, and later enhanced greatly by the
543contributors on the git-list <git@vger.kernel.org>.
544
545GIT
546---
547Part of the gitlink:git[7] suite