'\" t
.\" Title: git
.\" Author: [see the "Authors" section]
.\" Generator: DocBook XSL Stylesheets v1.79.1
.\" Date: 03/04/2021
.\" Manual: Git Manual
.\" Source: Git 2.25.1
.\" Language: English
.\"
.TH "GIT" "1" "03/04/2021" "Git 2\&.25\&.1" "Git Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
git \- the stupid content tracker
.SH "SYNOPSIS"
.sp
.nf
\fIgit\fR [\-\-version] [\-\-help] [\-C ] [\-c =]
[\-\-exec\-path[=]] [\-\-html\-path] [\-\-man\-path] [\-\-info\-path]
[\-p|\-\-paginate|\-P|\-\-no\-pager] [\-\-no\-replace\-objects] [\-\-bare]
[\-\-git\-dir=] [\-\-work\-tree=] [\-\-namespace=]
[\-\-super\-prefix=]
[]
.fi
.sp
.SH "DESCRIPTION"
.sp
Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high\-level operations and full access to internals\&.
.sp
See \fBgittutorial\fR(7) to get started, then see \fBgiteveryday\fR(7) for a useful minimum set of commands\&. The \m[blue]\fBGit User\(cqs Manual\fR\m[]\&\s-2\u[1]\d\s+2 has a more in\-depth introduction\&.
.sp
After you mastered the basic concepts, you can come back to this page to learn what commands Git offers\&. You can learn more about individual Git commands with "git help command"\&. \fBgitcli\fR(7) manual page gives you an overview of the command\-line command syntax\&.
.sp
A formatted and hyperlinked copy of the latest Git documentation can be viewed at \m[blue]\fBhttps://git\&.github\&.io/htmldocs/git\&.html\fR\m[] or \m[blue]\fBhttps://git\-scm\&.com/docs\fR\m[]\&.
.SH "OPTIONS"
.PP
\-\-version
.RS 4
Prints the Git suite version that the
\fIgit\fR
program came from\&.
.RE
.PP
\-\-help
.RS 4
Prints the synopsis and a list of the most commonly used commands\&. If the option
\fB\-\-all\fR
or
\fB\-a\fR
is given then all available commands are printed\&. If a Git command is named this option will bring up the manual page for that command\&.
.sp
Other options are available to control how the manual page is displayed\&. See
\fBgit-help\fR(1)
for more information, because
\fBgit \-\-help \&.\&.\&.\fR
is converted internally into
\fBgit help \&.\&.\&.\fR\&.
.RE
.PP
\-C
.RS 4
Run as if git was started in
\fI\fR
instead of the current working directory\&. When multiple
\fB\-C\fR
options are given, each subsequent non\-absolute
\fB\-C \fR
is interpreted relative to the preceding
\fB\-C \fR\&. If
\fI\fR
is present but empty, e\&.g\&.
\fB\-C ""\fR, then the current working directory is left unchanged\&.
.sp
This option affects options that expect path name like
\fB\-\-git\-dir\fR
and
\fB\-\-work\-tree\fR
in that their interpretations of the path names would be made relative to the working directory caused by the
\fB\-C\fR
option\&. For example the following invocations are equivalent:
.sp
.if n \{\
.RS 4
.\}
.nf
git \-\-git\-dir=a\&.git \-\-work\-tree=b \-C c status
git \-\-git\-dir=c/a\&.git \-\-work\-tree=c/b status
.fi
.if n \{\
.RE
.\}
.RE
.PP
\-c =
.RS 4
Pass a configuration parameter to the command\&. The value given will override values from configuration files\&. The is expected in the same format as listed by
\fIgit config\fR
(subkeys separated by dots)\&.
.sp
Note that omitting the
\fB=\fR
in
\fBgit \-c foo\&.bar \&.\&.\&.\fR
is allowed and sets
\fBfoo\&.bar\fR
to the boolean true value (just like
\fB[foo]bar\fR
would in a config file)\&. Including the equals but with an empty value (like
\fBgit \-c foo\&.bar= \&.\&.\&.\fR) sets
\fBfoo\&.bar\fR
to the empty string which
\fBgit config \-\-type=bool\fR
will convert to
\fBfalse\fR\&.
.RE
.PP
\-\-exec\-path[=]
.RS 4
Path to wherever your core Git programs are installed\&. This can also be controlled by setting the GIT_EXEC_PATH environment variable\&. If no path is given,
\fIgit\fR
will print the current setting and then exit\&.
.RE
.PP
\-\-html\-path
.RS 4
Print the path, without trailing slash, where Git\(cqs HTML documentation is installed and exit\&.
.RE
.PP
\-\-man\-path
.RS 4
Print the manpath (see
\fBman(1)\fR) for the man pages for this version of Git and exit\&.
.RE
.PP
\-\-info\-path
.RS 4
Print the path where the Info files documenting this version of Git are installed and exit\&.
.RE
.PP
\-p, \-\-paginate
.RS 4
Pipe all output into
\fIless\fR
(or if set, $PAGER) if standard output is a terminal\&. This overrides the
\fBpager\&.\fR
configuration options (see the "Configuration Mechanism" section below)\&.
.RE
.PP
\-P, \-\-no\-pager
.RS 4
Do not pipe Git output into a pager\&.
.RE
.PP
\-\-git\-dir=
.RS 4
Set the path to the repository\&. This can also be controlled by setting the
\fBGIT_DIR\fR
environment variable\&. It can be an absolute path or relative path to current working directory\&.
.RE
.PP
\-\-work\-tree=
.RS 4
Set the path to the working tree\&. It can be an absolute path or a path relative to the current working directory\&. This can also be controlled by setting the GIT_WORK_TREE environment variable and the core\&.worktree configuration variable (see core\&.worktree in
\fBgit-config\fR(1)
for a more detailed discussion)\&.
.RE
.PP
\-\-namespace=
.RS 4
Set the Git namespace\&. See
\fBgitnamespaces\fR(7)
for more details\&. Equivalent to setting the
\fBGIT_NAMESPACE\fR
environment variable\&.
.RE
.PP
\-\-super\-prefix=
.RS 4
Currently for internal use only\&. Set a prefix which gives a path from above a repository down to its root\&. One use is to give submodules context about the superproject that invoked it\&.
.RE
.PP
\-\-bare
.RS 4
Treat the repository as a bare repository\&. If GIT_DIR environment is not set, it is set to the current working directory\&.
.RE
.PP
\-\-no\-replace\-objects
.RS 4
Do not use replacement refs to replace Git objects\&. See
\fBgit-replace\fR(1)
for more information\&.
.RE
.PP
\-\-literal\-pathspecs
.RS 4
Treat pathspecs literally (i\&.e\&. no globbing, no pathspec magic)\&. This is equivalent to setting the
\fBGIT_LITERAL_PATHSPECS\fR
environment variable to
\fB1\fR\&.
.RE
.PP
\-\-glob\-pathspecs
.RS 4
Add "glob" magic to all pathspec\&. This is equivalent to setting the
\fBGIT_GLOB_PATHSPECS\fR
environment variable to
\fB1\fR\&. Disabling globbing on individual pathspecs can be done using pathspec magic ":(literal)"
.RE
.PP
\-\-noglob\-pathspecs
.RS 4
Add "literal" magic to all pathspec\&. This is equivalent to setting the
\fBGIT_NOGLOB_PATHSPECS\fR
environment variable to
\fB1\fR\&. Enabling globbing on individual pathspecs can be done using pathspec magic ":(glob)"
.RE
.PP
\-\-icase\-pathspecs
.RS 4
Add "icase" magic to all pathspec\&. This is equivalent to setting the
\fBGIT_ICASE_PATHSPECS\fR
environment variable to
\fB1\fR\&.
.RE
.PP
\-\-no\-optional\-locks
.RS 4
Do not perform optional operations that require locks\&. This is equivalent to setting the
\fBGIT_OPTIONAL_LOCKS\fR
to
\fB0\fR\&.
.RE
.PP
\-\-list\-cmds=group[,group\&...]
.RS 4
List commands by group\&. This is an internal/experimental option and may change or be removed in the future\&. Supported groups are: builtins, parseopt (builtin commands that use parse\-options), main (all commands in libexec directory), others (all other commands in
\fB$PATH\fR
that have git\- prefix), list\- (see categories in command\-list\&.txt), nohelpers (exclude helper commands), alias and config (retrieve command list from config variable completion\&.commands)
.RE
.SH "GIT COMMANDS"
.sp
We divide Git into high level ("porcelain") commands and low level ("plumbing") commands\&.
.SH "HIGH\-LEVEL COMMANDS (PORCELAIN)"
.sp
We separate the porcelain commands into the main commands and some ancillary user utilities\&.
.SS "Main porcelain commands"
.PP
\fBgit-add\fR(1)
.RS 4
Add file contents to the index\&.
.RE
.PP
\fBgit-am\fR(1)
.RS 4
Apply a series of patches from a mailbox\&.
.RE
.PP
\fBgit-archive\fR(1)
.RS 4
Create an archive of files from a named tree\&.
.RE
.PP
\fBgit-bisect\fR(1)
.RS 4
Use binary search to find the commit that introduced a bug\&.
.RE
.PP
\fBgit-branch\fR(1)
.RS 4
List, create, or delete branches\&.
.RE
.PP
\fBgit-bundle\fR(1)
.RS 4
Move objects and refs by archive\&.
.RE
.PP
\fBgit-checkout\fR(1)
.RS 4
Switch branches or restore working tree files\&.
.RE
.PP
\fBgit-cherry-pick\fR(1)
.RS 4
Apply the changes introduced by some existing commits\&.
.RE
.PP
\fBgit-citool\fR(1)
.RS 4
Graphical alternative to git\-commit\&.
.RE
.PP
\fBgit-clean\fR(1)
.RS 4
Remove untracked files from the working tree\&.
.RE
.PP
\fBgit-clone\fR(1)
.RS 4
Clone a repository into a new directory\&.
.RE
.PP
\fBgit-commit\fR(1)
.RS 4
Record changes to the repository\&.
.RE
.PP
\fBgit-describe\fR(1)
.RS 4
Give an object a human readable name based on an available ref\&.
.RE
.PP
\fBgit-diff\fR(1)
.RS 4
Show changes between commits, commit and working tree, etc\&.
.RE
.PP
\fBgit-fetch\fR(1)
.RS 4
Download objects and refs from another repository\&.
.RE
.PP
\fBgit-format-patch\fR(1)
.RS 4
Prepare patches for e\-mail submission\&.
.RE
.PP
\fBgit-gc\fR(1)
.RS 4
Cleanup unnecessary files and optimize the local repository\&.
.RE
.PP
\fBgit-grep\fR(1)
.RS 4
Print lines matching a pattern\&.
.RE
.PP
\fBgit-gui\fR(1)
.RS 4
A portable graphical interface to Git\&.
.RE
.PP
\fBgit-init\fR(1)
.RS 4
Create an empty Git repository or reinitialize an existing one\&.
.RE
.PP
\fBgit-log\fR(1)
.RS 4
Show commit logs\&.
.RE
.PP
\fBgit-merge\fR(1)
.RS 4
Join two or more development histories together\&.
.RE
.PP
\fBgit-mv\fR(1)
.RS 4
Move or rename a file, a directory, or a symlink\&.
.RE
.PP
\fBgit-notes\fR(1)
.RS 4
Add or inspect object notes\&.
.RE
.PP
\fBgit-pull\fR(1)
.RS 4
Fetch from and integrate with another repository or a local branch\&.
.RE
.PP
\fBgit-push\fR(1)
.RS 4
Update remote refs along with associated objects\&.
.RE
.PP
\fBgit-range-diff\fR(1)
.RS 4
Compare two commit ranges (e\&.g\&. two versions of a branch)\&.
.RE
.PP
\fBgit-rebase\fR(1)
.RS 4
Reapply commits on top of another base tip\&.
.RE
.PP
\fBgit-reset\fR(1)
.RS 4
Reset current HEAD to the specified state\&.
.RE
.PP
\fBgit-restore\fR(1)
.RS 4
Restore working tree files\&.
.RE
.PP
\fBgit-revert\fR(1)
.RS 4
Revert some existing commits\&.
.RE
.PP
\fBgit-rm\fR(1)
.RS 4
Remove files from the working tree and from the index\&.
.RE
.PP
\fBgit-shortlog\fR(1)
.RS 4
Summarize
\fIgit log\fR
output\&.
.RE
.PP
\fBgit-show\fR(1)
.RS 4
Show various types of objects\&.
.RE
.PP
\fBgit-sparse-checkout\fR(1)
.RS 4
Initialize and modify the sparse\-checkout\&.
.RE
.PP
\fBgit-stash\fR(1)
.RS 4
Stash the changes in a dirty working directory away\&.
.RE
.PP
\fBgit-status\fR(1)
.RS 4
Show the working tree status\&.
.RE
.PP
\fBgit-submodule\fR(1)
.RS 4
Initialize, update or inspect submodules\&.
.RE
.PP
\fBgit-switch\fR(1)
.RS 4
Switch branches\&.
.RE
.PP
\fBgit-tag\fR(1)
.RS 4
Create, list, delete or verify a tag object signed with GPG\&.
.RE
.PP
\fBgit-worktree\fR(1)
.RS 4
Manage multiple working trees\&.
.RE
.PP
\fBgitk\fR(1)
.RS 4
The Git repository browser\&.
.RE
.SS "Ancillary Commands"
.sp
Manipulators:
.PP
\fBgit-config\fR(1)
.RS 4
Get and set repository or global options\&.
.RE
.PP
\fBgit-fast-export\fR(1)
.RS 4
Git data exporter\&.
.RE
.PP
\fBgit-fast-import\fR(1)
.RS 4
Backend for fast Git data importers\&.
.RE
.PP
\fBgit-filter-branch\fR(1)
.RS 4
Rewrite branches\&.
.RE
.PP
\fBgit-mergetool\fR(1)
.RS 4
Run merge conflict resolution tools to resolve merge conflicts\&.
.RE
.PP
\fBgit-pack-refs\fR(1)
.RS 4
Pack heads and tags for efficient repository access\&.
.RE
.PP
\fBgit-prune\fR(1)
.RS 4
Prune all unreachable objects from the object database\&.
.RE
.PP
\fBgit-reflog\fR(1)
.RS 4
Manage reflog information\&.
.RE
.PP
\fBgit-remote\fR(1)
.RS 4
Manage set of tracked repositories\&.
.RE
.PP
\fBgit-repack\fR(1)
.RS 4
Pack unpacked objects in a repository\&.
.RE
.PP
\fBgit-replace\fR(1)
.RS 4
Create, list, delete refs to replace objects\&.
.RE
.sp
Interrogators:
.PP
\fBgit-annotate\fR(1)
.RS 4
Annotate file lines with commit information\&.
.RE
.PP
\fBgit-blame\fR(1)
.RS 4
Show what revision and author last modified each line of a file\&.
.RE
.PP
\fBgit-count-objects\fR(1)
.RS 4
Count unpacked number of objects and their disk consumption\&.
.RE
.PP
\fBgit-difftool\fR(1)
.RS 4
Show changes using common diff tools\&.
.RE
.PP
\fBgit-fsck\fR(1)
.RS 4
Verifies the connectivity and validity of the objects in the database\&.
.RE
.PP
\fBgit-help\fR(1)
.RS 4
Display help information about Git\&.
.RE
.PP
\fBgit-instaweb\fR(1)
.RS 4
Instantly browse your working repository in gitweb\&.
.RE
.PP
\fBgit-merge-tree\fR(1)
.RS 4
Show three\-way merge without touching index\&.
.RE
.PP
\fBgit-rerere\fR(1)
.RS 4
Reuse recorded resolution of conflicted merges\&.
.RE
.PP
\fBgit-show-branch\fR(1)
.RS 4
Show branches and their commits\&.
.RE
.PP
\fBgit-verify-commit\fR(1)
.RS 4
Check the GPG signature of commits\&.
.RE
.PP
\fBgit-verify-tag\fR(1)
.RS 4
Check the GPG signature of tags\&.
.RE
.PP
\fBgit-whatchanged\fR(1)
.RS 4
Show logs with difference each commit introduces\&.
.RE
.PP
\fBgitweb\fR(1)
.RS 4
Git web interface (web frontend to Git repositories)\&.
.RE
.SS "Interacting with Others"
.sp
These commands are to interact with foreign SCM and with other people via patch over e\-mail\&.
.PP
\fBgit-archimport\fR(1)
.RS 4
Import a GNU Arch repository into Git\&.
.RE
.PP
\fBgit-cvsexportcommit\fR(1)
.RS 4
Export a single commit to a CVS checkout\&.
.RE
.PP
\fBgit-cvsimport\fR(1)
.RS 4
Salvage your data out of another SCM people love to hate\&.
.RE
.PP
\fBgit-cvsserver\fR(1)
.RS 4
A CVS server emulator for Git\&.
.RE
.PP
\fBgit-imap-send\fR(1)
.RS 4
Send a collection of patches from stdin to an IMAP folder\&.
.RE
.PP
\fBgit-p4\fR(1)
.RS 4
Import from and submit to Perforce repositories\&.
.RE
.PP
\fBgit-quiltimport\fR(1)
.RS 4
Applies a quilt patchset onto the current branch\&.
.RE
.PP
\fBgit-request-pull\fR(1)
.RS 4
Generates a summary of pending changes\&.
.RE
.PP
\fBgit-send-email\fR(1)
.RS 4
Send a collection of patches as emails\&.
.RE
.PP
\fBgit-svn\fR(1)
.RS 4
Bidirectional operation between a Subversion repository and Git\&.
.RE
.SS "Reset, restore and revert"
.sp
There are three commands with similar names: \fBgit reset\fR, \fBgit restore\fR and \fBgit revert\fR\&.
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBgit-revert\fR(1)
is about making a new commit that reverts the changes made by other commits\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBgit-restore\fR(1)
is about restoring files in the working tree from either the index or another commit\&. This command does not update your branch\&. The command can also be used to restore files in the index from another commit\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBgit-reset\fR(1)
is about updating your branch, moving the tip in order to add or remove commits from the branch\&. This operation changes the commit history\&.
.sp
\fBgit reset\fR
can also be used to restore the index, overlapping with
\fBgit restore\fR\&.
.RE
.SH "LOW\-LEVEL COMMANDS (PLUMBING)"
.sp
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
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\&.
.sp
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\&.
.SS "Manipulation commands"
.PP
\fBgit-apply\fR(1)
.RS 4
Apply a patch to files and/or to the index\&.
.RE
.PP
\fBgit-checkout-index\fR(1)
.RS 4
Copy files from the index to the working tree\&.
.RE
.PP
\fBgit-commit-graph\fR(1)
.RS 4
Write and verify Git commit\-graph files\&.
.RE
.PP
\fBgit-commit-tree\fR(1)
.RS 4
Create a new commit object\&.
.RE
.PP
\fBgit-hash-object\fR(1)
.RS 4
Compute object ID and optionally creates a blob from a file\&.
.RE
.PP
\fBgit-index-pack\fR(1)
.RS 4
Build pack index file for an existing packed archive\&.
.RE
.PP
\fBgit-merge-file\fR(1)
.RS 4
Run a three\-way file merge\&.
.RE
.PP
\fBgit-merge-index\fR(1)
.RS 4
Run a merge for files needing merging\&.
.RE
.PP
\fBgit-mktag\fR(1)
.RS 4
Creates a tag object\&.
.RE
.PP
\fBgit-mktree\fR(1)
.RS 4
Build a tree\-object from ls\-tree formatted text\&.
.RE
.PP
\fBgit-multi-pack-index\fR(1)
.RS 4
Write and verify multi\-pack\-indexes\&.
.RE
.PP
\fBgit-pack-objects\fR(1)
.RS 4
Create a packed archive of objects\&.
.RE
.PP
\fBgit-prune-packed\fR(1)
.RS 4
Remove extra objects that are already in pack files\&.
.RE
.PP
\fBgit-read-tree\fR(1)
.RS 4
Reads tree information into the index\&.
.RE
.PP
\fBgit-symbolic-ref\fR(1)
.RS 4
Read, modify and delete symbolic refs\&.
.RE
.PP
\fBgit-unpack-objects\fR(1)
.RS 4
Unpack objects from a packed archive\&.
.RE
.PP
\fBgit-update-index\fR(1)
.RS 4
Register file contents in the working tree to the index\&.
.RE
.PP
\fBgit-update-ref\fR(1)
.RS 4
Update the object name stored in a ref safely\&.
.RE
.PP
\fBgit-write-tree\fR(1)
.RS 4
Create a tree object from the current index\&.
.RE
.SS "Interrogation commands"
.PP
\fBgit-cat-file\fR(1)
.RS 4
Provide content or type and size information for repository objects\&.
.RE
.PP
\fBgit-cherry\fR(1)
.RS 4
Find commits yet to be applied to upstream\&.
.RE
.PP
\fBgit-diff-files\fR(1)
.RS 4
Compares files in the working tree and the index\&.
.RE
.PP
\fBgit-diff-index\fR(1)
.RS 4
Compare a tree to the working tree or index\&.
.RE
.PP
\fBgit-diff-tree\fR(1)
.RS 4
Compares the content and mode of blobs found via two tree objects\&.
.RE
.PP
\fBgit-for-each-ref\fR(1)
.RS 4
Output information on each ref\&.
.RE
.PP
\fBgit-get-tar-commit-id\fR(1)
.RS 4
Extract commit ID from an archive created using git\-archive\&.
.RE
.PP
\fBgit-ls-files\fR(1)
.RS 4
Show information about files in the index and the working tree\&.
.RE
.PP
\fBgit-ls-remote\fR(1)
.RS 4
List references in a remote repository\&.
.RE
.PP
\fBgit-ls-tree\fR(1)
.RS 4
List the contents of a tree object\&.
.RE
.PP
\fBgit-merge-base\fR(1)
.RS 4
Find as good common ancestors as possible for a merge\&.
.RE
.PP
\fBgit-name-rev\fR(1)
.RS 4
Find symbolic names for given revs\&.
.RE
.PP
\fBgit-pack-redundant\fR(1)
.RS 4
Find redundant pack files\&.
.RE
.PP
\fBgit-rev-list\fR(1)
.RS 4
Lists commit objects in reverse chronological order\&.
.RE
.PP
\fBgit-rev-parse\fR(1)
.RS 4
Pick out and massage parameters\&.
.RE
.PP
\fBgit-show-index\fR(1)
.RS 4
Show packed archive index\&.
.RE
.PP
\fBgit-show-ref\fR(1)
.RS 4
List references in a local repository\&.
.RE
.PP
\fBgit-unpack-file\fR(1)
.RS 4
Creates a temporary file with a blob\(cqs contents\&.
.RE
.PP
\fBgit-var\fR(1)
.RS 4
Show a Git logical variable\&.
.RE
.PP
\fBgit-verify-pack\fR(1)
.RS 4
Validate packed Git archive files\&.
.RE
.sp
In general, the interrogate commands do not touch the files in the working tree\&.
.SS "Syncing repositories"
.PP
\fBgit-daemon\fR(1)
.RS 4
A really simple server for Git repositories\&.
.RE
.PP
\fBgit-fetch-pack\fR(1)
.RS 4
Receive missing objects from another repository\&.
.RE
.PP
\fBgit-http-backend\fR(1)
.RS 4
Server side implementation of Git over HTTP\&.
.RE
.PP
\fBgit-send-pack\fR(1)
.RS 4
Push objects over Git protocol to another repository\&.
.RE
.PP
\fBgit-update-server-info\fR(1)
.RS 4
Update auxiliary info file to help dumb servers\&.
.RE
.sp
The following are helper commands used by the above; end users typically do not use them directly\&.
.PP
\fBgit-http-fetch\fR(1)
.RS 4
Download from a remote Git repository via HTTP\&.
.RE
.PP
\fBgit-http-push\fR(1)
.RS 4
Push objects over HTTP/DAV to another repository\&.
.RE
.PP
\fBgit-parse-remote\fR(1)
.RS 4
Routines to help parsing remote repository access parameters\&.
.RE
.PP
\fBgit-receive-pack\fR(1)
.RS 4
Receive what is pushed into the repository\&.
.RE
.PP
\fBgit-shell\fR(1)
.RS 4
Restricted login shell for Git\-only SSH access\&.
.RE
.PP
\fBgit-upload-archive\fR(1)
.RS 4
Send archive back to git\-archive\&.
.RE
.PP
\fBgit-upload-pack\fR(1)
.RS 4
Send objects packed back to git\-fetch\-pack\&.
.RE
.SS "Internal helper commands"
.sp
These are internal helper commands used by other commands; end users typically do not use them directly\&.
.PP
\fBgit-check-attr\fR(1)
.RS 4
Display gitattributes information\&.
.RE
.PP
\fBgit-check-ignore\fR(1)
.RS 4
Debug gitignore / exclude files\&.
.RE
.PP
\fBgit-check-mailmap\fR(1)
.RS 4
Show canonical names and email addresses of contacts\&.
.RE
.PP
\fBgit-check-ref-format\fR(1)
.RS 4
Ensures that a reference name is well formed\&.
.RE
.PP
\fBgit-column\fR(1)
.RS 4
Display data in columns\&.
.RE
.PP
\fBgit-credential\fR(1)
.RS 4
Retrieve and store user credentials\&.
.RE
.PP
\fBgit-credential-cache\fR(1)
.RS 4
Helper to temporarily store passwords in memory\&.
.RE
.PP
\fBgit-credential-store\fR(1)
.RS 4
Helper to store credentials on disk\&.
.RE
.PP
\fBgit-fmt-merge-msg\fR(1)
.RS 4
Produce a merge commit message\&.
.RE
.PP
\fBgit-interpret-trailers\fR(1)
.RS 4
Add or parse structured information in commit messages\&.
.RE
.PP
\fBgit-mailinfo\fR(1)
.RS 4
Extracts patch and authorship from a single e\-mail message\&.
.RE
.PP
\fBgit-mailsplit\fR(1)
.RS 4
Simple UNIX mbox splitter program\&.
.RE
.PP
\fBgit-merge-one-file\fR(1)
.RS 4
The standard helper program to use with git\-merge\-index\&.
.RE
.PP
\fBgit-patch-id\fR(1)
.RS 4
Compute unique ID for a patch\&.
.RE
.PP
\fBgit-sh-i18n\fR(1)
.RS 4
Git\(cqs i18n setup code for shell scripts\&.
.RE
.PP
\fBgit-sh-setup\fR(1)
.RS 4
Common Git shell script setup code\&.
.RE
.PP
\fBgit-stripspace\fR(1)
.RS 4
Remove unnecessary whitespace\&.
.RE
.SH "CONFIGURATION MECHANISM"
.sp
Git uses a simple text format to store customizations that are per repository and are per user\&. Such a configuration file may look like this:
.sp
.if n \{\
.RS 4
.\}
.nf
#
# A \*(Aq#\*(Aq or \*(Aq;\*(Aq character indicates a comment\&.
#
; core variables
[core]
; Don\*(Aqt trust file modes
filemode = false
; user identity
[user]
name = "Junio C Hamano"
email = "gitster@pobox\&.com"
.fi
.if n \{\
.RE
.\}
.sp
.sp
Various commands read from the configuration file and adjust their operation accordingly\&. See \fBgit-config\fR(1) for a list and more details about the configuration mechanism\&.
.SH "IDENTIFIER TERMINOLOGY"
.PP