<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" | |
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> | |
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> | |
<head> | |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> | |
<meta name="generator" content="AsciiDoc 7.0.2" /> | |
<style type="text/css"> | |
/* Debug borders */ | |
p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 { | |
/* | |
border: 1px solid red; | |
*/ | |
} | |
body { | |
margin: 1em 5% 1em 5%; | |
} | |
a { color: blue; } | |
a:visited { color: fuchsia; } | |
em { | |
font-style: italic; | |
} | |
strong { | |
font-weight: bold; | |
} | |
tt { | |
color: navy; | |
} | |
h1, h2, h3, h4, h5, h6 { | |
color: #527bbd; | |
font-family: sans-serif; | |
margin-top: 1.2em; | |
margin-bottom: 0.5em; | |
line-height: 1.3; | |
} | |
h1 { | |
border-bottom: 2px solid silver; | |
} | |
h2 { | |
border-bottom: 2px solid silver; | |
padding-top: 0.5em; | |
} | |
div.sectionbody { | |
font-family: serif; | |
margin-left: 0; | |
} | |
hr { | |
border: 1px solid silver; | |
} | |
p { | |
margin-top: 0.5em; | |
margin-bottom: 0.5em; | |
} | |
pre { | |
padding: 0; | |
margin: 0; | |
} | |
span#author { | |
color: #527bbd; | |
font-family: sans-serif; | |
font-weight: bold; | |
font-size: 1.2em; | |
} | |
span#email { | |
} | |
span#revision { | |
font-family: sans-serif; | |
} | |
div#footer { | |
font-family: sans-serif; | |
font-size: small; | |
border-top: 2px solid silver; | |
padding-top: 0.5em; | |
margin-top: 4.0em; | |
} | |
div#footer-text { | |
float: left; | |
padding-bottom: 0.5em; | |
} | |
div#footer-badges { | |
float: right; | |
padding-bottom: 0.5em; | |
} | |
div#preamble, | |
div.tableblock, div.imageblock, div.exampleblock, div.verseblock, | |
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock, | |
div.admonitionblock { | |
margin-right: 10%; | |
margin-top: 1.5em; | |
margin-bottom: 1.5em; | |
} | |
div.admonitionblock { | |
margin-top: 2.5em; | |
margin-bottom: 2.5em; | |
} | |
div.content { /* Block element content. */ | |
padding: 0; | |
} | |
/* Block element titles. */ | |
div.title, caption.title { | |
font-family: sans-serif; | |
font-weight: bold; | |
text-align: left; | |
margin-top: 1.0em; | |
margin-bottom: 0.5em; | |
} | |
div.title + * { | |
margin-top: 0; | |
} | |
td div.title:first-child { | |
margin-top: 0.0em; | |
} | |
div.content div.title:first-child { | |
margin-top: 0.0em; | |
} | |
div.content + div.title { | |
margin-top: 0.0em; | |
} | |
div.sidebarblock > div.content { | |
background: #ffffee; | |
border: 1px solid silver; | |
padding: 0.5em; | |
} | |
div.listingblock > div.content { | |
border: 1px solid silver; | |
background: #f4f4f4; | |
padding: 0.5em; | |
} | |
div.quoteblock > div.content { | |
padding-left: 2.0em; | |
} | |
div.quoteblock .attribution { | |
text-align: right; | |
} | |
div.admonitionblock .icon { | |
vertical-align: top; | |
font-size: 1.1em; | |
font-weight: bold; | |
text-decoration: underline; | |
color: #527bbd; | |
padding-right: 0.5em; | |
} | |
div.admonitionblock td.content { | |
padding-left: 0.5em; | |
border-left: 2px solid silver; | |
} | |
div.exampleblock > div.content { | |
border-left: 2px solid silver; | |
padding: 0.5em; | |
} | |
div.verseblock div.content { | |
white-space: pre; | |
} | |
div.imageblock div.content { padding-left: 0; } | |
div.imageblock img { border: 1px solid silver; } | |
span.image img { border-style: none; } | |
dl { | |
margin-top: 0.8em; | |
margin-bottom: 0.8em; | |
} | |
dt { | |
margin-top: 0.5em; | |
margin-bottom: 0; | |
font-style: italic; | |
} | |
dd > *:first-child { | |
margin-top: 0; | |
} | |
ul, ol { | |
list-style-position: outside; | |
} | |
ol.olist2 { | |
list-style-type: lower-alpha; | |
} | |
div.tableblock > table { | |
border-color: #527bbd; | |
border-width: 3px; | |
} | |
thead { | |
font-family: sans-serif; | |
font-weight: bold; | |
} | |
tfoot { | |
font-weight: bold; | |
} | |
div.hlist { | |
margin-top: 0.8em; | |
margin-bottom: 0.8em; | |
} | |
td.hlist1 { | |
vertical-align: top; | |
font-style: italic; | |
padding-right: 0.8em; | |
} | |
td.hlist2 { | |
vertical-align: top; | |
} | |
@media print { | |
div#footer-badges { display: none; } | |
} | |
include::./stylesheets/xhtml11-manpage.css[] | |
/* Workarounds for IE6's broken and incomplete CSS2. */ | |
div.sidebar-content { | |
background: #ffffee; | |
border: 1px solid silver; | |
padding: 0.5em; | |
} | |
div.sidebar-title, div.image-title { | |
font-family: sans-serif; | |
font-weight: bold; | |
margin-top: 0.0em; | |
margin-bottom: 0.5em; | |
} | |
div.listingblock div.content { | |
border: 1px solid silver; | |
background: #f4f4f4; | |
padding: 0.5em; | |
} | |
div.quoteblock-content { | |
padding-left: 2.0em; | |
} | |
div.exampleblock-content { | |
border-left: 2px solid silver; | |
padding-left: 0.5em; | |
} | |
</style> | |
<title>git(7)</title> | |
</head> | |
<body> | |
<div id="header"> | |
<h1> | |
git(7) Manual Page | |
</h1> | |
<h2>NAME</h2> | |
<div class="sectionbody"> | |
<p>git - | |
the stupid content tracker | |
</p> | |
</div> | |
</div> | |
<h2>SYNOPSIS</h2> | |
<div class="sectionbody"> | |
<div class="verseblock"> | |
<div class="content"><em>git</em> [--version] [--exec-path[=GIT_EXEC_PATH]] | |
[-p|--paginate|--no-pager] | |
[--bare] [--git-dir=GIT_DIR] [--work-tree=GIT_WORK_TREE] | |
[--help] COMMAND [ARGS]</div></div> | |
</div> | |
<h2>DESCRIPTION</h2> | |
<div class="sectionbody"> | |
<p>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.</p> | |
<p>See this <a href="tutorial.html">tutorial</a> to get started, then see | |
<a href="everyday.html">Everyday Git</a> for a useful minimum set of commands, and | |
"man git-commandname" for documentation of each command. CVS users may | |
also want to read <a href="cvs-migration.html">CVS migration</a>. See | |
<a href="user-manual.html">Git User's Manual</a> for a more in-depth | |
introduction.</p> | |
<p>The COMMAND is either a name of a Git command (see below) or an alias | |
as defined in the configuration file (see <a href="git-config.html">git-config(1)</a>).</p> | |
<p>Formatted and hyperlinked version of the latest git | |
documentation can be viewed at | |
<tt>http://www.kernel.org/pub/software/scm/git/docs/</tt>.</p> | |
</div> | |
<h2>OPTIONS</h2> | |
<div class="sectionbody"> | |
<dl> | |
<dt> | |
--version | |
</dt> | |
<dd> | |
<p> | |
Prints the git suite version that the <em>git</em> program came from. | |
</p> | |
</dd> | |
<dt> | |
--help | |
</dt> | |
<dd> | |
<p> | |
Prints the synopsis and a list of the most commonly used | |
commands. If the option <em>--all</em> or <em>-a</em> 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. | |
</p> | |
<p>Other options are available to control how the manual page is | |
displayed. See <a href="git-help.html">git-help(1)</a> for more information, | |
because <em>git --help …</em> is converted internally into <em>git | |
help …</em>.</p> | |
</dd> | |
<dt> | |
--exec-path | |
</dt> | |
<dd> | |
<p> | |
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 <em>git</em> will print | |
the current setting and then exit. | |
</p> | |
</dd> | |
<dt> | |
-p|--paginate | |
</dt> | |
<dd> | |
<p> | |
Pipe all output into <em>less</em> (or if set, $PAGER). | |
</p> | |
</dd> | |
<dt> | |
--no-pager | |
</dt> | |
<dd> | |
<p> | |
Do not pipe git output into a pager. | |
</p> | |
</dd> | |
<dt> | |
--git-dir=<path> | |
</dt> | |
<dd> | |
<p> | |
Set the path to the repository. This can also be controlled by | |
setting the GIT_DIR environment variable. It can be an absolute | |
path or relative path to current working directory. | |
</p> | |
</dd> | |
<dt> | |
--work-tree=<path> | |
</dt> | |
<dd> | |
<p> | |
Set the path to the working tree. The value will not be | |
used in combination with repositories found automatically in | |
a .git directory (i.e. $GIT_DIR is not set). | |
This can also be controlled by setting the GIT_WORK_TREE | |
environment variable and the core.worktree configuration | |
variable. It can be an absolute path or relative path to | |
the directory specified by --git-dir or GIT_DIR. | |
Note: If --git-dir or GIT_DIR are specified but none of | |
--work-tree, GIT_WORK_TREE and core.worktree is specified, | |
the current working directory is regarded as the top directory | |
of your working tree. | |
</p> | |
</dd> | |
<dt> | |
--bare | |
</dt> | |
<dd> | |
<p> | |
Treat the repository as a bare repository. If GIT_DIR | |
environment is not set, it is set to the current working | |
directory. | |
</p> | |
</dd> | |
</dl> | |
</div> | |
<h2>FURTHER DOCUMENTATION</h2> | |
<div class="sectionbody"> | |
<p>See the references above to get started using git. The following is | |
probably more detail than necessary for a first-time user.</p> | |
<p>The <a href="user-manual.html#git-concepts">git concepts chapter of the | |
user-manual</a> and the <a href="core-tutorial.html">Core tutorial</a> both provide | |
introductions to the underlying git architecture.</p> | |
<p>See also the <a href="howto-index.html">howto</a> documents for some useful | |
examples.</p> | |
<p>The internals are documented <a href="technical/api-index.html">here</a>.</p> | |
</div> | |
<h2>GIT COMMANDS</h2> | |
<div class="sectionbody"> | |
<p>We divide git into high level ("porcelain") commands and low level | |
("plumbing") commands.</p> | |
</div> | |
<h2>High-level commands (porcelain)</h2> | |
<div class="sectionbody"> | |
<p>We separate the porcelain commands into the main commands and some | |
ancillary user utilities.</p> | |
<h3>Main porcelain commands</h3> | |
<dl> | |
<dt> | |
<a href="git-add.html">git-add(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Add file contents to the index. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-am.html">git-am(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Apply a series of patches from a mailbox. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-archive.html">git-archive(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Create an archive of files from a named tree. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-bisect.html">git-bisect(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Find the change that introduced a bug by binary search. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-branch.html">git-branch(1)</a> | |
</dt> | |
<dd> | |
<p> | |
List, create, or delete branches. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-bundle.html">git-bundle(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Move objects and refs by archive. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-checkout.html">git-checkout(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Checkout a branch or paths to the working tree. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-cherry-pick.html">git-cherry-pick(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Apply the change introduced by an existing commit. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-citool.html">git-citool(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Graphical alternative to git-commit. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-clean.html">git-clean(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Remove untracked files from the working tree. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-clone.html">git-clone(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Clone a repository into a new directory. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-commit.html">git-commit(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Record changes to the repository. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-describe.html">git-describe(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Show the most recent tag that is reachable from a commit. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-diff.html">git-diff(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Show changes between commits, commit and working tree, etc. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-fetch.html">git-fetch(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Download objects and refs from another repository. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-format-patch.html">git-format-patch(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Prepare patches for e-mail submission. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-gc.html">git-gc(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Cleanup unnecessary files and optimize the local repository. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-grep.html">git-grep(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Print lines matching a pattern. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-gui.html">git-gui(1)</a> | |
</dt> | |
<dd> | |
<p> | |
A portable graphical interface to Git. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-init.html">git-init(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Create an empty git repository or reinitialize an existing one. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-log.html">git-log(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Show commit logs. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-merge.html">git-merge(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Join two or more development histories together. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-mv.html">git-mv(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Move or rename a file, a directory, or a symlink. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-pull.html">git-pull(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Fetch from and merge with another repository or a local branch. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-push.html">git-push(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Update remote refs along with associated objects. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-rebase.html">git-rebase(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Forward-port local commits to the updated upstream head. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-reset.html">git-reset(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Reset current HEAD to the specified state. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-revert.html">git-revert(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Revert an existing commit. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-rm.html">git-rm(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Remove files from the working tree and from the index. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-shortlog.html">git-shortlog(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Summarize <em>git log</em> output. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-show.html">git-show(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Show various types of objects. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-stash.html">git-stash(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Stash the changes in a dirty working directory away. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-status.html">git-status(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Show the working tree status. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-submodule.html">git-submodule(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Initialize, update or inspect submodules. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-tag.html">git-tag(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Create, list, delete or verify a tag object signed with GPG. | |
</p> | |
</dd> | |
<dt> | |
<a href="gitk.html">gitk(1)</a> | |
</dt> | |
<dd> | |
<p> | |
The git repository browser. | |
</p> | |
</dd> | |
</dl> | |
<h3>Ancillary Commands</h3> | |
<p>Manipulators:</p> | |
<dl> | |
<dt> | |
<a href="git-config.html">git-config(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Get and set repository or global options. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-fast-export.html">git-fast-export(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Git data exporter. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-fast-import.html">git-fast-import(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Backend for fast Git data importers. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-filter-branch.html">git-filter-branch(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Rewrite branches. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-lost-found.html">git-lost-found(1)</a> | |
</dt> | |
<dd> | |
<p> | |
(deprecated) Recover lost refs that luckily have not yet been pruned. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-mergetool.html">git-mergetool(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Run merge conflict resolution tools to resolve merge conflicts. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-pack-refs.html">git-pack-refs(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Pack heads and tags for efficient repository access. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-prune.html">git-prune(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Prune all unreachable objects from the object database. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-reflog.html">git-reflog(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Manage reflog information. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-relink.html">git-relink(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Hardlink common objects in local repositories. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-remote.html">git-remote(1)</a> | |
</dt> | |
<dd> | |
<p> | |
manage set of tracked repositories. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-repack.html">git-repack(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Pack unpacked objects in a repository. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-repo-config.html">git-repo-config(1)</a> | |
</dt> | |
<dd> | |
<p> | |
(deprecated) Get and set repository or global options. | |
</p> | |
</dd> | |
</dl> | |
<p>Interrogators:</p> | |
<dl> | |
<dt> | |
<a href="git-annotate.html">git-annotate(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Annotate file lines with commit info. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-blame.html">git-blame(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Show what revision and author last modified each line of a file. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-cherry.html">git-cherry(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Find commits not merged upstream. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-count-objects.html">git-count-objects(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Count unpacked number of objects and their disk consumption. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-fsck.html">git-fsck(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Verifies the connectivity and validity of the objects in the database. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-get-tar-commit-id.html">git-get-tar-commit-id(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Extract commit ID from an archive created using git-archive. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-help.html">git-help(1)</a> | |
</dt> | |
<dd> | |
<p> | |
display help information about git. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-instaweb.html">git-instaweb(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Instantly browse your working repository in gitweb. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-merge-tree.html">git-merge-tree(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Show three-way merge without touching index. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-rerere.html">git-rerere(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Reuse recorded resolution of conflicted merges. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-rev-parse.html">git-rev-parse(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Pick out and massage parameters. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-show-branch.html">git-show-branch(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Show branches and their commits. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-verify-tag.html">git-verify-tag(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Check the GPG signature of tags. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-whatchanged.html">git-whatchanged(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Show logs with difference each commit introduces. | |
</p> | |
</dd> | |
</dl> | |
<h3>Interacting with Others</h3> | |
<p>These commands are to interact with foreign SCM and with other | |
people via patch over e-mail.</p> | |
<dl> | |
<dt> | |
<a href="git-archimport.html">git-archimport(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Import an Arch repository into git. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-cvsexportcommit.html">git-cvsexportcommit(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Export a single commit to a CVS checkout. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-cvsimport.html">git-cvsimport(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Salvage your data out of another SCM people love to hate. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-cvsserver.html">git-cvsserver(1)</a> | |
</dt> | |
<dd> | |
<p> | |
A CVS server emulator for git. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-imap-send.html">git-imap-send(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Dump a mailbox from stdin into an imap folder. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-quiltimport.html">git-quiltimport(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Applies a quilt patchset onto the current branch. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-request-pull.html">git-request-pull(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Generates a summary of pending changes. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-send-email.html">git-send-email(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Send a collection of patches as emails. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-svn.html">git-svn(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Bidirectional operation between a single Subversion branch and git. | |
</p> | |
</dd> | |
</dl> | |
</div> | |
<h2>Low-level commands (plumbing)</h2> | |
<div class="sectionbody"> | |
<p>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 <a href="git-update-index.html">git-update-index(1)</a> and | |
<a href="git-read-tree.html">git-read-tree(1)</a>.</p> | |
<p>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.</p> | |
<p>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.</p> | |
<h3>Manipulation commands</h3> | |
<dl> | |
<dt> | |
<a href="git-apply.html">git-apply(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Apply a patch on a git index file and a working tree. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-checkout-index.html">git-checkout-index(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Copy files from the index to the working tree. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-commit-tree.html">git-commit-tree(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Create a new commit object. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-hash-object.html">git-hash-object(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Compute object ID and optionally creates a blob from a file. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-index-pack.html">git-index-pack(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Build pack index file for an existing packed archive. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-merge-file.html">git-merge-file(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Run a three-way file merge. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-merge-index.html">git-merge-index(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Run a merge for files needing merging. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-mktag.html">git-mktag(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Creates a tag object. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-mktree.html">git-mktree(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Build a tree-object from ls-tree formatted text. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-pack-objects.html">git-pack-objects(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Create a packed archive of objects. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-prune-packed.html">git-prune-packed(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Remove extra objects that are already in pack files. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-read-tree.html">git-read-tree(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Reads tree information into the index. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-symbolic-ref.html">git-symbolic-ref(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Read and modify symbolic refs. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-unpack-objects.html">git-unpack-objects(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Unpack objects from a packed archive. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-update-index.html">git-update-index(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Register file contents in the working tree to the index. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-update-ref.html">git-update-ref(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Update the object name stored in a ref safely. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-write-tree.html">git-write-tree(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Create a tree object from the current index. | |
</p> | |
</dd> | |
</dl> | |
<h3>Interrogation commands</h3> | |
<dl> | |
<dt> | |
<a href="git-cat-file.html">git-cat-file(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Provide content or type/size information for repository objects. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-diff-files.html">git-diff-files(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Compares files in the working tree and the index. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-diff-index.html">git-diff-index(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Compares content and mode of blobs between the index and repository. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-diff-tree.html">git-diff-tree(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Compares the content and mode of blobs found via two tree objects. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-for-each-ref.html">git-for-each-ref(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Output information on each ref. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-ls-files.html">git-ls-files(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Show information about files in the index and the working tree. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-ls-remote.html">git-ls-remote(1)</a> | |
</dt> | |
<dd> | |
<p> | |
List references in a remote repository. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-ls-tree.html">git-ls-tree(1)</a> | |
</dt> | |
<dd> | |
<p> | |
List the contents of a tree object. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-merge-base.html">git-merge-base(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Find as good common ancestors as possible for a merge. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-name-rev.html">git-name-rev(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Find symbolic names for given revs. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-pack-redundant.html">git-pack-redundant(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Find redundant pack files. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-rev-list.html">git-rev-list(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Lists commit objects in reverse chronological order. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-show-index.html">git-show-index(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Show packed archive index. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-show-ref.html">git-show-ref(1)</a> | |
</dt> | |
<dd> | |
<p> | |
List references in a local repository. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-tar-tree.html">git-tar-tree(1)</a> | |
</dt> | |
<dd> | |
<p> | |
(deprecated) Create a tar archive of the files in the named tree object. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-unpack-file.html">git-unpack-file(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Creates a temporary file with a blob's contents. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-var.html">git-var(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Show a git logical variable. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-verify-pack.html">git-verify-pack(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Validate packed git archive files. | |
</p> | |
</dd> | |
</dl> | |
<p>In general, the interrogate commands do not touch the files in | |
the working tree.</p> | |
<h3>Synching repositories</h3> | |
<dl> | |
<dt> | |
<a href="git-daemon.html">git-daemon(1)</a> | |
</dt> | |
<dd> | |
<p> | |
A really simple server for git repositories. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-fetch-pack.html">git-fetch-pack(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Receive missing objects from another repository. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-send-pack.html">git-send-pack(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Push objects over git protocol to another repository. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-update-server-info.html">git-update-server-info(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Update auxiliary info file to help dumb servers. | |
</p> | |
</dd> | |
</dl> | |
<p>The following are helper programs used by the above; end users | |
typically do not use them directly.</p> | |
<dl> | |
<dt> | |
<a href="git-http-fetch.html">git-http-fetch(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Download from a remote git repository via HTTP. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-http-push.html">git-http-push(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Push objects over HTTP/DAV to another repository. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-parse-remote.html">git-parse-remote(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Routines to help parsing remote repository access parameters. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-receive-pack.html">git-receive-pack(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Receive what is pushed into the repository. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-shell.html">git-shell(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Restricted login shell for GIT-only SSH access. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-upload-archive.html">git-upload-archive(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Send archive back to git-archive. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-upload-pack.html">git-upload-pack(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Send objects packed back to git-fetch-pack. | |
</p> | |
</dd> | |
</dl> | |
<h3>Internal helper commands</h3> | |
<p>These are internal helper commands used by other commands; end | |
users typically do not use them directly.</p> | |
<dl> | |
<dt> | |
<a href="git-check-attr.html">git-check-attr(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Display gitattributes information.. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-check-ref-format.html">git-check-ref-format(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Make sure ref name is well formed. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-fmt-merge-msg.html">git-fmt-merge-msg(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Produce a merge commit message. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-mailinfo.html">git-mailinfo(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Extracts patch and authorship from a single e-mail message. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-mailsplit.html">git-mailsplit(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Simple UNIX mbox splitter program. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-merge-one-file.html">git-merge-one-file(1)</a> | |
</dt> | |
<dd> | |
<p> | |
The standard helper program to use with git-merge-index. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-patch-id.html">git-patch-id(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Compute unique ID for a patch. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-peek-remote.html">git-peek-remote(1)</a> | |
</dt> | |
<dd> | |
<p> | |
(deprecated) List the references in a remote repository. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-sh-setup.html">git-sh-setup(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Common git shell script setup code. | |
</p> | |
</dd> | |
<dt> | |
<a href="git-stripspace.html">git-stripspace(1)</a> | |
</dt> | |
<dd> | |
<p> | |
Filter out empty lines. | |
</p> | |
</dd> | |
</dl> | |
</div> | |
<h2>Configuration Mechanism</h2> | |
<div class="sectionbody"> | |
<p>Starting from 0.99.9 (actually mid 0.99.8.GIT), <tt>.git/config</tt> file | |
is used to hold per-repository configuration options. It is a | |
simple text file modeled after <tt>.ini</tt> format familiar to some | |
people. Here is an example:</p> | |
<div class="listingblock"> | |
<div class="content"> | |
<pre><tt># | |
# A '#' or ';' character indicates a comment. | |
# | |
; core variables | |
[core] | |
; Don't trust file modes | |
filemode = false | |
; user identity | |
[user] | |
name = "Junio C Hamano" | |
email = "junkio@twinsun.com" | |
</tt></pre> | |
</div></div> | |
<p>Various commands read from the configuration file and adjust | |
their operation accordingly.</p> | |
</div> | |
<h2>Identifier Terminology</h2> | |
<div class="sectionbody"> | |
<dl> | |
<dt> | |
<object> | |
</dt> | |
<dd> | |
<p> | |
Indicates the object name for any type of object. | |
</p> | |
</dd> | |
<dt> | |
<blob> | |
</dt> | |
<dd> | |
<p> | |
Indicates a blob object name. | |
</p> | |
</dd> | |
<dt> | |
<tree> | |
</dt> | |
<dd> | |
<p> | |
Indicates a tree object name. | |
</p> | |
</dd> | |
<dt> | |
<commit> | |
</dt> | |
<dd> | |
<p> | |
Indicates a commit object name. | |
</p> | |
</dd> | |
<dt> | |
<tree-ish> | |
</dt> | |
<dd> | |
<p> | |
Indicates a tree, commit or tag object name. A | |
command that takes a <tree-ish> argument ultimately wants to | |
operate on a <tree> object but automatically dereferences | |
<commit> and <tag> objects that point at a <tree>. | |
</p> | |
</dd> | |
<dt> | |
<commit-ish> | |
</dt> | |
<dd> | |
<p> | |
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>. | |
</p> | |
</dd> | |
<dt> | |
<type> | |
</dt> | |
<dd> | |
<p> | |
Indicates that an object type is required. | |
Currently one of: <tt>blob</tt>, <tt>tree</tt>, <tt>commit</tt>, or <tt>tag</tt>. | |
</p> | |
</dd> | |
<dt> | |
<file> | |
</dt> | |
<dd> | |
<p> | |
Indicates a filename - almost always relative to the | |
root of the tree structure <tt>GIT_INDEX_FILE</tt> describes. | |
</p> | |
</dd> | |
</dl> | |
</div> | |
<h2>Symbolic Identifiers</h2> | |
<div class="sectionbody"> | |
<p>Any git command accepting any <object> can also use the following | |
symbolic notation:</p> | |
<dl> | |
<dt> | |
HEAD | |
</dt> | |
<dd> | |
<p> | |
indicates the head of the current branch (i.e. the | |
contents of <tt>$GIT_DIR/HEAD</tt>). | |
</p> | |
</dd> | |
<dt> | |
<tag> | |
</dt> | |
<dd> | |
<p> | |
a valid tag <em>name</em> | |
(i.e. the contents of <tt>$GIT_DIR/refs/tags/<tag></tt>). | |
</p> | |
</dd> | |
<dt> | |
<head> | |
</dt> | |
<dd> | |
<p> | |
a valid head <em>name</em> | |
(i.e. the contents of <tt>$GIT_DIR/refs/heads/<head></tt>). | |
</p> | |
</dd> | |
</dl> | |
<p>For a more complete list of ways to spell object names, see | |
"SPECIFYING REVISIONS" section in <a href="git-rev-parse.html">git-rev-parse(1)</a>.</p> | |
</div> | |
<h2>File/Directory Structure</h2> | |
<div class="sectionbody"> | |
<p>Please see the <a href="repository-layout.html">repository layout</a> document.</p> | |
<p>Read <a href="githooks.html">githooks(5)</a>[hooks] for more details about each hook.</p> | |
<p>Higher level SCMs may provide and manage additional information in the | |
<tt>$GIT_DIR</tt>.</p> | |
</div> | |
<h2>Terminology</h2> | |
<div class="sectionbody"> | |
<p>Please see the <a href="glossary.html">glossary</a> document.</p> | |
</div> | |
<h2>Environment Variables</h2> | |
<div class="sectionbody"> | |
<p>Various git commands use the following environment variables:</p> | |
<h3>The git Repository</h3> | |
<p>These environment variables apply to <em>all</em> core git commands. Nb: it | |
is worth noting that they may be used/overridden by SCMS sitting above | |
git so take care if using Cogito etc.</p> | |
<dl> | |
<dt> | |
<em>GIT_INDEX_FILE</em> | |
</dt> | |
<dd> | |
<p> | |
This environment allows the specification of an alternate | |
index file. If not specified, the default of <tt>$GIT_DIR/index</tt> | |
is used. | |
</p> | |
</dd> | |
<dt> | |
<em>GIT_OBJECT_DIRECTORY</em> | |
</dt> | |
<dd> | |
<p> | |
If the object storage directory is specified via this | |
environment variable then the sha1 directories are created | |
underneath - otherwise the default <tt>$GIT_DIR/objects</tt> | |
directory is used. | |
</p> | |
</dd> | |
<dt> | |
<em>GIT_ALTERNATE_OBJECT_DIRECTORIES</em> | |
</dt> | |
<dd> | |
<p> | |
Due to the immutable nature of git objects, old objects can be | |
archived into shared, read-only directories. This variable | |
specifies a ":" separated list of git object directories which | |
can be used to search for git objects. New objects will not be | |
written to these directories. | |
</p> | |
</dd> | |
<dt> | |
<em>GIT_DIR</em> | |
</dt> | |
<dd> | |
<p> | |
If the <em>GIT_DIR</em> environment variable is set then it | |
specifies a path to use instead of the default <tt>.git</tt> | |
for the base of the repository. | |
</p> | |
</dd> | |
<dt> | |
<em>GIT_WORK_TREE</em> | |
</dt> | |
<dd> | |
<p> | |
Set the path to the working tree. The value will not be | |
used in combination with repositories found automatically in | |
a .git directory (i.e. $GIT_DIR is not set). | |
This can also be controlled by the <em>--work-tree</em> command line | |
option and the core.worktree configuration variable. | |
</p> | |
</dd> | |
</dl> | |
<h3>git Commits</h3> | |
<dl> | |
<dt> | |
<em>GIT_AUTHOR_NAME</em> | |
</dt> | |
<dt> | |
<em>GIT_AUTHOR_EMAIL</em> | |
</dt> | |
<dt> | |
<em>GIT_AUTHOR_DATE</em> | |
</dt> | |
<dt> | |
<em>GIT_COMMITTER_NAME</em> | |
</dt> | |
<dt> | |
<em>GIT_COMMITTER_EMAIL</em> | |
</dt> | |
<dt> | |
<em>GIT_COMMITTER_DATE</em> | |
</dt> | |
<dt> | |
<em>EMAIL</em> | |
</dt> | |
<dd> | |
<p> | |
see <a href="git-commit-tree.html">git-commit-tree(1)</a> | |
</p> | |
</dd> | |
</dl> | |
<h3>git Diffs</h3> | |
<dl> | |
<dt> | |
<em>GIT_DIFF_OPTS</em> | |
</dt> | |
<dd> | |
<p> | |
Only valid setting is "--unified=??" or "-u??" to set the | |
number of context lines shown when a unified diff is created. | |
This takes precedence over any "-U" or "--unified" option | |
value passed on the git diff command line. | |
</p> | |
</dd> | |
<dt> | |
<em>GIT_EXTERNAL_DIFF</em> | |
</dt> | |
<dd> | |
<p> | |
When the environment variable <em>GIT_EXTERNAL_DIFF</em> is set, the | |
program named by it is called, instead of the diff invocation | |
described above. For a path that is added, removed, or modified, | |
<em>GIT_EXTERNAL_DIFF</em> is called with 7 parameters: | |
</p> | |
<div class="literalblock"> | |
<div class="content"> | |
<pre><tt>path old-file old-hex old-mode new-file new-hex new-mode</tt></pre> | |
</div></div> | |
<p>where:</p> | |
<div class="hlist"><table> | |
<tr> | |
<td class="hlist1"> | |
<old|new>-file | |
</td> | |
<td class="hlist2"> | |
are files GIT_EXTERNAL_DIFF can use to read the | |
contents of <old|new>, | |
</td> | |
</tr> | |
<tr> | |
<td class="hlist1"> | |
<old|new>-hex | |
</td> | |
<td class="hlist2"> | |
are the 40-hexdigit SHA1 hashes, | |
</td> | |
</tr> | |
<tr> | |
<td class="hlist1"> | |
<old|new>-mode | |
</td> | |
<td class="hlist2"> | |
are the octal representation of the file modes. | |
</td> | |
</tr> | |
</table></div> | |
<p>The file parameters can point at the user's working file | |
(e.g. <tt>new-file</tt> in "git-diff-files"), <tt>/dev/null</tt> (e.g. <tt>old-file</tt> | |
when a new file is added), or a temporary file (e.g. <tt>old-file</tt> in the | |
index). <em>GIT_EXTERNAL_DIFF</em> should not worry about unlinking the | |
temporary file --- it is removed when <em>GIT_EXTERNAL_DIFF</em> exits.</p> | |
<p>For a path that is unmerged, <em>GIT_EXTERNAL_DIFF</em> is called with 1 | |
parameter, <path>.</p> | |
</dd> | |
</dl> | |
<h3>other</h3> | |
<dl> | |
<dt> | |
<em>GIT_MERGE_VERBOSITY</em> | |
</dt> | |
<dd> | |
<p> | |
A number controlling the amount of output shown by | |
the recursive merge strategy. Overrides merge.verbosity. | |
See <a href="git-merge.html">git-merge(1)</a> | |
</p> | |
</dd> | |
<dt> | |
<em>GIT_PAGER</em> | |
</dt> | |
<dd> | |
<p> | |
This environment variable overrides <tt>$PAGER</tt>. If it is set | |
to an empty string or to the value "cat", git will not launch | |
a pager. | |
</p> | |
</dd> | |
<dt> | |
<em>GIT_SSH</em> | |
</dt> | |
<dd> | |
<p> | |
If this environment variable is set then <a href="git-fetch.html">git-fetch(1)</a> | |
and <a href="git-push.html">git-push(1)</a> will use this command instead | |
of <tt>ssh</tt> when they need to connect to a remote system. | |
The <em>GIT_SSH</em> command will be given exactly two arguments: | |
the <em>username@host</em> (or just <em>host</em>) from the URL and the | |
shell command to execute on that remote system. | |
</p> | |
<p>To pass options to the program that you want to list in GIT_SSH | |
you will need to wrap the program and options into a shell script, | |
then set GIT_SSH to refer to the shell script.</p> | |
<p>Usually it is easier to configure any desired options through your | |
personal <tt>.ssh/config</tt> file. Please consult your ssh documentation | |
for further details.</p> | |
</dd> | |
<dt> | |
<em>GIT_FLUSH</em> | |
</dt> | |
<dd> | |
<p> | |
If this environment variable is set to "1", then commands such | |
as git-blame (in incremental mode), git-rev-list, git-log, | |
git-whatchanged, etc., will force a flush of the output stream | |
after each commit-oriented record have been flushed. If this | |
variable is set to "0", the output of these commands will be done | |
using completely buffered I/O. If this environment variable is | |
not set, git will choose buffered or record-oriented flushing | |
based on whether stdout appears to be redirected to a file or not. | |
</p> | |
</dd> | |
<dt> | |
<em>GIT_TRACE</em> | |
</dt> | |
<dd> | |
<p> | |
If this variable is set to "1", "2" or "true" (comparison | |
is case insensitive), git will print <tt>trace:</tt> messages on | |
stderr telling about alias expansion, built-in command | |
execution and external command execution. | |
If this variable is set to an integer value greater than 1 | |
and lower than 10 (strictly) then git will interpret this | |
value as an open file descriptor and will try to write the | |
trace messages into this file descriptor. | |
Alternatively, if this variable is set to an absolute path | |
(starting with a <em>/</em> character), git will interpret this | |
as a file path and will try to write the trace messages | |
into it. | |
</p> | |
</dd> | |
</dl> | |
</div> | |
<h2>Discussion<a id="Discussion"></a></h2> | |
<div class="sectionbody"> | |
<p>More detail on the following is available from the | |
<a href="user-manual.html#git-concepts">git concepts chapter of the | |
user-manual</a> and the <a href="core-tutorial.html">Core tutorial</a>.</p> | |
<p>A git project normally consists of a working directory with a ".git" | |
subdirectory at the top level. The .git directory contains, among other | |
things, a compressed object database representing the complete history | |
of the project, an "index" file which links that history to the current | |
contents of the working tree, and named pointers into that history such | |
as tags and branch heads.</p> | |
<p>The object database contains objects of three main types: blobs, which | |
hold file data; trees, which point to blobs and other trees to build up | |
directory hierarchies; and commits, which each reference a single tree | |
and some number of parent commits.</p> | |
<p>The commit, equivalent to what other systems call a "changeset" or | |
"version", represents a step in the project's history, and each parent | |
represents an immediately preceding step. Commits with more than one | |
parent represent merges of independent lines of development.</p> | |
<p>All objects are named by the SHA1 hash of their contents, normally | |
written as a string of 40 hex digits. Such names are globally unique. | |
The entire history leading up to a commit can be vouched for by signing | |
just that commit. A fourth object type, the tag, is provided for this | |
purpose.</p> | |
<p>When first created, objects are stored in individual files, but for | |
efficiency may later be compressed together into "pack files".</p> | |
<p>Named pointers called refs mark interesting points in history. A ref | |
may contain the SHA1 name of an object or the name of another ref. Refs | |
with names beginning <tt>ref/head/</tt> contain the SHA1 name of the most | |
recent commit (or "head") of a branch under development. SHA1 names of | |
tags of interest are stored under <tt>ref/tags/</tt>. A special ref named | |
<tt>HEAD</tt> contains the name of the currently checked-out branch.</p> | |
<p>The index file is initialized with a list of all paths and, for each | |
path, a blob object and a set of attributes. The blob object represents | |
the contents of the file as of the head of the current branch. The | |
attributes (last modified time, size, etc.) are taken from the | |
corresponding file in the working tree. Subsequent changes to the | |
working tree can be found by comparing these attributes. The index may | |
be updated with new content, and new commits may be created from the | |
content stored in the index.</p> | |
<p>The index is also capable of storing multiple entries (called "stages") | |
for a given pathname. These stages are used to hold the various | |
unmerged version of a file when a merge is in progress.</p> | |
</div> | |
<h2>Authors</h2> | |
<div class="sectionbody"> | |
<ul> | |
<li> | |
<p> | |
git's founding father is Linus Torvalds <torvalds@osdl.org>. | |
</p> | |
</li> | |
<li> | |
<p> | |
The current git nurse is Junio C Hamano <gitster@pobox.com>. | |
</p> | |
</li> | |
<li> | |
<p> | |
The git potty was written by Andreas Ericsson <ae@op5.se>. | |
</p> | |
</li> | |
<li> | |
<p> | |
General upbringing is handled by the git-list <git@vger.kernel.org>. | |
</p> | |
</li> | |
</ul> | |
</div> | |
<h2>Documentation</h2> | |
<div class="sectionbody"> | |
<p>The documentation for git suite was started by David Greaves | |
<david@dgreaves.com>, and later enhanced greatly by the | |
contributors on the git-list <git@vger.kernel.org>.</p> | |
</div> | |
<h2>GIT</h2> | |
<div class="sectionbody"> | |
<p>Part of the <a href="git.html">git(7)</a> suite</p> | |
</div> | |
<div id="footer"> | |
<div id="footer-text"> | |
Last updated 14-May-2008 22:24:43 UTC | |
</div> | |
</div> | |
</body> | |
</html> |