Code

Merge branch 'jc/fpl'
[git.git] / Documentation / git.txt
index ac222060ea08000a17ceed4149a257482ae1e064..31397dc5390d79343dc5d6fa5501cd493be0ea21 100644 (file)
@@ -22,9 +22,42 @@ See this link:tutorial.html[tutorial] to get started, then see
 link:everyday.html[Everyday Git] for a useful minimum set of commands, and
 "man git-commandname" for documentation of each command.  CVS users may
 also want to read link:cvs-migration.html[CVS migration].
 link:everyday.html[Everyday Git] for a useful minimum set of commands, and
 "man git-commandname" for documentation of each command.  CVS users may
 also want to read link:cvs-migration.html[CVS migration].
+link:user-manual.html[Git User's Manual] is still work in
+progress, but when finished hopefully it will guide a new user
+in a coherent way to git enlightenment ;-).
 
 The COMMAND is either a name of a Git command (see below) or an alias
 
 The COMMAND is either a name of a Git command (see below) or an alias
-as defined in the configuration file (see gitlink:git-repo-config[1]).
+as defined in the configuration file (see gitlink:git-config[1]).
+
+ifdef::stalenotes[]
+[NOTE]
+============
+You are reading the documentation for the latest version of git.
+Documentation for older releases are available here:
+
+* link:v1.5.0.5/git.html[documentation for release 1.5.0.5]
+
+* link:v1.5.0.5/RelNotes-1.5.0.5.txt[release notes for 1.5.0.5]
+
+* link:v1.5.0.3/RelNotes-1.5.0.3.txt[release notes for 1.5.0.3]
+
+* link:v1.5.0.2/RelNotes-1.5.0.2.txt[release notes for 1.5.0.2]
+
+* link:v1.5.0.1/RelNotes-1.5.0.1.txt[release notes for 1.5.0.1]
+
+* link:v1.5.0/RelNotes-1.5.0.txt[release notes for 1.5.0]
+
+* link:v1.4.4.4/git.html[documentation for release 1.4.4.4]
+
+* link:v1.3.3/git.html[documentation for release 1.3.3]
+
+* link:v1.2.6/git.html[documentation for release 1.2.6]
+
+* link:v1.0.13/git.html[documentation for release 1.0.13]
+
+============
+
+endif::stalenotes[]
 
 OPTIONS
 -------
 
 OPTIONS
 -------
@@ -93,6 +126,16 @@ Interrogators:
 
 include::cmds-ancillaryinterrogators.txt[]
 
 
 include::cmds-ancillaryinterrogators.txt[]
 
+
+Interacting with Others
+~~~~~~~~~~~~~~~~~~~~~~~
+
+These commands are to interact with foreign SCM and with other
+people via patch over e-mail.
+
+include::cmds-foreignscminterface.txt[]
+
+
 Low-level commands (plumbing)
 -----------------------------
 
 Low-level commands (plumbing)
 -----------------------------
 
@@ -102,11 +145,20 @@ development of alternative porcelains.  Developers of such porcelains
 might start by reading about gitlink:git-update-index[1] and
 gitlink:git-read-tree[1].
 
 might start by reading about gitlink:git-update-index[1] and
 gitlink:git-read-tree[1].
 
-We divide the low-level commands into commands that manipulate objects (in
+The interface (input, output, set of options and the semantics)
+to these low-level commands are meant to be a lot more stable
+than Porcelain level commands, because these commands are
+primarily for scripted use.  The interface to Porcelain commands
+on the other hand are subject to change in order to improve the
+end user experience.
+
+The following description divides
+the low-level commands into commands that manipulate objects (in
 the repository, index, and working tree), commands that interrogate and
 compare objects, and commands that move objects and references between
 repositories.
 
 the repository, index, and working tree), commands that interrogate and
 compare objects, and commands that move objects and references between
 repositories.
 
+
 Manipulation commands
 ~~~~~~~~~~~~~~~~~~~~~
 
 Manipulation commands
 ~~~~~~~~~~~~~~~~~~~~~
 
@@ -127,6 +179,20 @@ Synching repositories
 
 include::cmds-synchingrepositories.txt[]
 
 
 include::cmds-synchingrepositories.txt[]
 
+The following are helper programs used by the above; end users
+typically do not use them directly.
+
+include::cmds-synchelpers.txt[]
+
+
+Internal helper commands
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+These are internal helper commands used by other commands; end
+users typically do not use them directly.
+
+include::cmds-purehelpers.txt[]
+
 
 Configuration Mechanism
 -----------------------
 
 Configuration Mechanism
 -----------------------
@@ -177,6 +243,12 @@ Identifier Terminology
        operate on a <tree> object but automatically dereferences
        <commit> and <tag> objects that point at a <tree>.
 
        operate on a <tree> object but automatically dereferences
        <commit> and <tag> objects that point at a <tree>.
 
+<commit-ish>::
+       Indicates a commit or tag object name.  A
+       command that takes a <commit-ish> argument ultimately wants to
+       operate on a <commit> object but automatically dereferences
+       <tag> objects that point at a <commit>.
+
 <type>::
        Indicates that an object type is required.
        Currently one of: `blob`, `tree`, `commit`, or `tag`.
 <type>::
        Indicates that an object type is required.
        Currently one of: `blob`, `tree`, `commit`, or `tag`.