.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT" "7" "10/28/2006" "" ""
+.TH "GIT" "7" "10/29/2006" "" ""
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "GIT COMMANDS"
We divide git into high level ("porcelain") commands and low level ("plumbing") commands.
.sp
-.SH "LOW\-LEVEL COMMANDS (PLUMBING)"
-Although git includes its own porcelain layer, its low\-level commands are sufficient to support development of alternative porcelains. Developers of such porcelains might start by reading about \fBgit\-update\-index\fR(1) and \fBgit\-read\-tree\fR(1).
-.sp
-We divide 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.
-.sp
-.SS "Manipulation commands"
-.TP
-\fBgit\-apply\fR(1)
-Reads a "diff \-up1" or git generated patch file and applies it to the working tree.
-.TP
-\fBgit\-checkout\-index\fR(1)
-Copy files from the index to the working tree.
-.TP
-\fBgit\-commit\-tree\fR(1)
-Creates a new commit object.
-.TP
-\fBgit\-hash\-object\fR(1)
-Computes the object ID from a file.
-.TP
-\fBgit\-index\-pack\fR(1)
-Build pack idx file for an existing packed archive.
-.TP
-\fBgit\-init\-db\fR(1)
-Creates an empty git object database, or reinitialize an existing one.
-.TP
-\fBgit\-merge\-index\fR(1)
-Runs a merge for files needing merging.
-.TP
-\fBgit\-mktag\fR(1)
-Creates a tag object.
-.TP
-\fBgit\-mktree\fR(1)
-Build a tree\-object from ls\-tree formatted text.
-.TP
-\fBgit\-pack\-objects\fR(1)
-Creates a packed archive of objects.
-.TP
-\fBgit\-prune\-packed\fR(1)
-Remove extra objects that are already in pack files.
-.TP
-\fBgit\-read\-tree\fR(1)
-Reads tree information into the index.
-.TP
-\fBgit\-repo\-config\fR(1)
-Get and set options in .git/config.
-.TP
-\fBgit\-unpack\-objects\fR(1)
-Unpacks objects out of a packed archive.
-.TP
-\fBgit\-update\-index\fR(1)
-Registers files in the working tree to the index.
-.TP
-\fBgit\-write\-tree\fR(1)
-Creates a tree from the index.
-.SS "Interrogation commands"
-.TP
-\fBgit\-cat\-file\fR(1)
-Provide content or type/size information for repository objects.
-.TP
-\fBgit\-describe\fR(1)
-Show the most recent tag that is reachable from a commit.
-.TP
-\fBgit\-diff\-index\fR(1)
-Compares content and mode of blobs between the index and repository.
-.TP
-\fBgit\-diff\-files\fR(1)
-Compares files in the working tree and the index.
-.TP
-\fBgit\-diff\-stages\fR(1)
-Compares two "merge stages" in the index.
-.TP
-\fBgit\-diff\-tree\fR(1)
-Compares the content and mode of blobs found via two tree objects.
-.TP
-\fBgit\-for\-each\-ref\fR(1)
-Output information on each ref.
-.TP
-\fBgit\-fsck\-objects\fR(1)
-Verifies the connectivity and validity of the objects in the database.
-.TP
-\fBgit\-ls\-files\fR(1)
-Information about files in the index and the working tree.
-.TP
-\fBgit\-ls\-tree\fR(1)
-Displays a tree object in human readable form.
-.TP
-\fBgit\-merge\-base\fR(1)
-Finds as good common ancestors as possible for a merge.
-.TP
-\fBgit\-name\-rev\fR(1)
-Find symbolic names for given revs.
-.TP
-\fBgit\-pack\-redundant\fR(1)
-Find redundant pack files.
-.TP
-\fBgit\-rev\-list\fR(1)
-Lists commit objects in reverse chronological order.
-.TP
-\fBgit\-show\-index\fR(1)
-Displays contents of a pack idx file.
-.TP
-\fBgit\-tar\-tree\fR(1)
-Creates a tar archive of the files in the named tree object.
-.TP
-\fBgit\-unpack\-file\fR(1)
-Creates a temporary file with a blob's contents.
-.TP
-\fBgit\-var\fR(1)
-Displays a git logical variable.
-.TP
-\fBgit\-verify\-pack\fR(1)
-Validates packed git archive files.
-In general, the interrogate commands do not touch the files in the working tree.
-.sp
-.SS "Synching repositories"
-.TP
-\fBgit\-fetch\-pack\fR(1)
-Updates from a remote repository (engine for ssh and local transport).
-.TP
-\fBgit\-http\-fetch\fR(1)
-Downloads a remote git repository via HTTP by walking commit chain.
-.TP
-\fBgit\-local\-fetch\fR(1)
-Duplicates another git repository on a local system by walking commit chain.
-.TP
-\fBgit\-peek\-remote\fR(1)
-Lists references on a remote repository using upload\-pack protocol (engine for ssh and local transport).
-.TP
-\fBgit\-receive\-pack\fR(1)
-Invoked by
-\fIgit\-send\-pack\fR
-to receive what is pushed to it.
-.TP
-\fBgit\-send\-pack\fR(1)
-Pushes to a remote repository, intelligently.
-.TP
-\fBgit\-http\-push\fR(1)
-Push missing objects using HTTP/DAV.
-.TP
-\fBgit\-shell\fR(1)
-Restricted shell for GIT\-only SSH access.
-.TP
-\fBgit\-ssh\-fetch\fR(1)
-Pulls from a remote repository over ssh connection by walking commit chain.
-.TP
-\fBgit\-ssh\-upload\fR(1)
-Helper "server\-side" program used by git\-ssh\-fetch.
-.TP
-\fBgit\-update\-server\-info\fR(1)
-Updates auxiliary information on a dumb server to help clients discover references and packs on it.
-.TP
-\fBgit\-upload\-archive\fR(1)
-Invoked by
-\fIgit\-archive\fR
-to send a generated archive.
-.TP
-\fBgit\-upload\-pack\fR(1)
-Invoked by
-\fIgit\-fetch\-pack\fR
-to push what are asked for.
.SH "HIGH\-LEVEL COMMANDS (PORCELAIN)"
We separate the porcelain commands into the main commands and some ancillary user utilities.
.sp
Move or rename a file, a directory, or a symlink.
.TP
\fBgit\-pull\fR(1)
-Fetch from and merge with a remote repository.
+Fetch from and merge with a remote repository or a local branch.
.TP
\fBgit\-push\fR(1)
Update remote refs along with associated objects.
.TP
\fBgit\-stripspace\fR(1)
Filter out empty lines.
+.SH "LOW\-LEVEL COMMANDS (PLUMBING)"
+Although git includes its own porcelain layer, its low\-level commands are sufficient to support development of alternative porcelains. Developers of such porcelains might start by reading about \fBgit\-update\-index\fR(1) and \fBgit\-read\-tree\fR(1).
+.sp
+We divide 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.
+.sp
+.SS "Manipulation commands"
+.TP
+\fBgit\-apply\fR(1)
+Reads a "diff \-up1" or git generated patch file and applies it to the working tree.
+.TP
+\fBgit\-checkout\-index\fR(1)
+Copy files from the index to the working tree.
+.TP
+\fBgit\-commit\-tree\fR(1)
+Creates a new commit object.
+.TP
+\fBgit\-hash\-object\fR(1)
+Computes the object ID from a file.
+.TP
+\fBgit\-index\-pack\fR(1)
+Build pack idx file for an existing packed archive.
+.TP
+\fBgit\-init\-db\fR(1)
+Creates an empty git object database, or reinitialize an existing one.
+.TP
+\fBgit\-merge\-index\fR(1)
+Runs a merge for files needing merging.
+.TP
+\fBgit\-mktag\fR(1)
+Creates a tag object.
+.TP
+\fBgit\-mktree\fR(1)
+Build a tree\-object from ls\-tree formatted text.
+.TP
+\fBgit\-pack\-objects\fR(1)
+Creates a packed archive of objects.
+.TP
+\fBgit\-prune\-packed\fR(1)
+Remove extra objects that are already in pack files.
+.TP
+\fBgit\-read\-tree\fR(1)
+Reads tree information into the index.
+.TP
+\fBgit\-repo\-config\fR(1)
+Get and set options in .git/config.
+.TP
+\fBgit\-unpack\-objects\fR(1)
+Unpacks objects out of a packed archive.
+.TP
+\fBgit\-update\-index\fR(1)
+Registers files in the working tree to the index.
+.TP
+\fBgit\-write\-tree\fR(1)
+Creates a tree from the index.
+.SS "Interrogation commands"
+.TP
+\fBgit\-cat\-file\fR(1)
+Provide content or type/size information for repository objects.
+.TP
+\fBgit\-describe\fR(1)
+Show the most recent tag that is reachable from a commit.
+.TP
+\fBgit\-diff\-index\fR(1)
+Compares content and mode of blobs between the index and repository.
+.TP
+\fBgit\-diff\-files\fR(1)
+Compares files in the working tree and the index.
+.TP
+\fBgit\-diff\-stages\fR(1)
+Compares two "merge stages" in the index.
+.TP
+\fBgit\-diff\-tree\fR(1)
+Compares the content and mode of blobs found via two tree objects.
+.TP
+\fBgit\-for\-each\-ref\fR(1)
+Output information on each ref.
+.TP
+\fBgit\-fsck\-objects\fR(1)
+Verifies the connectivity and validity of the objects in the database.
+.TP
+\fBgit\-ls\-files\fR(1)
+Information about files in the index and the working tree.
+.TP
+\fBgit\-ls\-tree\fR(1)
+Displays a tree object in human readable form.
+.TP
+\fBgit\-merge\-base\fR(1)
+Finds as good common ancestors as possible for a merge.
+.TP
+\fBgit\-name\-rev\fR(1)
+Find symbolic names for given revs.
+.TP
+\fBgit\-pack\-redundant\fR(1)
+Find redundant pack files.
+.TP
+\fBgit\-rev\-list\fR(1)
+Lists commit objects in reverse chronological order.
+.TP
+\fBgit\-show\-index\fR(1)
+Displays contents of a pack idx file.
+.TP
+\fBgit\-tar\-tree\fR(1)
+Creates a tar archive of the files in the named tree object.
+.TP
+\fBgit\-unpack\-file\fR(1)
+Creates a temporary file with a blob's contents.
+.TP
+\fBgit\-var\fR(1)
+Displays a git logical variable.
+.TP
+\fBgit\-verify\-pack\fR(1)
+Validates packed git archive files.
+In general, the interrogate commands do not touch the files in the working tree.
+.sp
+.SS "Synching repositories"
+.TP
+\fBgit\-fetch\-pack\fR(1)
+Updates from a remote repository (engine for ssh and local transport).
+.TP
+\fBgit\-http\-fetch\fR(1)
+Downloads a remote git repository via HTTP by walking commit chain.
+.TP
+\fBgit\-local\-fetch\fR(1)
+Duplicates another git repository on a local system by walking commit chain.
+.TP
+\fBgit\-peek\-remote\fR(1)
+Lists references on a remote repository using upload\-pack protocol (engine for ssh and local transport).
+.TP
+\fBgit\-receive\-pack\fR(1)
+Invoked by
+\fIgit\-send\-pack\fR
+to receive what is pushed to it.
+.TP
+\fBgit\-send\-pack\fR(1)
+Pushes to a remote repository, intelligently.
+.TP
+\fBgit\-http\-push\fR(1)
+Push missing objects using HTTP/DAV.
+.TP
+\fBgit\-shell\fR(1)
+Restricted shell for GIT\-only SSH access.
+.TP
+\fBgit\-ssh\-fetch\fR(1)
+Pulls from a remote repository over ssh connection by walking commit chain.
+.TP
+\fBgit\-ssh\-upload\fR(1)
+Helper "server\-side" program used by git\-ssh\-fetch.
+.TP
+\fBgit\-update\-server\-info\fR(1)
+Updates auxiliary information on a dumb server to help clients discover references and packs on it.
+.TP
+\fBgit\-upload\-archive\fR(1)
+Invoked by
+\fIgit\-archive\fR
+to send a generated archive.
+.TP
+\fBgit\-upload\-pack\fR(1)
+Invoked by
+\fIgit\-fetch\-pack\fR
+to push what are asked for.
.SH "CONFIGURATION MECHANISM"
Starting from 0.99.9 (actually mid 0.99.8.GIT), .git/config file is used to hold per\-repository configuration options. It is a simple text file modeled after .ini format familiar to some people. Here is an example:
.sp