blob: 53a20c73bbfbdb650c12c7805c20c5c8a9a0ab6a [file] [log] [blame]
Junio C Hamano1a4e8412005-12-27 08:17:231<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
4<head>
5<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Junio C Hamanoba4b9282008-07-06 05:20:316<meta name="generator" content="AsciiDoc 8.2.5" />
Junio C Hamano1a4e8412005-12-27 08:17:237<style type="text/css">
8/* Debug borders */
9p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
10/*
11 border: 1px solid red;
12*/
13}
14
15body {
16 margin: 1em 5% 1em 5%;
17}
18
Junio C Hamanoba4b9282008-07-06 05:20:3119a {
20 color: blue;
21 text-decoration: underline;
22}
23a:visited {
24 color: fuchsia;
25}
Junio C Hamano1a4e8412005-12-27 08:17:2326
27em {
28 font-style: italic;
29}
30
31strong {
32 font-weight: bold;
33}
34
35tt {
36 color: navy;
37}
38
39h1, h2, h3, h4, h5, h6 {
40 color: #527bbd;
41 font-family: sans-serif;
42 margin-top: 1.2em;
43 margin-bottom: 0.5em;
44 line-height: 1.3;
45}
46
Junio C Hamanoba4b9282008-07-06 05:20:3147h1, h2, h3 {
Junio C Hamano1a4e8412005-12-27 08:17:2348 border-bottom: 2px solid silver;
49}
50h2 {
Junio C Hamano1a4e8412005-12-27 08:17:2351 padding-top: 0.5em;
52}
Junio C Hamanoba4b9282008-07-06 05:20:3153h3 {
54 float: left;
55}
56h3 + * {
57 clear: left;
58}
Junio C Hamano1a4e8412005-12-27 08:17:2359
60div.sectionbody {
61 font-family: serif;
62 margin-left: 0;
63}
64
65hr {
66 border: 1px solid silver;
67}
68
69p {
70 margin-top: 0.5em;
71 margin-bottom: 0.5em;
72}
73
74pre {
75 padding: 0;
76 margin: 0;
77}
78
79span#author {
80 color: #527bbd;
81 font-family: sans-serif;
82 font-weight: bold;
Junio C Hamanoba4b9282008-07-06 05:20:3183 font-size: 1.1em;
Junio C Hamano1a4e8412005-12-27 08:17:2384}
85span#email {
86}
87span#revision {
88 font-family: sans-serif;
89}
90
91div#footer {
92 font-family: sans-serif;
93 font-size: small;
94 border-top: 2px solid silver;
95 padding-top: 0.5em;
96 margin-top: 4.0em;
97}
98div#footer-text {
99 float: left;
100 padding-bottom: 0.5em;
101}
102div#footer-badges {
103 float: right;
104 padding-bottom: 0.5em;
105}
106
107div#preamble,
108div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
109div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
110div.admonitionblock {
111 margin-right: 10%;
112 margin-top: 1.5em;
113 margin-bottom: 1.5em;
114}
115div.admonitionblock {
116 margin-top: 2.5em;
117 margin-bottom: 2.5em;
118}
119
120div.content { /* Block element content. */
121 padding: 0;
122}
123
124/* Block element titles. */
125div.title, caption.title {
126 font-family: sans-serif;
127 font-weight: bold;
128 text-align: left;
129 margin-top: 1.0em;
130 margin-bottom: 0.5em;
131}
132div.title + * {
133 margin-top: 0;
134}
135
136td div.title:first-child {
137 margin-top: 0.0em;
138}
139div.content div.title:first-child {
140 margin-top: 0.0em;
141}
142div.content + div.title {
143 margin-top: 0.0em;
144}
145
146div.sidebarblock > div.content {
147 background: #ffffee;
148 border: 1px solid silver;
149 padding: 0.5em;
150}
151
Junio C Hamanoba4b9282008-07-06 05:20:31152div.listingblock {
153 margin-right: 0%;
154}
Junio C Hamano1a4e8412005-12-27 08:17:23155div.listingblock > div.content {
156 border: 1px solid silver;
157 background: #f4f4f4;
158 padding: 0.5em;
159}
160
161div.quoteblock > div.content {
162 padding-left: 2.0em;
163}
Junio C Hamanoba4b9282008-07-06 05:20:31164
165div.attribution {
Junio C Hamano1a4e8412005-12-27 08:17:23166 text-align: right;
167}
Junio C Hamanoba4b9282008-07-06 05:20:31168div.verseblock + div.attribution {
169 text-align: left;
170}
Junio C Hamano1a4e8412005-12-27 08:17:23171
172div.admonitionblock .icon {
173 vertical-align: top;
174 font-size: 1.1em;
175 font-weight: bold;
176 text-decoration: underline;
177 color: #527bbd;
178 padding-right: 0.5em;
179}
180div.admonitionblock td.content {
181 padding-left: 0.5em;
182 border-left: 2px solid silver;
183}
184
185div.exampleblock > div.content {
186 border-left: 2px solid silver;
187 padding: 0.5em;
188}
189
190div.verseblock div.content {
191 white-space: pre;
192}
193
194div.imageblock div.content { padding-left: 0; }
195div.imageblock img { border: 1px solid silver; }
196span.image img { border-style: none; }
197
198dl {
199 margin-top: 0.8em;
200 margin-bottom: 0.8em;
201}
202dt {
203 margin-top: 0.5em;
204 margin-bottom: 0;
205 font-style: italic;
206}
207dd > *:first-child {
208 margin-top: 0;
209}
210
211ul, ol {
212 list-style-position: outside;
213}
Junio C Hamanoba4b9282008-07-06 05:20:31214div.olist2 ol {
Junio C Hamano1a4e8412005-12-27 08:17:23215 list-style-type: lower-alpha;
216}
217
218div.tableblock > table {
Junio C Hamanoba4b9282008-07-06 05:20:31219 border: 3px solid #527bbd;
Junio C Hamano1a4e8412005-12-27 08:17:23220}
221thead {
222 font-family: sans-serif;
223 font-weight: bold;
224}
225tfoot {
226 font-weight: bold;
227}
228
229div.hlist {
230 margin-top: 0.8em;
231 margin-bottom: 0.8em;
232}
Junio C Hamanoba4b9282008-07-06 05:20:31233div.hlist td {
234 padding-bottom: 5px;
235}
Junio C Hamano1a4e8412005-12-27 08:17:23236td.hlist1 {
237 vertical-align: top;
238 font-style: italic;
239 padding-right: 0.8em;
240}
241td.hlist2 {
242 vertical-align: top;
243}
244
245@media print {
246 div#footer-badges { display: none; }
247}
Junio C Hamanoba4b9282008-07-06 05:20:31248
249div#toctitle {
250 color: #527bbd;
251 font-family: sans-serif;
252 font-size: 1.1em;
253 font-weight: bold;
254 margin-top: 1.0em;
255 margin-bottom: 0.1em;
256}
257
258div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
259 margin-top: 0;
260 margin-bottom: 0;
261}
262div.toclevel2 {
263 margin-left: 2em;
264 font-size: 0.9em;
265}
266div.toclevel3 {
267 margin-left: 4em;
268 font-size: 0.9em;
269}
270div.toclevel4 {
271 margin-left: 6em;
272 font-size: 0.9em;
273}
274include1::./stylesheets/xhtml11-manpage.css[]
Junio C Hamano1a4e8412005-12-27 08:17:23275/* Workarounds for IE6's broken and incomplete CSS2. */
276
277div.sidebar-content {
278 background: #ffffee;
279 border: 1px solid silver;
280 padding: 0.5em;
281}
282div.sidebar-title, div.image-title {
283 font-family: sans-serif;
284 font-weight: bold;
285 margin-top: 0.0em;
286 margin-bottom: 0.5em;
287}
288
289div.listingblock div.content {
290 border: 1px solid silver;
291 background: #f4f4f4;
292 padding: 0.5em;
293}
294
295div.quoteblock-content {
296 padding-left: 2.0em;
297}
298
299div.exampleblock-content {
300 border-left: 2px solid silver;
301 padding-left: 0.5em;
302}
Junio C Hamanoba4b9282008-07-06 05:20:31303
304/* IE6 sets dynamically generated links as visited. */
305div#toc a:visited { color: blue; }
Junio C Hamano1a4e8412005-12-27 08:17:23306</style>
Junio C Hamanof7c042d2008-06-06 22:50:53307<title>git(1)</title>
Junio C Hamano1a4e8412005-12-27 08:17:23308</head>
309<body>
310<div id="header">
311<h1>
Junio C Hamanof7c042d2008-06-06 22:50:53312git(1) Manual Page
Junio C Hamano1a4e8412005-12-27 08:17:23313</h1>
314<h2>NAME</h2>
315<div class="sectionbody">
316<p>git -
317 the stupid content tracker
318</p>
319</div>
320</div>
321<h2>SYNOPSIS</h2>
322<div class="sectionbody">
Junio C Hamano6b2cee12006-08-26 08:43:31323<div class="verseblock">
Junio C Hamanocae86272007-08-21 02:20:49324<div class="content"><em>git</em> [--version] [--exec-path[=GIT_EXEC_PATH]]
325 [-p|--paginate|--no-pager]
Junio C Hamanod526ba92007-07-02 00:17:42326 [--bare] [--git-dir=GIT_DIR] [--work-tree=GIT_WORK_TREE]
327 [--help] COMMAND [ARGS]</div></div>
Junio C Hamano1a4e8412005-12-27 08:17:23328</div>
Junio C Hamanoba4b9282008-07-06 05:20:31329<h2 id="_description">DESCRIPTION</h2>
Junio C Hamano1a4e8412005-12-27 08:17:23330<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:31331<div class="para"><p>Git is a fast, scalable, distributed revision control system with an
Junio C Hamanoe27fb932006-04-03 05:34:10332unusually rich command set that provides both high-level operations
Junio C Hamanoba4b9282008-07-06 05:20:31333and full access to internals.</p></div>
334<div class="para"><p>See <a href="gittutorial.html">gittutorial(7)</a> to get started, then see
Junio C Hamanoe27fb932006-04-03 05:34:10335<a href="everyday.html">Everyday Git</a> for a useful minimum set of commands, and
336"man git-commandname" for documentation of each command. CVS users may
Junio C Hamanofce7c7e2008-07-02 03:06:38337also want to read <a href="gitcvs-migration.html">gitcvs-migration(7)</a>. See
338the <a href="user-manual.html">Git User's Manual</a> for a more in-depth
Junio C Hamanoba4b9282008-07-06 05:20:31339introduction.</p></div>
340<div class="para"><p>The COMMAND is either a name of a Git command (see below) or an alias
341as defined in the configuration file (see <a href="git-config.html">git-config(1)</a>).</p></div>
342<div class="para"><p>Formatted and hyperlinked version of the latest git
Junio C Hamanob63afff2007-05-01 03:05:55343documentation can be viewed at
Junio C Hamanoba4b9282008-07-06 05:20:31344<tt>http://www.kernel.org/pub/software/scm/git/docs/</tt>.</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:23345</div>
Junio C Hamanoba4b9282008-07-06 05:20:31346<h2 id="_options">OPTIONS</h2>
Junio C Hamano1a4e8412005-12-27 08:17:23347<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:31348<div class="vlist"><dl>
Junio C Hamano1a4e8412005-12-27 08:17:23349<dt>
350--version
351</dt>
352<dd>
353<p>
Junio C Hamano01078922006-03-10 00:31:47354 Prints the git suite version that the <em>git</em> program came from.
Junio C Hamano1a4e8412005-12-27 08:17:23355</p>
356</dd>
357<dt>
358--help
359</dt>
360<dd>
361<p>
Junio C Hamano01078922006-03-10 00:31:47362 Prints the synopsis and a list of the most commonly used
Junio C Hamano58256872007-12-04 08:31:13363 commands. If the option <em>--all</em> or <em>-a</em> is given then all
364 available commands are printed. If a git command is named this
365 option will bring up the manual page for that command.
Junio C Hamano1a4e8412005-12-27 08:17:23366</p>
Junio C Hamanoba4b9282008-07-06 05:20:31367<div class="para"><p>Other options are available to control how the manual page is
Junio C Hamano0c0da5f2007-12-13 02:45:30368displayed. See <a href="git-help.html">git-help(1)</a> for more information,
Junio C Hamanoba4b9282008-07-06 05:20:31369because <tt>git --help &#8230;</tt> is converted internally into <tt>git
370help &#8230;</tt>.</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:23371</dd>
372<dt>
373--exec-path
374</dt>
375<dd>
376<p>
Junio C Hamano01078922006-03-10 00:31:47377 Path to wherever your core git programs are installed.
Junio C Hamano1a4e8412005-12-27 08:17:23378 This can also be controlled by setting the GIT_EXEC_PATH
Junio C Hamanoba4b9282008-07-06 05:20:31379 environment variable. If no path is given, <em>git</em> will print
Junio C Hamano1a4e8412005-12-27 08:17:23380 the current setting and then exit.
381</p>
382</dd>
Junio C Hamanof870ef82006-07-29 09:10:13383<dt>
Junio C Hamanoeb415992008-06-08 22:49:47384-p
385</dt>
386<dt>
387--paginate
Junio C Hamanof870ef82006-07-29 09:10:13388</dt>
389<dd>
390<p>
391 Pipe all output into <em>less</em> (or if set, $PAGER).
392</p>
393</dd>
394<dt>
Junio C Hamanocae86272007-08-21 02:20:49395--no-pager
396</dt>
397<dd>
398<p>
399 Do not pipe git output into a pager.
400</p>
401</dd>
402<dt>
Junio C Hamanof870ef82006-07-29 09:10:13403--git-dir=&lt;path&gt;
404</dt>
405<dd>
406<p>
407 Set the path to the repository. This can also be controlled by
Junio C Hamano7d575a52008-04-30 08:45:27408 setting the GIT_DIR environment variable. It can be an absolute
409 path or relative path to current working directory.
Junio C Hamanof870ef82006-07-29 09:10:13410</p>
411</dd>
412<dt>
Junio C Hamanod526ba92007-07-02 00:17:42413--work-tree=&lt;path&gt;
414</dt>
415<dd>
416<p>
417 Set the path to the working tree. The value will not be
418 used in combination with repositories found automatically in
419 a .git directory (i.e. $GIT_DIR is not set).
420 This can also be controlled by setting the GIT_WORK_TREE
421 environment variable and the core.worktree configuration
Junio C Hamano7d575a52008-04-30 08:45:27422 variable. It can be an absolute path or relative path to
423 the directory specified by --git-dir or GIT_DIR.
424 Note: If --git-dir or GIT_DIR are specified but none of
425 --work-tree, GIT_WORK_TREE and core.worktree is specified,
426 the current working directory is regarded as the top directory
427 of your working tree.
Junio C Hamanod526ba92007-07-02 00:17:42428</p>
429</dd>
430<dt>
Junio C Hamanof870ef82006-07-29 09:10:13431--bare
432</dt>
433<dd>
434<p>
Junio C Hamanoc435b1c2007-08-28 06:25:35435 Treat the repository as a bare repository. If GIT_DIR
436 environment is not set, it is set to the current working
437 directory.
Junio C Hamanof870ef82006-07-29 09:10:13438</p>
439</dd>
Junio C Hamanoba4b9282008-07-06 05:20:31440</dl></div>
Junio C Hamano1a4e8412005-12-27 08:17:23441</div>
Junio C Hamanoba4b9282008-07-06 05:20:31442<h2 id="_further_documentation">FURTHER DOCUMENTATION</h2>
Junio C Hamano1a4e8412005-12-27 08:17:23443<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:31444<div class="para"><p>See the references above to get started using git. The following is
445probably more detail than necessary for a first-time user.</p></div>
446<div class="para"><p>The <a href="user-manual.html#git-concepts">git concepts chapter of the
Junio C Hamanofce7c7e2008-07-02 03:06:38447user-manual</a> and <a href="gitcore-tutorial.html">gitcore-tutorial(7)</a> both provide
Junio C Hamanoba4b9282008-07-06 05:20:31448introductions to the underlying git architecture.</p></div>
449<div class="para"><p>See also the <a href="howto-index.html">howto</a> documents for some useful
450examples.</p></div>
451<div class="para"><p>The internals are documented in the
452<a href="technical/api-index.html">GIT API documentation</a>.</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:23453</div>
Junio C Hamanoba4b9282008-07-06 05:20:31454<h2 id="_git_commands">GIT COMMANDS</h2>
Junio C Hamano1a4e8412005-12-27 08:17:23455<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:31456<div class="para"><p>We divide git into high level ("porcelain") commands and low level
457("plumbing") commands.</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:23458</div>
Junio C Hamanoba4b9282008-07-06 05:20:31459<h2 id="_high_level_commands_porcelain">High-level commands (porcelain)</h2>
Junio C Hamano1a4e8412005-12-27 08:17:23460<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:31461<div class="para"><p>We separate the porcelain commands into the main commands and some
462ancillary user utilities.</p></div>
463<h3 id="_main_porcelain_commands">Main porcelain commands</h3><div style="clear:left"></div>
464<div class="vlist"><dl>
Junio C Hamano1a4e8412005-12-27 08:17:23465<dt>
466<a href="git-add.html">git-add(1)</a>
467</dt>
468<dd>
469<p>
Junio C Hamano4cd1c0e2007-08-06 04:39:14470 Add file contents to the index.
Junio C Hamano1a4e8412005-12-27 08:17:23471</p>
472</dd>
473<dt>
474<a href="git-am.html">git-am(1)</a>
475</dt>
476<dd>
477<p>
Junio C Hamano7c73c662007-01-19 00:37:50478 Apply a series of patches from a mailbox.
Junio C Hamano1a4e8412005-12-27 08:17:23479</p>
480</dd>
481<dt>
Junio C Hamano817abb42006-09-26 07:16:58482<a href="git-archive.html">git-archive(1)</a>
483</dt>
484<dd>
485<p>
Junio C Hamano4ec06712007-06-09 20:39:33486 Create an archive of files from a named tree.
Junio C Hamano817abb42006-09-26 07:16:58487</p>
488</dd>
489<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23490<a href="git-bisect.html">git-bisect(1)</a>
491</dt>
492<dd>
493<p>
494 Find the change that introduced a bug by binary search.
495</p>
496</dd>
497<dt>
498<a href="git-branch.html">git-branch(1)</a>
499</dt>
500<dd>
501<p>
Junio C Hamano7c73c662007-01-19 00:37:50502 List, create, or delete branches.
Junio C Hamano1a4e8412005-12-27 08:17:23503</p>
504</dd>
505<dt>
Junio C Hamano6ac2f142007-03-01 01:24:56506<a href="git-bundle.html">git-bundle(1)</a>
507</dt>
508<dd>
509<p>
510 Move objects and refs by archive.
511</p>
512</dd>
513<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23514<a href="git-checkout.html">git-checkout(1)</a>
515</dt>
516<dd>
517<p>
Junio C Hamanoa14a4032008-03-25 09:11:02518 Checkout a branch or paths to the working tree.
Junio C Hamano1a4e8412005-12-27 08:17:23519</p>
520</dd>
521<dt>
522<a href="git-cherry-pick.html">git-cherry-pick(1)</a>
523</dt>
524<dd>
525<p>
Junio C Hamano7c73c662007-01-19 00:37:50526 Apply the change introduced by an existing commit.
Junio C Hamano1a4e8412005-12-27 08:17:23527</p>
528</dd>
529<dt>
Junio C Hamano58784fc2007-06-23 08:48:57530<a href="git-citool.html">git-citool(1)</a>
531</dt>
532<dd>
533<p>
534 Graphical alternative to git-commit.
535</p>
536</dd>
537<dt>
Junio C Hamano54559c82006-04-13 07:45:12538<a href="git-clean.html">git-clean(1)</a>
539</dt>
540<dd>
541<p>
542 Remove untracked files from the working tree.
543</p>
544</dd>
545<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23546<a href="git-clone.html">git-clone(1)</a>
547</dt>
548<dd>
549<p>
Junio C Hamano4ec06712007-06-09 20:39:33550 Clone a repository into a new directory.
Junio C Hamano1a4e8412005-12-27 08:17:23551</p>
552</dd>
553<dt>
554<a href="git-commit.html">git-commit(1)</a>
555</dt>
556<dd>
557<p>
558 Record changes to the repository.
559</p>
560</dd>
561<dt>
Junio C Hamano4ad294b2007-01-20 02:22:50562<a href="git-describe.html">git-describe(1)</a>
563</dt>
564<dd>
565<p>
566 Show the most recent tag that is reachable from a commit.
567</p>
568</dd>
569<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23570<a href="git-diff.html">git-diff(1)</a>
571</dt>
572<dd>
573<p>
574 Show changes between commits, commit and working tree, etc.
575</p>
576</dd>
577<dt>
578<a href="git-fetch.html">git-fetch(1)</a>
579</dt>
580<dd>
581<p>
Junio C Hamano7c73c662007-01-19 00:37:50582 Download objects and refs from another repository.
Junio C Hamano1a4e8412005-12-27 08:17:23583</p>
584</dd>
585<dt>
586<a href="git-format-patch.html">git-format-patch(1)</a>
587</dt>
588<dd>
589<p>
590 Prepare patches for e-mail submission.
591</p>
592</dd>
593<dt>
Junio C Hamano4ad294b2007-01-20 02:22:50594<a href="git-gc.html">git-gc(1)</a>
595</dt>
596<dd>
597<p>
598 Cleanup unnecessary files and optimize the local repository.
599</p>
600</dd>
601<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23602<a href="git-grep.html">git-grep(1)</a>
603</dt>
604<dd>
605<p>
606 Print lines matching a pattern.
607</p>
608</dd>
609<dt>
Junio C Hamano58784fc2007-06-23 08:48:57610<a href="git-gui.html">git-gui(1)</a>
611</dt>
612<dd>
613<p>
614 A portable graphical interface to Git.
615</p>
616</dd>
617<dt>
Junio C Hamano4ad294b2007-01-20 02:22:50618<a href="git-init.html">git-init(1)</a>
619</dt>
620<dd>
621<p>
622 Create an empty git repository or reinitialize an existing one.
623</p>
624</dd>
625<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23626<a href="git-log.html">git-log(1)</a>
627</dt>
628<dd>
629<p>
Junio C Hamano7c73c662007-01-19 00:37:50630 Show commit logs.
Junio C Hamano1a4e8412005-12-27 08:17:23631</p>
632</dd>
633<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23634<a href="git-merge.html">git-merge(1)</a>
635</dt>
636<dd>
637<p>
Junio C Hamano7c73c662007-01-19 00:37:50638 Join two or more development histories together.
Junio C Hamano1a4e8412005-12-27 08:17:23639</p>
640</dd>
641<dt>
642<a href="git-mv.html">git-mv(1)</a>
643</dt>
644<dd>
645<p>
646 Move or rename a file, a directory, or a symlink.
647</p>
648</dd>
649<dt>
650<a href="git-pull.html">git-pull(1)</a>
651</dt>
652<dd>
653<p>
Junio C Hamano7c73c662007-01-19 00:37:50654 Fetch from and merge with another repository or a local branch.
Junio C Hamano1a4e8412005-12-27 08:17:23655</p>
656</dd>
657<dt>
658<a href="git-push.html">git-push(1)</a>
659</dt>
660<dd>
661<p>
662 Update remote refs along with associated objects.
663</p>
664</dd>
665<dt>
666<a href="git-rebase.html">git-rebase(1)</a>
667</dt>
668<dd>
669<p>
Junio C Hamano7c73c662007-01-19 00:37:50670 Forward-port local commits to the updated upstream head.
Junio C Hamano1a4e8412005-12-27 08:17:23671</p>
672</dd>
673<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23674<a href="git-reset.html">git-reset(1)</a>
675</dt>
676<dd>
677<p>
678 Reset current HEAD to the specified state.
679</p>
680</dd>
681<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23682<a href="git-revert.html">git-revert(1)</a>
683</dt>
684<dd>
685<p>
686 Revert an existing commit.
687</p>
688</dd>
689<dt>
Junio C Hamano54559c82006-04-13 07:45:12690<a href="git-rm.html">git-rm(1)</a>
691</dt>
692<dd>
693<p>
694 Remove files from the working tree and from the index.
695</p>
696</dd>
697<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23698<a href="git-shortlog.html">git-shortlog(1)</a>
699</dt>
700<dd>
701<p>
Junio C Hamanoba4b9282008-07-06 05:20:31702 Summarize <em>git-log</em> output.
Junio C Hamano1a4e8412005-12-27 08:17:23703</p>
704</dd>
705<dt>
Junio C Hamano2b135272006-03-18 07:45:42706<a href="git-show.html">git-show(1)</a>
707</dt>
708<dd>
709<p>
Junio C Hamano7c73c662007-01-19 00:37:50710 Show various types of objects.
Junio C Hamano2b135272006-03-18 07:45:42711</p>
712</dd>
713<dt>
Junio C Hamano1d90cb02007-07-03 07:05:31714<a href="git-stash.html">git-stash(1)</a>
715</dt>
716<dd>
717<p>
718 Stash the changes in a dirty working directory away.
719</p>
720</dd>
721<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23722<a href="git-status.html">git-status(1)</a>
723</dt>
724<dd>
725<p>
Junio C Hamano7c73c662007-01-19 00:37:50726 Show the working tree status.
Junio C Hamano1a4e8412005-12-27 08:17:23727</p>
728</dd>
729<dt>
Junio C Hamano38b693c2007-06-03 08:40:14730<a href="git-submodule.html">git-submodule(1)</a>
731</dt>
732<dd>
733<p>
734 Initialize, update or inspect submodules.
735</p>
736</dd>
737<dt>
Junio C Hamano4ad294b2007-01-20 02:22:50738<a href="git-tag.html">git-tag(1)</a>
739</dt>
740<dd>
741<p>
Junio C Hamanodb450ba2007-01-21 08:57:14742 Create, list, delete or verify a tag object signed with GPG.
Junio C Hamano4ad294b2007-01-20 02:22:50743</p>
744</dd>
Junio C Hamano0a16b952007-12-02 18:56:34745<dt>
746<a href="gitk.html">gitk(1)</a>
747</dt>
748<dd>
749<p>
750 The git repository browser.
751</p>
752</dd>
Junio C Hamanoba4b9282008-07-06 05:20:31753</dl></div>
754<h3 id="_ancillary_commands">Ancillary Commands</h3><div style="clear:left"></div>
755<div class="para"><p>Manipulators:</p></div>
756<div class="vlist"><dl>
Junio C Hamano4ad294b2007-01-20 02:22:50757<dt>
Junio C Hamanob1d6e882007-08-11 08:30:16758<a href="git-config.html">git-config(1)</a>
759</dt>
760<dd>
761<p>
762 Get and set repository or global options.
763</p>
764</dd>
765<dt>
Junio C Hamano58256872007-12-04 08:31:13766<a href="git-fast-export.html">git-fast-export(1)</a>
767</dt>
768<dd>
769<p>
770 Git data exporter.
771</p>
772</dd>
773<dt>
Junio C Hamanodfc4ce72007-02-07 23:17:29774<a href="git-fast-import.html">git-fast-import(1)</a>
775</dt>
776<dd>
777<p>
Junio C Hamano053827f2007-02-14 07:23:58778 Backend for fast Git data importers.
Junio C Hamanodfc4ce72007-02-07 23:17:29779</p>
780</dd>
781<dt>
Junio C Hamanobb0f4042007-07-04 06:41:40782<a href="git-filter-branch.html">git-filter-branch(1)</a>
783</dt>
784<dd>
785<p>
786 Rewrite branches.
787</p>
788</dd>
789<dt>
Junio C Hamano4ad294b2007-01-20 02:22:50790<a href="git-lost-found.html">git-lost-found(1)</a>
791</dt>
792<dd>
793<p>
Junio C Hamano2d7f0272007-11-09 10:03:46794 (deprecated) Recover lost refs that luckily have not yet been pruned.
Junio C Hamano4ad294b2007-01-20 02:22:50795</p>
796</dd>
797<dt>
Junio C Hamano103ad7f2007-03-14 11:19:26798<a href="git-mergetool.html">git-mergetool(1)</a>
799</dt>
800<dd>
801<p>
802 Run merge conflict resolution tools to resolve merge conflicts.
803</p>
804</dd>
805<dt>
Junio C Hamano4ad294b2007-01-20 02:22:50806<a href="git-pack-refs.html">git-pack-refs(1)</a>
807</dt>
808<dd>
809<p>
810 Pack heads and tags for efficient repository access.
811</p>
812</dd>
813<dt>
814<a href="git-prune.html">git-prune(1)</a>
815</dt>
816<dd>
817<p>
Junio C Hamano4ec06712007-06-09 20:39:33818 Prune all unreachable objects from the object database.
Junio C Hamano4ad294b2007-01-20 02:22:50819</p>
820</dd>
821<dt>
822<a href="git-reflog.html">git-reflog(1)</a>
823</dt>
824<dd>
825<p>
826 Manage reflog information.
827</p>
828</dd>
829<dt>
830<a href="git-relink.html">git-relink(1)</a>
831</dt>
832<dd>
833<p>
834 Hardlink common objects in local repositories.
835</p>
836</dd>
837<dt>
Junio C Hamano053827f2007-02-14 07:23:58838<a href="git-remote.html">git-remote(1)</a>
839</dt>
840<dd>
841<p>
842 manage set of tracked repositories.
843</p>
844</dd>
Junio C Hamanob1d6e882007-08-11 08:30:16845<dt>
846<a href="git-repack.html">git-repack(1)</a>
847</dt>
848<dd>
849<p>
850 Pack unpacked objects in a repository.
851</p>
852</dd>
Junio C Hamanobe621892008-01-18 10:20:16853<dt>
854<a href="git-repo-config.html">git-repo-config(1)</a>
855</dt>
856<dd>
857<p>
858 (deprecated) Get and set repository or global options.
859</p>
860</dd>
Junio C Hamanoba4b9282008-07-06 05:20:31861</dl></div>
862<div class="para"><p>Interrogators:</p></div>
863<div class="vlist"><dl>
Junio C Hamano4ad294b2007-01-20 02:22:50864<dt>
865<a href="git-annotate.html">git-annotate(1)</a>
866</dt>
867<dd>
868<p>
869 Annotate file lines with commit info.
870</p>
871</dd>
872<dt>
Junio C Hamano4ad294b2007-01-20 02:22:50873<a href="git-blame.html">git-blame(1)</a>
874</dt>
875<dd>
876<p>
877 Show what revision and author last modified each line of a file.
878</p>
879</dd>
880<dt>
881<a href="git-cherry.html">git-cherry(1)</a>
882</dt>
883<dd>
884<p>
885 Find commits not merged upstream.
886</p>
887</dd>
888<dt>
889<a href="git-count-objects.html">git-count-objects(1)</a>
890</dt>
891<dd>
892<p>
893 Count unpacked number of objects and their disk consumption.
894</p>
895</dd>
896<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:48897<a href="git-fsck.html">git-fsck(1)</a>
Junio C Hamano4ad294b2007-01-20 02:22:50898</dt>
899<dd>
900<p>
901 Verifies the connectivity and validity of the objects in the database.
902</p>
903</dd>
904<dt>
905<a href="git-get-tar-commit-id.html">git-get-tar-commit-id(1)</a>
906</dt>
907<dd>
908<p>
Junio C Hamano393e57f2007-11-20 04:53:25909 Extract commit ID from an archive created using git-archive.
Junio C Hamano4ad294b2007-01-20 02:22:50910</p>
911</dd>
912<dt>
Junio C Hamano58256872007-12-04 08:31:13913<a href="git-help.html">git-help(1)</a>
914</dt>
915<dd>
916<p>
917 display help information about git.
918</p>
919</dd>
920<dt>
Junio C Hamano4ad294b2007-01-20 02:22:50921<a href="git-instaweb.html">git-instaweb(1)</a>
922</dt>
923<dd>
924<p>
925 Instantly browse your working repository in gitweb.
926</p>
927</dd>
928<dt>
929<a href="git-merge-tree.html">git-merge-tree(1)</a>
930</dt>
931<dd>
932<p>
933 Show three-way merge without touching index.
934</p>
935</dd>
936<dt>
937<a href="git-rerere.html">git-rerere(1)</a>
938</dt>
939<dd>
940<p>
941 Reuse recorded resolution of conflicted merges.
942</p>
943</dd>
944<dt>
945<a href="git-rev-parse.html">git-rev-parse(1)</a>
946</dt>
947<dd>
948<p>
949 Pick out and massage parameters.
950</p>
951</dd>
952<dt>
Junio C Hamano4ad294b2007-01-20 02:22:50953<a href="git-show-branch.html">git-show-branch(1)</a>
954</dt>
955<dd>
956<p>
957 Show branches and their commits.
958</p>
959</dd>
960<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23961<a href="git-verify-tag.html">git-verify-tag(1)</a>
962</dt>
963<dd>
964<p>
Junio C Hamanob1d6e882007-08-11 08:30:16965 Check the GPG signature of tags.
Junio C Hamano1a4e8412005-12-27 08:17:23966</p>
967</dd>
968<dt>
969<a href="git-whatchanged.html">git-whatchanged(1)</a>
970</dt>
971<dd>
972<p>
Junio C Hamano7c73c662007-01-19 00:37:50973 Show logs with difference each commit introduces.
Junio C Hamano1a4e8412005-12-27 08:17:23974</p>
975</dd>
Junio C Hamanoba4b9282008-07-06 05:20:31976</dl></div>
977<h3 id="_interacting_with_others">Interacting with Others</h3><div style="clear:left"></div>
978<div class="para"><p>These commands are to interact with foreign SCM and with other
979people via patch over e-mail.</p></div>
980<div class="vlist"><dl>
Junio C Hamano1a4e8412005-12-27 08:17:23981<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23982<a href="git-archimport.html">git-archimport(1)</a>
983</dt>
984<dd>
985<p>
Junio C Hamano7c73c662007-01-19 00:37:50986 Import an Arch repository into git.
Junio C Hamano1a4e8412005-12-27 08:17:23987</p>
988</dd>
989<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23990<a href="git-cvsexportcommit.html">git-cvsexportcommit(1)</a>
991</dt>
992<dd>
993<p>
994 Export a single commit to a CVS checkout.
995</p>
996</dd>
997<dt>
Junio C Hamano7c73c662007-01-19 00:37:50998<a href="git-cvsimport.html">git-cvsimport(1)</a>
999</dt>
1000<dd>
1001<p>
1002 Salvage your data out of another SCM people love to hate.
1003</p>
1004</dd>
1005<dt>
Junio C Hamano54559c82006-04-13 07:45:121006<a href="git-cvsserver.html">git-cvsserver(1)</a>
1007</dt>
1008<dd>
1009<p>
1010 A CVS server emulator for git.
1011</p>
1012</dd>
1013<dt>
Junio C Hamano4ad294b2007-01-20 02:22:501014<a href="git-imap-send.html">git-imap-send(1)</a>
Junio C Hamano52299462006-12-28 00:59:381015</dt>
1016<dd>
1017<p>
Junio C Hamano4ad294b2007-01-20 02:22:501018 Dump a mailbox from stdin into an imap folder.
Junio C Hamano1a4e8412005-12-27 08:17:231019</p>
1020</dd>
1021<dt>
Junio C Hamano33db4372006-06-07 19:51:451022<a href="git-quiltimport.html">git-quiltimport(1)</a>
1023</dt>
1024<dd>
1025<p>
1026 Applies a quilt patchset onto the current branch.
1027</p>
1028</dd>
1029<dt>
Junio C Hamano4ad294b2007-01-20 02:22:501030<a href="git-request-pull.html">git-request-pull(1)</a>
Junio C Hamano74640642006-12-27 10:59:551031</dt>
1032<dd>
1033<p>
Junio C Hamano4ad294b2007-01-20 02:22:501034 Generates a summary of pending changes.
Junio C Hamano74640642006-12-27 10:59:551035</p>
1036</dd>
1037<dt>
Junio C Hamano4ad294b2007-01-20 02:22:501038<a href="git-send-email.html">git-send-email(1)</a>
Junio C Hamano1a4e8412005-12-27 08:17:231039</dt>
1040<dd>
1041<p>
Junio C Hamano4ad294b2007-01-20 02:22:501042 Send a collection of patches as emails.
Junio C Hamano7c73c662007-01-19 00:37:501043</p>
1044</dd>
1045<dt>
Junio C Hamanob518f452006-08-04 00:18:061046<a href="git-svn.html">git-svn(1)</a>
1047</dt>
1048<dd>
1049<p>
1050 Bidirectional operation between a single Subversion branch and git.
1051</p>
1052</dd>
Junio C Hamanoba4b9282008-07-06 05:20:311053</dl></div>
Junio C Hamano1a4e8412005-12-27 08:17:231054</div>
Junio C Hamanoba4b9282008-07-06 05:20:311055<h2 id="_low_level_commands_plumbing">Low-level commands (plumbing)</h2>
Junio C Hamanob19b4f02006-10-29 20:47:221056<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:311057<div class="para"><p>Although git includes its
Junio C Hamanob19b4f02006-10-29 20:47:221058own porcelain layer, its low-level commands are sufficient to support
1059development of alternative porcelains. Developers of such porcelains
1060might start by reading about <a href="git-update-index.html">git-update-index(1)</a> and
Junio C Hamanoba4b9282008-07-06 05:20:311061<a href="git-read-tree.html">git-read-tree(1)</a>.</p></div>
1062<div class="para"><p>The interface (input, output, set of options and the semantics)
Junio C Hamano4ad294b2007-01-20 02:22:501063to these low-level commands are meant to be a lot more stable
1064than Porcelain level commands, because these commands are
1065primarily for scripted use. The interface to Porcelain commands
1066on the other hand are subject to change in order to improve the
Junio C Hamanoba4b9282008-07-06 05:20:311067end user experience.</p></div>
1068<div class="para"><p>The following description divides
Junio C Hamano4ad294b2007-01-20 02:22:501069the low-level commands into commands that manipulate objects (in
Junio C Hamanob19b4f02006-10-29 20:47:221070the repository, index, and working tree), commands that interrogate and
1071compare objects, and commands that move objects and references between
Junio C Hamanoba4b9282008-07-06 05:20:311072repositories.</p></div>
1073<h3 id="_manipulation_commands">Manipulation commands</h3><div style="clear:left"></div>
1074<div class="vlist"><dl>
Junio C Hamanob19b4f02006-10-29 20:47:221075<dt>
1076<a href="git-apply.html">git-apply(1)</a>
1077</dt>
1078<dd>
1079<p>
Junio C Hamano7c73c662007-01-19 00:37:501080 Apply a patch on a git index file and a working tree.
Junio C Hamanob19b4f02006-10-29 20:47:221081</p>
1082</dd>
1083<dt>
1084<a href="git-checkout-index.html">git-checkout-index(1)</a>
1085</dt>
1086<dd>
1087<p>
1088 Copy files from the index to the working tree.
1089</p>
1090</dd>
1091<dt>
1092<a href="git-commit-tree.html">git-commit-tree(1)</a>
1093</dt>
1094<dd>
1095<p>
Junio C Hamano7c73c662007-01-19 00:37:501096 Create a new commit object.
Junio C Hamanob19b4f02006-10-29 20:47:221097</p>
1098</dd>
1099<dt>
1100<a href="git-hash-object.html">git-hash-object(1)</a>
1101</dt>
1102<dd>
1103<p>
Junio C Hamano7c73c662007-01-19 00:37:501104 Compute object ID and optionally creates a blob from a file.
Junio C Hamanob19b4f02006-10-29 20:47:221105</p>
1106</dd>
1107<dt>
1108<a href="git-index-pack.html">git-index-pack(1)</a>
1109</dt>
1110<dd>
1111<p>
Junio C Hamano7c73c662007-01-19 00:37:501112 Build pack index file for an existing packed archive.
Junio C Hamanob19b4f02006-10-29 20:47:221113</p>
1114</dd>
1115<dt>
Junio C Hamano1de7bc62006-12-17 19:31:541116<a href="git-merge-file.html">git-merge-file(1)</a>
1117</dt>
1118<dd>
1119<p>
Junio C Hamano7c73c662007-01-19 00:37:501120 Run a three-way file merge.
Junio C Hamano1de7bc62006-12-17 19:31:541121</p>
1122</dd>
1123<dt>
Junio C Hamanob19b4f02006-10-29 20:47:221124<a href="git-merge-index.html">git-merge-index(1)</a>
1125</dt>
1126<dd>
1127<p>
Junio C Hamano7c73c662007-01-19 00:37:501128 Run a merge for files needing merging.
Junio C Hamanob19b4f02006-10-29 20:47:221129</p>
1130</dd>
1131<dt>
1132<a href="git-mktag.html">git-mktag(1)</a>
1133</dt>
1134<dd>
1135<p>
1136 Creates a tag object.
1137</p>
1138</dd>
1139<dt>
1140<a href="git-mktree.html">git-mktree(1)</a>
1141</dt>
1142<dd>
1143<p>
1144 Build a tree-object from ls-tree formatted text.
1145</p>
1146</dd>
1147<dt>
1148<a href="git-pack-objects.html">git-pack-objects(1)</a>
1149</dt>
1150<dd>
1151<p>
Junio C Hamano7c73c662007-01-19 00:37:501152 Create a packed archive of objects.
Junio C Hamanob19b4f02006-10-29 20:47:221153</p>
1154</dd>
1155<dt>
1156<a href="git-prune-packed.html">git-prune-packed(1)</a>
1157</dt>
1158<dd>
1159<p>
1160 Remove extra objects that are already in pack files.
1161</p>
1162</dd>
1163<dt>
1164<a href="git-read-tree.html">git-read-tree(1)</a>
1165</dt>
1166<dd>
1167<p>
1168 Reads tree information into the index.
1169</p>
1170</dd>
1171<dt>
Junio C Hamano4ad294b2007-01-20 02:22:501172<a href="git-symbolic-ref.html">git-symbolic-ref(1)</a>
Junio C Hamanob19b4f02006-10-29 20:47:221173</dt>
1174<dd>
1175<p>
Junio C Hamano4ad294b2007-01-20 02:22:501176 Read and modify symbolic refs.
Junio C Hamanob19b4f02006-10-29 20:47:221177</p>
1178</dd>
1179<dt>
1180<a href="git-unpack-objects.html">git-unpack-objects(1)</a>
1181</dt>
1182<dd>
1183<p>
Junio C Hamano7c73c662007-01-19 00:37:501184 Unpack objects from a packed archive.
Junio C Hamanob19b4f02006-10-29 20:47:221185</p>
1186</dd>
1187<dt>
1188<a href="git-update-index.html">git-update-index(1)</a>
1189</dt>
1190<dd>
1191<p>
Junio C Hamano7c73c662007-01-19 00:37:501192 Register file contents in the working tree to the index.
Junio C Hamanob19b4f02006-10-29 20:47:221193</p>
1194</dd>
1195<dt>
Junio C Hamano4ad294b2007-01-20 02:22:501196<a href="git-update-ref.html">git-update-ref(1)</a>
1197</dt>
1198<dd>
1199<p>
1200 Update the object name stored in a ref safely.
1201</p>
1202</dd>
1203<dt>
Junio C Hamanob19b4f02006-10-29 20:47:221204<a href="git-write-tree.html">git-write-tree(1)</a>
1205</dt>
1206<dd>
1207<p>
Junio C Hamano7c73c662007-01-19 00:37:501208 Create a tree object from the current index.
Junio C Hamanob19b4f02006-10-29 20:47:221209</p>
1210</dd>
Junio C Hamanoba4b9282008-07-06 05:20:311211</dl></div>
1212<h3 id="_interrogation_commands">Interrogation commands</h3><div style="clear:left"></div>
1213<div class="vlist"><dl>
Junio C Hamanob19b4f02006-10-29 20:47:221214<dt>
1215<a href="git-cat-file.html">git-cat-file(1)</a>
1216</dt>
1217<dd>
1218<p>
1219 Provide content or type/size information for repository objects.
1220</p>
1221</dd>
1222<dt>
Junio C Hamanob19b4f02006-10-29 20:47:221223<a href="git-diff-files.html">git-diff-files(1)</a>
1224</dt>
1225<dd>
1226<p>
1227 Compares files in the working tree and the index.
1228</p>
1229</dd>
1230<dt>
Junio C Hamano7c73c662007-01-19 00:37:501231<a href="git-diff-index.html">git-diff-index(1)</a>
1232</dt>
1233<dd>
1234<p>
1235 Compares content and mode of blobs between the index and repository.
1236</p>
1237</dd>
1238<dt>
Junio C Hamanob19b4f02006-10-29 20:47:221239<a href="git-diff-tree.html">git-diff-tree(1)</a>
1240</dt>
1241<dd>
1242<p>
1243 Compares the content and mode of blobs found via two tree objects.
1244</p>
1245</dd>
1246<dt>
1247<a href="git-for-each-ref.html">git-for-each-ref(1)</a>
1248</dt>
1249<dd>
1250<p>
1251 Output information on each ref.
1252</p>
1253</dd>
1254<dt>
Junio C Hamanob19b4f02006-10-29 20:47:221255<a href="git-ls-files.html">git-ls-files(1)</a>
1256</dt>
1257<dd>
1258<p>
Junio C Hamano7c73c662007-01-19 00:37:501259 Show information about files in the index and the working tree.
Junio C Hamanob19b4f02006-10-29 20:47:221260</p>
1261</dd>
1262<dt>
Junio C Hamano4ad294b2007-01-20 02:22:501263<a href="git-ls-remote.html">git-ls-remote(1)</a>
1264</dt>
1265<dd>
1266<p>
1267 List references in a remote repository.
1268</p>
1269</dd>
1270<dt>
Junio C Hamanob19b4f02006-10-29 20:47:221271<a href="git-ls-tree.html">git-ls-tree(1)</a>
1272</dt>
1273<dd>
1274<p>
Junio C Hamano7c73c662007-01-19 00:37:501275 List the contents of a tree object.
Junio C Hamanob19b4f02006-10-29 20:47:221276</p>
1277</dd>
1278<dt>
1279<a href="git-merge-base.html">git-merge-base(1)</a>
1280</dt>
1281<dd>
1282<p>
Junio C Hamano7c73c662007-01-19 00:37:501283 Find as good common ancestors as possible for a merge.
Junio C Hamanob19b4f02006-10-29 20:47:221284</p>
1285</dd>
1286<dt>
1287<a href="git-name-rev.html">git-name-rev(1)</a>
1288</dt>
1289<dd>
1290<p>
1291 Find symbolic names for given revs.
1292</p>
1293</dd>
1294<dt>
1295<a href="git-pack-redundant.html">git-pack-redundant(1)</a>
1296</dt>
1297<dd>
1298<p>
1299 Find redundant pack files.
1300</p>
1301</dd>
1302<dt>
1303<a href="git-rev-list.html">git-rev-list(1)</a>
1304</dt>
1305<dd>
1306<p>
1307 Lists commit objects in reverse chronological order.
1308</p>
1309</dd>
1310<dt>
1311<a href="git-show-index.html">git-show-index(1)</a>
1312</dt>
1313<dd>
1314<p>
Junio C Hamano7c73c662007-01-19 00:37:501315 Show packed archive index.
Junio C Hamanob19b4f02006-10-29 20:47:221316</p>
1317</dd>
1318<dt>
Junio C Hamanod8c9d432006-11-07 07:19:131319<a href="git-show-ref.html">git-show-ref(1)</a>
1320</dt>
1321<dd>
1322<p>
1323 List references in a local repository.
1324</p>
1325</dd>
1326<dt>
Junio C Hamanob19b4f02006-10-29 20:47:221327<a href="git-tar-tree.html">git-tar-tree(1)</a>
1328</dt>
1329<dd>
1330<p>
Junio C Hamano2d7f0272007-11-09 10:03:461331 (deprecated) Create a tar archive of the files in the named tree object.
Junio C Hamanob19b4f02006-10-29 20:47:221332</p>
1333</dd>
1334<dt>
1335<a href="git-unpack-file.html">git-unpack-file(1)</a>
1336</dt>
1337<dd>
1338<p>
1339 Creates a temporary file with a blob's contents.
1340</p>
1341</dd>
1342<dt>
1343<a href="git-var.html">git-var(1)</a>
1344</dt>
1345<dd>
1346<p>
Junio C Hamano7c73c662007-01-19 00:37:501347 Show a git logical variable.
Junio C Hamanob19b4f02006-10-29 20:47:221348</p>
1349</dd>
1350<dt>
1351<a href="git-verify-pack.html">git-verify-pack(1)</a>
1352</dt>
1353<dd>
1354<p>
Junio C Hamano7c73c662007-01-19 00:37:501355 Validate packed git archive files.
Junio C Hamanob19b4f02006-10-29 20:47:221356</p>
1357</dd>
Junio C Hamanoba4b9282008-07-06 05:20:311358</dl></div>
1359<div class="para"><p>In general, the interrogate commands do not touch the files in
1360the working tree.</p></div>
1361<h3 id="_synching_repositories">Synching repositories</h3><div style="clear:left"></div>
1362<div class="vlist"><dl>
Junio C Hamanob19b4f02006-10-29 20:47:221363<dt>
Junio C Hamano4ad294b2007-01-20 02:22:501364<a href="git-daemon.html">git-daemon(1)</a>
1365</dt>
1366<dd>
1367<p>
1368 A really simple server for git repositories.
1369</p>
1370</dd>
1371<dt>
Junio C Hamanob19b4f02006-10-29 20:47:221372<a href="git-fetch-pack.html">git-fetch-pack(1)</a>
1373</dt>
1374<dd>
1375<p>
Junio C Hamano7c73c662007-01-19 00:37:501376 Receive missing objects from another repository.
Junio C Hamanob19b4f02006-10-29 20:47:221377</p>
1378</dd>
1379<dt>
Junio C Hamano7c73c662007-01-19 00:37:501380<a href="git-send-pack.html">git-send-pack(1)</a>
1381</dt>
1382<dd>
1383<p>
Junio C Hamanoee1e4282007-02-04 08:32:041384 Push objects over git protocol to another repository.
Junio C Hamanob19b4f02006-10-29 20:47:221385</p>
1386</dd>
1387<dt>
Junio C Hamanob19b4f02006-10-29 20:47:221388<a href="git-update-server-info.html">git-update-server-info(1)</a>
1389</dt>
1390<dd>
1391<p>
Junio C Hamano7c73c662007-01-19 00:37:501392 Update auxiliary info file to help dumb servers.
Junio C Hamanob19b4f02006-10-29 20:47:221393</p>
1394</dd>
Junio C Hamanoba4b9282008-07-06 05:20:311395</dl></div>
1396<div class="para"><p>The following are helper programs used by the above; end users
1397typically do not use them directly.</p></div>
1398<div class="vlist"><dl>
Junio C Hamano4ad294b2007-01-20 02:22:501399<dt>
1400<a href="git-http-fetch.html">git-http-fetch(1)</a>
1401</dt>
1402<dd>
1403<p>
1404 Download from a remote git repository via HTTP.
1405</p>
1406</dd>
1407<dt>
1408<a href="git-http-push.html">git-http-push(1)</a>
1409</dt>
1410<dd>
1411<p>
1412 Push objects over HTTP/DAV to another repository.
1413</p>
1414</dd>
1415<dt>
1416<a href="git-parse-remote.html">git-parse-remote(1)</a>
1417</dt>
1418<dd>
1419<p>
1420 Routines to help parsing remote repository access parameters.
1421</p>
1422</dd>
1423<dt>
1424<a href="git-receive-pack.html">git-receive-pack(1)</a>
1425</dt>
1426<dd>
1427<p>
1428 Receive what is pushed into the repository.
1429</p>
1430</dd>
1431<dt>
1432<a href="git-shell.html">git-shell(1)</a>
1433</dt>
1434<dd>
1435<p>
1436 Restricted login shell for GIT-only SSH access.
1437</p>
1438</dd>
Junio C Hamanob19b4f02006-10-29 20:47:221439<dt>
1440<a href="git-upload-archive.html">git-upload-archive(1)</a>
1441</dt>
1442<dd>
1443<p>
Junio C Hamano7c73c662007-01-19 00:37:501444 Send archive back to git-archive.
Junio C Hamanob19b4f02006-10-29 20:47:221445</p>
1446</dd>
1447<dt>
1448<a href="git-upload-pack.html">git-upload-pack(1)</a>
1449</dt>
1450<dd>
1451<p>
Junio C Hamano7c73c662007-01-19 00:37:501452 Send objects packed back to git-fetch-pack.
Junio C Hamanob19b4f02006-10-29 20:47:221453</p>
1454</dd>
Junio C Hamanoba4b9282008-07-06 05:20:311455</dl></div>
1456<h3 id="_internal_helper_commands">Internal helper commands</h3><div style="clear:left"></div>
1457<div class="para"><p>These are internal helper commands used by other commands; end
1458users typically do not use them directly.</p></div>
1459<div class="vlist"><dl>
Junio C Hamano4ad294b2007-01-20 02:22:501460<dt>
Junio C Hamanoe90436a2007-04-22 07:22:131461<a href="git-check-attr.html">git-check-attr(1)</a>
1462</dt>
1463<dd>
1464<p>
1465 Display gitattributes information..
1466</p>
1467</dd>
1468<dt>
Junio C Hamano4ad294b2007-01-20 02:22:501469<a href="git-check-ref-format.html">git-check-ref-format(1)</a>
1470</dt>
1471<dd>
1472<p>
1473 Make sure ref name is well formed.
1474</p>
1475</dd>
1476<dt>
1477<a href="git-fmt-merge-msg.html">git-fmt-merge-msg(1)</a>
1478</dt>
1479<dd>
1480<p>
1481 Produce a merge commit message.
1482</p>
1483</dd>
1484<dt>
1485<a href="git-mailinfo.html">git-mailinfo(1)</a>
1486</dt>
1487<dd>
1488<p>
1489 Extracts patch and authorship from a single e-mail message.
1490</p>
1491</dd>
1492<dt>
1493<a href="git-mailsplit.html">git-mailsplit(1)</a>
1494</dt>
1495<dd>
1496<p>
1497 Simple UNIX mbox splitter program.
1498</p>
1499</dd>
1500<dt>
1501<a href="git-merge-one-file.html">git-merge-one-file(1)</a>
1502</dt>
1503<dd>
1504<p>
1505 The standard helper program to use with git-merge-index.
1506</p>
1507</dd>
1508<dt>
1509<a href="git-patch-id.html">git-patch-id(1)</a>
1510</dt>
1511<dd>
1512<p>
1513 Compute unique ID for a patch.
1514</p>
1515</dd>
1516<dt>
1517<a href="git-peek-remote.html">git-peek-remote(1)</a>
1518</dt>
1519<dd>
1520<p>
Junio C Hamano9d2bbb72007-11-25 04:56:071521 (deprecated) List the references in a remote repository.
Junio C Hamano4ad294b2007-01-20 02:22:501522</p>
1523</dd>
1524<dt>
1525<a href="git-sh-setup.html">git-sh-setup(1)</a>
1526</dt>
1527<dd>
1528<p>
1529 Common git shell script setup code.
1530</p>
1531</dd>
1532<dt>
1533<a href="git-stripspace.html">git-stripspace(1)</a>
1534</dt>
1535<dd>
1536<p>
1537 Filter out empty lines.
1538</p>
1539</dd>
Junio C Hamanoba4b9282008-07-06 05:20:311540</dl></div>
Junio C Hamanob19b4f02006-10-29 20:47:221541</div>
Junio C Hamanoba4b9282008-07-06 05:20:311542<h2 id="_configuration_mechanism">Configuration Mechanism</h2>
Junio C Hamano1a4e8412005-12-27 08:17:231543<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:311544<div class="para"><p>Starting from 0.99.9 (actually mid 0.99.8.GIT), <tt>.git/config</tt> file
Junio C Hamano1a4e8412005-12-27 08:17:231545is used to hold per-repository configuration options. It is a
Junio C Hamano51c2ab02006-07-09 20:38:541546simple text file modeled after <tt>.ini</tt> format familiar to some
Junio C Hamanoba4b9282008-07-06 05:20:311547people. Here is an example:</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:231548<div class="listingblock">
1549<div class="content">
1550<pre><tt>#
1551# A '#' or ';' character indicates a comment.
1552#
1553
1554; core variables
1555[core]
1556 ; Don't trust file modes
1557 filemode = false
1558
1559; user identity
1560[user]
1561 name = "Junio C Hamano"
1562 email = "junkio@twinsun.com"
1563</tt></pre>
1564</div></div>
Junio C Hamanoba4b9282008-07-06 05:20:311565<div class="para"><p>Various commands read from the configuration file and adjust
1566their operation accordingly.</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:231567</div>
Junio C Hamanoba4b9282008-07-06 05:20:311568<h2 id="_identifier_terminology">Identifier Terminology</h2>
Junio C Hamano1a4e8412005-12-27 08:17:231569<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:311570<div class="vlist"><dl>
Junio C Hamano1a4e8412005-12-27 08:17:231571<dt>
1572&lt;object&gt;
1573</dt>
1574<dd>
1575<p>
1576 Indicates the object name for any type of object.
1577</p>
1578</dd>
1579<dt>
1580&lt;blob&gt;
1581</dt>
1582<dd>
1583<p>
1584 Indicates a blob object name.
1585</p>
1586</dd>
1587<dt>
1588&lt;tree&gt;
1589</dt>
1590<dd>
1591<p>
1592 Indicates a tree object name.
1593</p>
1594</dd>
1595<dt>
1596&lt;commit&gt;
1597</dt>
1598<dd>
1599<p>
1600 Indicates a commit object name.
1601</p>
1602</dd>
1603<dt>
1604&lt;tree-ish&gt;
1605</dt>
1606<dd>
1607<p>
1608 Indicates a tree, commit or tag object name. A
1609 command that takes a &lt;tree-ish&gt; argument ultimately wants to
1610 operate on a &lt;tree&gt; object but automatically dereferences
1611 &lt;commit&gt; and &lt;tag&gt; objects that point at a &lt;tree&gt;.
1612</p>
1613</dd>
1614<dt>
Junio C Hamano60f8aa82007-03-06 09:58:261615&lt;commit-ish&gt;
1616</dt>
1617<dd>
1618<p>
1619 Indicates a commit or tag object name. A
1620 command that takes a &lt;commit-ish&gt; argument ultimately wants to
1621 operate on a &lt;commit&gt; object but automatically dereferences
1622 &lt;tag&gt; objects that point at a &lt;commit&gt;.
1623</p>
1624</dd>
1625<dt>
Junio C Hamano1a4e8412005-12-27 08:17:231626&lt;type&gt;
1627</dt>
1628<dd>
1629<p>
1630 Indicates that an object type is required.
1631 Currently one of: <tt>blob</tt>, <tt>tree</tt>, <tt>commit</tt>, or <tt>tag</tt>.
1632</p>
1633</dd>
1634<dt>
1635&lt;file&gt;
1636</dt>
1637<dd>
1638<p>
1639 Indicates a filename - almost always relative to the
1640 root of the tree structure <tt>GIT_INDEX_FILE</tt> describes.
1641</p>
1642</dd>
Junio C Hamanoba4b9282008-07-06 05:20:311643</dl></div>
Junio C Hamano1a4e8412005-12-27 08:17:231644</div>
Junio C Hamanoba4b9282008-07-06 05:20:311645<h2 id="_symbolic_identifiers">Symbolic Identifiers</h2>
Junio C Hamano1a4e8412005-12-27 08:17:231646<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:311647<div class="para"><p>Any git command accepting any &lt;object&gt; can also use the following
1648symbolic notation:</p></div>
1649<div class="vlist"><dl>
Junio C Hamano1a4e8412005-12-27 08:17:231650<dt>
1651HEAD
1652</dt>
1653<dd>
1654<p>
1655 indicates the head of the current branch (i.e. the
1656 contents of <tt>$GIT_DIR/HEAD</tt>).
1657</p>
1658</dd>
1659<dt>
1660&lt;tag&gt;
1661</dt>
1662<dd>
1663<p>
1664 a valid tag <em>name</em>
1665 (i.e. the contents of <tt>$GIT_DIR/refs/tags/&lt;tag&gt;</tt>).
1666</p>
1667</dd>
1668<dt>
1669&lt;head&gt;
1670</dt>
1671<dd>
1672<p>
1673 a valid head <em>name</em>
1674 (i.e. the contents of <tt>$GIT_DIR/refs/heads/&lt;head&gt;</tt>).
1675</p>
1676</dd>
Junio C Hamanoba4b9282008-07-06 05:20:311677</dl></div>
1678<div class="para"><p>For a more complete list of ways to spell object names, see
1679"SPECIFYING REVISIONS" section in <a href="git-rev-parse.html">git-rev-parse(1)</a>.</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:231680</div>
Junio C Hamanoba4b9282008-07-06 05:20:311681<h2 id="_file_directory_structure">File/Directory Structure</h2>
Junio C Hamano1a4e8412005-12-27 08:17:231682<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:311683<div class="para"><p>Please see the <a href="gitrepository-layout.html">gitrepository-layout(5)</a> document.</p></div>
1684<div class="para"><p>Read <a href="githooks.html">githooks(5)</a> for more details about each hook.</p></div>
1685<div class="para"><p>Higher level SCMs may provide and manage additional information in the
1686<tt>$GIT_DIR</tt>.</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:231687</div>
Junio C Hamanoba4b9282008-07-06 05:20:311688<h2 id="_terminology">Terminology</h2>
Junio C Hamano1a4e8412005-12-27 08:17:231689<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:311690<div class="para"><p>Please see <a href="gitglossary.html">gitglossary(7)</a>.</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:231691</div>
Junio C Hamanoba4b9282008-07-06 05:20:311692<h2 id="_environment_variables">Environment Variables</h2>
Junio C Hamano1a4e8412005-12-27 08:17:231693<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:311694<div class="para"><p>Various git commands use the following environment variables:</p></div>
1695<h3 id="_the_git_repository">The git Repository</h3><div style="clear:left"></div>
1696<div class="para"><p>These environment variables apply to <em>all</em> core git commands. Nb: it
Junio C Hamano1a4e8412005-12-27 08:17:231697is worth noting that they may be used/overridden by SCMS sitting above
Junio C Hamanoba4b9282008-07-06 05:20:311698git so take care if using Cogito etc.</p></div>
1699<div class="vlist"><dl>
Junio C Hamano1a4e8412005-12-27 08:17:231700<dt>
1701<em>GIT_INDEX_FILE</em>
1702</dt>
1703<dd>
1704<p>
1705 This environment allows the specification of an alternate
1706 index file. If not specified, the default of <tt>$GIT_DIR/index</tt>
1707 is used.
1708</p>
1709</dd>
1710<dt>
1711<em>GIT_OBJECT_DIRECTORY</em>
1712</dt>
1713<dd>
1714<p>
1715 If the object storage directory is specified via this
1716 environment variable then the sha1 directories are created
1717 underneath - otherwise the default <tt>$GIT_DIR/objects</tt>
1718 directory is used.
1719</p>
1720</dd>
1721<dt>
1722<em>GIT_ALTERNATE_OBJECT_DIRECTORIES</em>
1723</dt>
1724<dd>
1725<p>
1726 Due to the immutable nature of git objects, old objects can be
1727 archived into shared, read-only directories. This variable
Junio C Hamano05bf9c52008-07-03 09:21:581728 specifies a ":" separated (on Windows ";" separated) list
1729 of git object directories which can be used to search for git
1730 objects. New objects will not be written to these directories.
Junio C Hamano1a4e8412005-12-27 08:17:231731</p>
1732</dd>
1733<dt>
1734<em>GIT_DIR</em>
1735</dt>
1736<dd>
1737<p>
1738 If the <em>GIT_DIR</em> environment variable is set then it
1739 specifies a path to use instead of the default <tt>.git</tt>
1740 for the base of the repository.
1741</p>
1742</dd>
Junio C Hamanod526ba92007-07-02 00:17:421743<dt>
1744<em>GIT_WORK_TREE</em>
1745</dt>
1746<dd>
1747<p>
1748 Set the path to the working tree. The value will not be
1749 used in combination with repositories found automatically in
1750 a .git directory (i.e. $GIT_DIR is not set).
1751 This can also be controlled by the <em>--work-tree</em> command line
1752 option and the core.worktree configuration variable.
1753</p>
1754</dd>
Junio C Hamano15048272008-07-07 22:10:481755<dt>
1756<em>GIT_CEILING_DIRECTORIES</em>
1757</dt>
1758<dd>
1759<p>
1760 This should be a colon-separated list of absolute paths.
1761 If set, it is a list of directories that git should not chdir
1762 up into while looking for a repository directory.
1763 It will not exclude the current working directory or
1764 a GIT_DIR set on the command line or in the environment.
1765 (Useful for excluding slow-loading network directories.)
1766</p>
1767</dd>
Junio C Hamanoba4b9282008-07-06 05:20:311768</dl></div>
1769<h3 id="_git_commits">git Commits</h3><div style="clear:left"></div>
1770<div class="vlist"><dl>
Junio C Hamano1a4e8412005-12-27 08:17:231771<dt>
1772<em>GIT_AUTHOR_NAME</em>
1773</dt>
1774<dt>
1775<em>GIT_AUTHOR_EMAIL</em>
1776</dt>
1777<dt>
1778<em>GIT_AUTHOR_DATE</em>
1779</dt>
1780<dt>
1781<em>GIT_COMMITTER_NAME</em>
1782</dt>
1783<dt>
1784<em>GIT_COMMITTER_EMAIL</em>
1785</dt>
Junio C Hamano469d60e2007-04-29 18:30:341786<dt>
1787<em>GIT_COMMITTER_DATE</em>
1788</dt>
1789<dt>
1790<em>EMAIL</em>
1791</dt>
Junio C Hamano1a4e8412005-12-27 08:17:231792<dd>
1793<p>
1794 see <a href="git-commit-tree.html">git-commit-tree(1)</a>
1795</p>
1796</dd>
Junio C Hamanoba4b9282008-07-06 05:20:311797</dl></div>
1798<h3 id="_git_diffs">git Diffs</h3><div style="clear:left"></div>
1799<div class="vlist"><dl>
Junio C Hamano1a4e8412005-12-27 08:17:231800<dt>
1801<em>GIT_DIFF_OPTS</em>
1802</dt>
Junio C Hamano1c437122006-11-28 02:22:251803<dd>
1804<p>
1805 Only valid setting is "--unified=??" or "-u??" to set the
1806 number of context lines shown when a unified diff is created.
1807 This takes precedence over any "-U" or "--unified" option
1808 value passed on the git diff command line.
1809</p>
1810</dd>
Junio C Hamano1a4e8412005-12-27 08:17:231811<dt>
1812<em>GIT_EXTERNAL_DIFF</em>
1813</dt>
1814<dd>
1815<p>
Junio C Hamano1c437122006-11-28 02:22:251816 When the environment variable <em>GIT_EXTERNAL_DIFF</em> is set, the
1817 program named by it is called, instead of the diff invocation
1818 described above. For a path that is added, removed, or modified,
1819 <em>GIT_EXTERNAL_DIFF</em> is called with 7 parameters:
Junio C Hamano1a4e8412005-12-27 08:17:231820</p>
Junio C Hamano1c437122006-11-28 02:22:251821<div class="literalblock">
1822<div class="content">
1823<pre><tt>path old-file old-hex old-mode new-file new-hex new-mode</tt></pre>
1824</div></div>
Junio C Hamanoba4b9282008-07-06 05:20:311825<div class="para"><p>where:</p></div>
Junio C Hamano1c437122006-11-28 02:22:251826<div class="hlist"><table>
1827<tr>
1828<td class="hlist1">
1829&lt;old|new&gt;-file
1830</td>
1831<td class="hlist2">
1832are files GIT_EXTERNAL_DIFF can use to read the
1833 contents of &lt;old|new&gt;,
1834</td>
1835</tr>
1836<tr>
1837<td class="hlist1">
1838&lt;old|new&gt;-hex
1839</td>
1840<td class="hlist2">
1841are the 40-hexdigit SHA1 hashes,
1842</td>
1843</tr>
1844<tr>
1845<td class="hlist1">
1846&lt;old|new&gt;-mode
1847</td>
1848<td class="hlist2">
1849are the octal representation of the file modes.
1850</td>
1851</tr>
1852</table></div>
Junio C Hamanoba4b9282008-07-06 05:20:311853<div class="para"><p>The file parameters can point at the user's working file
Junio C Hamano1c437122006-11-28 02:22:251854(e.g. <tt>new-file</tt> in "git-diff-files"), <tt>/dev/null</tt> (e.g. <tt>old-file</tt>
1855when a new file is added), or a temporary file (e.g. <tt>old-file</tt> in the
1856index). <em>GIT_EXTERNAL_DIFF</em> should not worry about unlinking the
Junio C Hamanoba4b9282008-07-06 05:20:311857temporary file --- it is removed when <em>GIT_EXTERNAL_DIFF</em> exits.</p></div>
1858<div class="para"><p>For a path that is unmerged, <em>GIT_EXTERNAL_DIFF</em> is called with 1
1859parameter, &lt;path&gt;.</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:231860</dd>
Junio C Hamanoba4b9282008-07-06 05:20:311861</dl></div>
1862<h3 id="_other">other</h3><div style="clear:left"></div>
1863<div class="vlist"><dl>
Junio C Hamano7ccb9fd2006-07-15 01:38:401864<dt>
Junio C Hamano1e6e0062007-07-13 05:33:251865<em>GIT_MERGE_VERBOSITY</em>
1866</dt>
1867<dd>
1868<p>
1869 A number controlling the amount of output shown by
1870 the recursive merge strategy. Overrides merge.verbosity.
1871 See <a href="git-merge.html">git-merge(1)</a>
1872</p>
1873</dd>
1874<dt>
Junio C Hamano85e45fa2006-08-13 07:47:411875<em>GIT_PAGER</em>
1876</dt>
1877<dd>
1878<p>
Junio C Hamanof6002a92007-07-20 10:28:221879 This environment variable overrides <tt>$PAGER</tt>. If it is set
1880 to an empty string or to the value "cat", git will not launch
1881 a pager.
Junio C Hamano85e45fa2006-08-13 07:47:411882</p>
1883</dd>
1884<dt>
Junio C Hamano4cd1c0e2007-08-06 04:39:141885<em>GIT_SSH</em>
1886</dt>
1887<dd>
1888<p>
Junio C Hamanoba4b9282008-07-06 05:20:311889 If this environment variable is set then <em>git-fetch</em>
1890 and <em>git-push</em> will use this command instead
1891 of <em>ssh</em> when they need to connect to a remote system.
Junio C Hamanofce7c7e2008-07-02 03:06:381892 The <em>$GIT_SSH</em> command will be given exactly two arguments:
Junio C Hamano4cd1c0e2007-08-06 04:39:141893 the <em>username@host</em> (or just <em>host</em>) from the URL and the
1894 shell command to execute on that remote system.
1895</p>
Junio C Hamanoba4b9282008-07-06 05:20:311896<div class="para"><p>To pass options to the program that you want to list in GIT_SSH
Junio C Hamano4cd1c0e2007-08-06 04:39:141897you will need to wrap the program and options into a shell script,
Junio C Hamanoba4b9282008-07-06 05:20:311898then set GIT_SSH to refer to the shell script.</p></div>
1899<div class="para"><p>Usually it is easier to configure any desired options through your
Junio C Hamano4cd1c0e2007-08-06 04:39:141900personal <tt>.ssh/config</tt> file. Please consult your ssh documentation
Junio C Hamanoba4b9282008-07-06 05:20:311901for further details.</p></div>
Junio C Hamano4cd1c0e2007-08-06 04:39:141902</dd>
1903<dt>
Junio C Hamano401939f2007-07-01 06:34:301904<em>GIT_FLUSH</em>
1905</dt>
1906<dd>
1907<p>
1908 If this environment variable is set to "1", then commands such
Junio C Hamanoba4b9282008-07-06 05:20:311909 as <em>git-blame</em> (in incremental mode), <em>git-rev-list</em>, <em>git-log</em>,
1910 and <em>git-whatchanged</em> will force a flush of the output stream
Junio C Hamano401939f2007-07-01 06:34:301911 after each commit-oriented record have been flushed. If this
1912 variable is set to "0", the output of these commands will be done
1913 using completely buffered I/O. If this environment variable is
1914 not set, git will choose buffered or record-oriented flushing
1915 based on whether stdout appears to be redirected to a file or not.
1916</p>
1917</dd>
1918<dt>
Junio C Hamano7ccb9fd2006-07-15 01:38:401919<em>GIT_TRACE</em>
1920</dt>
1921<dd>
1922<p>
Junio C Hamanoef4b48b2006-09-04 10:08:341923 If this variable is set to "1", "2" or "true" (comparison
1924 is case insensitive), git will print <tt>trace:</tt> messages on
Junio C Hamano7ccb9fd2006-07-15 01:38:401925 stderr telling about alias expansion, built-in command
1926 execution and external command execution.
Junio C Hamanoef4b48b2006-09-04 10:08:341927 If this variable is set to an integer value greater than 1
1928 and lower than 10 (strictly) then git will interpret this
1929 value as an open file descriptor and will try to write the
1930 trace messages into this file descriptor.
1931 Alternatively, if this variable is set to an absolute path
1932 (starting with a <em>/</em> character), git will interpret this
1933 as a file path and will try to write the trace messages
1934 into it.
Junio C Hamano7ccb9fd2006-07-15 01:38:401935</p>
1936</dd>
Junio C Hamanoba4b9282008-07-06 05:20:311937</dl></div>
Junio C Hamano1a4e8412005-12-27 08:17:231938</div>
Junio C Hamanoba4b9282008-07-06 05:20:311939<h2 id="_discussion_a_id_discussion_a">Discussion<a id="Discussion"></a></h2>
Junio C Hamano1a4e8412005-12-27 08:17:231940<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:311941<div class="para"><p>More detail on the following is available from the
Junio C Hamano597ffcf2007-09-17 17:33:151942<a href="user-manual.html#git-concepts">git concepts chapter of the
Junio C Hamanoba4b9282008-07-06 05:20:311943user-manual</a> and <a href="gitcore-tutorial.html">gitcore-tutorial(7)</a>.</p></div>
1944<div class="para"><p>A git project normally consists of a working directory with a ".git"
Junio C Hamano597ffcf2007-09-17 17:33:151945subdirectory at the top level. The .git directory contains, among other
1946things, a compressed object database representing the complete history
1947of the project, an "index" file which links that history to the current
1948contents of the working tree, and named pointers into that history such
Junio C Hamanoba4b9282008-07-06 05:20:311949as tags and branch heads.</p></div>
1950<div class="para"><p>The object database contains objects of three main types: blobs, which
Junio C Hamano597ffcf2007-09-17 17:33:151951hold file data; trees, which point to blobs and other trees to build up
Junio C Hamanofe986052007-12-19 07:33:381952directory hierarchies; and commits, which each reference a single tree
Junio C Hamanoba4b9282008-07-06 05:20:311953and some number of parent commits.</p></div>
1954<div class="para"><p>The commit, equivalent to what other systems call a "changeset" or
Junio C Hamano597ffcf2007-09-17 17:33:151955"version", represents a step in the project's history, and each parent
1956represents an immediately preceding step. Commits with more than one
Junio C Hamanoba4b9282008-07-06 05:20:311957parent represent merges of independent lines of development.</p></div>
1958<div class="para"><p>All objects are named by the SHA1 hash of their contents, normally
Junio C Hamano597ffcf2007-09-17 17:33:151959written as a string of 40 hex digits. Such names are globally unique.
1960The entire history leading up to a commit can be vouched for by signing
1961just that commit. A fourth object type, the tag, is provided for this
Junio C Hamanoba4b9282008-07-06 05:20:311962purpose.</p></div>
1963<div class="para"><p>When first created, objects are stored in individual files, but for
1964efficiency may later be compressed together into "pack files".</p></div>
1965<div class="para"><p>Named pointers called refs mark interesting points in history. A ref
Junio C Hamano597ffcf2007-09-17 17:33:151966may contain the SHA1 name of an object or the name of another ref. Refs
1967with names beginning <tt>ref/head/</tt> contain the SHA1 name of the most
Junio C Hamanofe986052007-12-19 07:33:381968recent commit (or "head") of a branch under development. SHA1 names of
Junio C Hamano597ffcf2007-09-17 17:33:151969tags of interest are stored under <tt>ref/tags/</tt>. A special ref named
Junio C Hamanoba4b9282008-07-06 05:20:311970<tt>HEAD</tt> contains the name of the currently checked-out branch.</p></div>
1971<div class="para"><p>The index file is initialized with a list of all paths and, for each
Junio C Hamano597ffcf2007-09-17 17:33:151972path, a blob object and a set of attributes. The blob object represents
1973the contents of the file as of the head of the current branch. The
1974attributes (last modified time, size, etc.) are taken from the
1975corresponding file in the working tree. Subsequent changes to the
1976working tree can be found by comparing these attributes. The index may
1977be updated with new content, and new commits may be created from the
Junio C Hamanoba4b9282008-07-06 05:20:311978content stored in the index.</p></div>
1979<div class="para"><p>The index is also capable of storing multiple entries (called "stages")
Junio C Hamano597ffcf2007-09-17 17:33:151980for a given pathname. These stages are used to hold the various
Junio C Hamanoba4b9282008-07-06 05:20:311981unmerged version of a file when a merge is in progress.</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:231982</div>
Junio C Hamanoba4b9282008-07-06 05:20:311983<h2 id="_authors">Authors</h2>
Junio C Hamano1a4e8412005-12-27 08:17:231984<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:311985<div class="ilist"><ul>
Junio C Hamano1a4e8412005-12-27 08:17:231986<li>
1987<p>
1988git's founding father is Linus Torvalds &lt;torvalds@osdl.org&gt;.
1989</p>
1990</li>
1991<li>
1992<p>
Junio C Hamanodbb64592007-09-01 11:17:391993The current git nurse is Junio C Hamano &lt;gitster@pobox.com&gt;.
Junio C Hamano1a4e8412005-12-27 08:17:231994</p>
1995</li>
1996<li>
1997<p>
Junio C Hamanoe0facb92007-12-05 10:59:481998The git potty was written by Andreas Ericsson &lt;ae@op5.se&gt;.
Junio C Hamano1a4e8412005-12-27 08:17:231999</p>
2000</li>
2001<li>
2002<p>
2003General upbringing is handled by the git-list &lt;git@vger.kernel.org&gt;.
2004</p>
2005</li>
Junio C Hamanoba4b9282008-07-06 05:20:312006</ul></div>
Junio C Hamano1a4e8412005-12-27 08:17:232007</div>
Junio C Hamanoba4b9282008-07-06 05:20:312008<h2 id="_documentation">Documentation</h2>
Junio C Hamano1a4e8412005-12-27 08:17:232009<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:312010<div class="para"><p>The documentation for git suite was started by David Greaves
Junio C Hamano1a4e8412005-12-27 08:17:232011&lt;david@dgreaves.com&gt;, and later enhanced greatly by the
Junio C Hamanoba4b9282008-07-06 05:20:312012contributors on the git-list &lt;git@vger.kernel.org&gt;.</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:232013</div>
Junio C Hamanoba4b9282008-07-06 05:20:312014<h2 id="_see_also">SEE ALSO</h2>
Junio C Hamano9e1793f2008-06-02 07:31:162015<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:312016<div class="para"><p><a href="gittutorial.html">gittutorial(7)</a>, <a href="gittutorial-2.html">gittutorial-2(7)</a>,
Junio C Hamanod32738e2008-07-09 19:53:422017<a href="everyday.html">everyday(7)</a>, <a href="gitcvs-migration.html">gitcvs-migration(7)</a>,
Junio C Hamano9e1793f2008-06-02 07:31:162018<a href="gitglossary.html">gitglossary(7)</a>, <a href="gitcore-tutorial.html">gitcore-tutorial(7)</a>,
Junio C Hamanoba4b9282008-07-06 05:20:312019<a href="gitcli.html">gitcli(7)</a>, <a href="user-manual.html">The Git User's Manual</a></p></div>
Junio C Hamano9e1793f2008-06-02 07:31:162020</div>
Junio C Hamanoba4b9282008-07-06 05:20:312021<h2 id="_git">GIT</h2>
Junio C Hamano1a4e8412005-12-27 08:17:232022<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:312023<div class="para"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
Junio C Hamano1a4e8412005-12-27 08:17:232024</div>
2025<div id="footer">
2026<div id="footer-text">
Junio C Hamano46a38aa2008-07-14 03:13:272027Last updated 2008-07-14 03:12:31 UTC
Junio C Hamano1a4e8412005-12-27 08:17:232028</div>
2029</div>
2030</body>
2031</html>