blob: d5671bed3e9ccdee0f81de99366624d006b63296 [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 Hamano40f2f8d2006-02-07 08:04:396<meta name="generator" content="AsciiDoc 7.0.2" />
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
19a { color: blue; }
20a:visited { color: fuchsia; }
21
22em {
23 font-style: italic;
24}
25
26strong {
27 font-weight: bold;
28}
29
30tt {
31 color: navy;
32}
33
34h1, h2, h3, h4, h5, h6 {
35 color: #527bbd;
36 font-family: sans-serif;
37 margin-top: 1.2em;
38 margin-bottom: 0.5em;
39 line-height: 1.3;
40}
41
42h1 {
43 border-bottom: 2px solid silver;
44}
45h2 {
46 border-bottom: 2px solid silver;
47 padding-top: 0.5em;
48}
49
50div.sectionbody {
51 font-family: serif;
52 margin-left: 0;
53}
54
55hr {
56 border: 1px solid silver;
57}
58
59p {
60 margin-top: 0.5em;
61 margin-bottom: 0.5em;
62}
63
64pre {
65 padding: 0;
66 margin: 0;
67}
68
69span#author {
70 color: #527bbd;
71 font-family: sans-serif;
72 font-weight: bold;
73 font-size: 1.2em;
74}
75span#email {
76}
77span#revision {
78 font-family: sans-serif;
79}
80
81div#footer {
82 font-family: sans-serif;
83 font-size: small;
84 border-top: 2px solid silver;
85 padding-top: 0.5em;
86 margin-top: 4.0em;
87}
88div#footer-text {
89 float: left;
90 padding-bottom: 0.5em;
91}
92div#footer-badges {
93 float: right;
94 padding-bottom: 0.5em;
95}
96
97div#preamble,
98div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
99div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
100div.admonitionblock {
101 margin-right: 10%;
102 margin-top: 1.5em;
103 margin-bottom: 1.5em;
104}
105div.admonitionblock {
106 margin-top: 2.5em;
107 margin-bottom: 2.5em;
108}
109
110div.content { /* Block element content. */
111 padding: 0;
112}
113
114/* Block element titles. */
115div.title, caption.title {
116 font-family: sans-serif;
117 font-weight: bold;
118 text-align: left;
119 margin-top: 1.0em;
120 margin-bottom: 0.5em;
121}
122div.title + * {
123 margin-top: 0;
124}
125
126td div.title:first-child {
127 margin-top: 0.0em;
128}
129div.content div.title:first-child {
130 margin-top: 0.0em;
131}
132div.content + div.title {
133 margin-top: 0.0em;
134}
135
136div.sidebarblock > div.content {
137 background: #ffffee;
138 border: 1px solid silver;
139 padding: 0.5em;
140}
141
142div.listingblock > div.content {
143 border: 1px solid silver;
144 background: #f4f4f4;
145 padding: 0.5em;
146}
147
148div.quoteblock > div.content {
149 padding-left: 2.0em;
150}
151div.quoteblock .attribution {
152 text-align: right;
153}
154
155div.admonitionblock .icon {
156 vertical-align: top;
157 font-size: 1.1em;
158 font-weight: bold;
159 text-decoration: underline;
160 color: #527bbd;
161 padding-right: 0.5em;
162}
163div.admonitionblock td.content {
164 padding-left: 0.5em;
165 border-left: 2px solid silver;
166}
167
168div.exampleblock > div.content {
169 border-left: 2px solid silver;
170 padding: 0.5em;
171}
172
173div.verseblock div.content {
174 white-space: pre;
175}
176
177div.imageblock div.content { padding-left: 0; }
178div.imageblock img { border: 1px solid silver; }
179span.image img { border-style: none; }
180
181dl {
182 margin-top: 0.8em;
183 margin-bottom: 0.8em;
184}
185dt {
186 margin-top: 0.5em;
187 margin-bottom: 0;
188 font-style: italic;
189}
190dd > *:first-child {
191 margin-top: 0;
192}
193
194ul, ol {
195 list-style-position: outside;
196}
197ol.olist2 {
198 list-style-type: lower-alpha;
199}
200
201div.tableblock > table {
202 border-color: #527bbd;
203 border-width: 3px;
204}
205thead {
206 font-family: sans-serif;
207 font-weight: bold;
208}
209tfoot {
210 font-weight: bold;
211}
212
213div.hlist {
214 margin-top: 0.8em;
215 margin-bottom: 0.8em;
216}
217td.hlist1 {
218 vertical-align: top;
219 font-style: italic;
220 padding-right: 0.8em;
221}
222td.hlist2 {
223 vertical-align: top;
224}
225
226@media print {
227 div#footer-badges { display: none; }
228}
229include::./stylesheets/xhtml11-manpage.css[]
230/* Workarounds for IE6's broken and incomplete CSS2. */
231
232div.sidebar-content {
233 background: #ffffee;
234 border: 1px solid silver;
235 padding: 0.5em;
236}
237div.sidebar-title, div.image-title {
238 font-family: sans-serif;
239 font-weight: bold;
240 margin-top: 0.0em;
241 margin-bottom: 0.5em;
242}
243
244div.listingblock div.content {
245 border: 1px solid silver;
246 background: #f4f4f4;
247 padding: 0.5em;
248}
249
250div.quoteblock-content {
251 padding-left: 2.0em;
252}
253
254div.exampleblock-content {
255 border-left: 2px solid silver;
256 padding-left: 0.5em;
257}
258</style>
259<title>git(7)</title>
260</head>
261<body>
262<div id="header">
263<h1>
264git(7) Manual Page
265</h1>
266<h2>NAME</h2>
267<div class="sectionbody">
268<p>git -
269 the stupid content tracker
270</p>
271</div>
272</div>
273<h2>SYNOPSIS</h2>
274<div class="sectionbody">
Junio C Hamano6b2cee12006-08-26 08:43:31275<div class="verseblock">
Junio C Hamanocae86272007-08-21 02:20:49276<div class="content"><em>git</em> [--version] [--exec-path[=GIT_EXEC_PATH]]
277 [-p|--paginate|--no-pager]
Junio C Hamanod526ba92007-07-02 00:17:42278 [--bare] [--git-dir=GIT_DIR] [--work-tree=GIT_WORK_TREE]
279 [--help] COMMAND [ARGS]</div></div>
Junio C Hamano1a4e8412005-12-27 08:17:23280</div>
281<h2>DESCRIPTION</h2>
282<div class="sectionbody">
Junio C Hamanoe27fb932006-04-03 05:34:10283<p>Git is a fast, scalable, distributed revision control system with an
284unusually rich command set that provides both high-level operations
285and full access to internals.</p>
286<p>See this <a href="tutorial.html">tutorial</a> to get started, then see
287<a href="everyday.html">Everyday Git</a> for a useful minimum set of commands, and
288"man git-commandname" for documentation of each command. CVS users may
Junio C Hamano3d30fd52007-05-08 00:32:53289also want to read <a href="cvs-migration.html">CVS migration</a>. See
290<a href="user-manual.html">Git User's Manual</a> for a more in-depth
291introduction.</p>
Junio C Hamano33db4372006-06-07 19:51:45292<p>The COMMAND is either a name of a Git command (see below) or an alias
Junio C Hamano7ad22dc2007-01-29 02:55:48293as defined in the configuration file (see <a href="git-config.html">git-config(1)</a>).</p>
Junio C Hamanob63afff2007-05-01 03:05:55294<p>Formatted and hyperlinked version of the latest git
295documentation can be viewed at
296<tt>http://www.kernel.org/pub/software/scm/git/docs/</tt>.</p>
Junio C Hamano1a4e8412005-12-27 08:17:23297</div>
298<h2>OPTIONS</h2>
299<div class="sectionbody">
300<dl>
301<dt>
302--version
303</dt>
304<dd>
305<p>
Junio C Hamano01078922006-03-10 00:31:47306 Prints the git suite version that the <em>git</em> program came from.
Junio C Hamano1a4e8412005-12-27 08:17:23307</p>
308</dd>
309<dt>
310--help
311</dt>
312<dd>
313<p>
Junio C Hamano01078922006-03-10 00:31:47314 Prints the synopsis and a list of the most commonly used
Junio C Hamano58256872007-12-04 08:31:13315 commands. If the option <em>--all</em> or <em>-a</em> is given then all
316 available commands are printed. If a git command is named this
317 option will bring up the manual page for that command.
Junio C Hamano1a4e8412005-12-27 08:17:23318</p>
Junio C Hamano0c0da5f2007-12-13 02:45:30319<p>Other options are available to control how the manual page is
320displayed. See <a href="git-help.html">git-help(1)</a> for more information,
321because <em>git --help &#8230;</em> is converted internally into <em>git
322help &#8230;</em>.</p>
Junio C Hamano1a4e8412005-12-27 08:17:23323</dd>
324<dt>
325--exec-path
326</dt>
327<dd>
328<p>
Junio C Hamano01078922006-03-10 00:31:47329 Path to wherever your core git programs are installed.
Junio C Hamano1a4e8412005-12-27 08:17:23330 This can also be controlled by setting the GIT_EXEC_PATH
331 environment variable. If no path is given <em>git</em> will print
332 the current setting and then exit.
333</p>
334</dd>
Junio C Hamanof870ef82006-07-29 09:10:13335<dt>
336-p|--paginate
337</dt>
338<dd>
339<p>
340 Pipe all output into <em>less</em> (or if set, $PAGER).
341</p>
342</dd>
343<dt>
Junio C Hamanocae86272007-08-21 02:20:49344--no-pager
345</dt>
346<dd>
347<p>
348 Do not pipe git output into a pager.
349</p>
350</dd>
351<dt>
Junio C Hamanof870ef82006-07-29 09:10:13352--git-dir=&lt;path&gt;
353</dt>
354<dd>
355<p>
356 Set the path to the repository. This can also be controlled by
357 setting the GIT_DIR environment variable.
358</p>
359</dd>
360<dt>
Junio C Hamanod526ba92007-07-02 00:17:42361--work-tree=&lt;path&gt;
362</dt>
363<dd>
364<p>
365 Set the path to the working tree. The value will not be
366 used in combination with repositories found automatically in
367 a .git directory (i.e. $GIT_DIR is not set).
368 This can also be controlled by setting the GIT_WORK_TREE
369 environment variable and the core.worktree configuration
370 variable.
371</p>
372</dd>
373<dt>
Junio C Hamanof870ef82006-07-29 09:10:13374--bare
375</dt>
376<dd>
377<p>
Junio C Hamanoc435b1c2007-08-28 06:25:35378 Treat the repository as a bare repository. If GIT_DIR
379 environment is not set, it is set to the current working
380 directory.
Junio C Hamanof870ef82006-07-29 09:10:13381</p>
382</dd>
Junio C Hamano1a4e8412005-12-27 08:17:23383</dl>
384</div>
Junio C Hamanoe27fb932006-04-03 05:34:10385<h2>FURTHER DOCUMENTATION</h2>
Junio C Hamano1a4e8412005-12-27 08:17:23386<div class="sectionbody">
Junio C Hamanoe27fb932006-04-03 05:34:10387<p>See the references above to get started using git. The following is
388probably more detail than necessary for a first-time user.</p>
Junio C Hamano597ffcf2007-09-17 17:33:15389<p>The <a href="user-manual.html#git-concepts">git concepts chapter of the
390user-manual</a> and the <a href="core-tutorial.html">Core tutorial</a> both provide
391introductions to the underlying git architecture.</p>
Junio C Hamanoe27fb932006-04-03 05:34:10392<p>See also the <a href="howto-index.html">howto</a> documents for some useful
393examples.</p>
Junio C Hamano3dac5042007-12-15 08:40:54394<p>The internals are documented <a href="technical/api-index.html">here</a>.</p>
Junio C Hamano1a4e8412005-12-27 08:17:23395</div>
Junio C Hamanoe27fb932006-04-03 05:34:10396<h2>GIT COMMANDS</h2>
Junio C Hamano1a4e8412005-12-27 08:17:23397<div class="sectionbody">
Junio C Hamanoe27fb932006-04-03 05:34:10398<p>We divide git into high level ("porcelain") commands and low level
399("plumbing") commands.</p>
Junio C Hamano1a4e8412005-12-27 08:17:23400</div>
Junio C Hamanoe27fb932006-04-03 05:34:10401<h2>High-level commands (porcelain)</h2>
Junio C Hamano1a4e8412005-12-27 08:17:23402<div class="sectionbody">
Junio C Hamanoe27fb932006-04-03 05:34:10403<p>We separate the porcelain commands into the main commands and some
404ancillary user utilities.</p>
405<h3>Main porcelain commands</h3>
Junio C Hamano1a4e8412005-12-27 08:17:23406<dl>
407<dt>
408<a href="git-add.html">git-add(1)</a>
409</dt>
410<dd>
411<p>
Junio C Hamano4cd1c0e2007-08-06 04:39:14412 Add file contents to the index.
Junio C Hamano1a4e8412005-12-27 08:17:23413</p>
414</dd>
415<dt>
416<a href="git-am.html">git-am(1)</a>
417</dt>
418<dd>
419<p>
Junio C Hamano7c73c662007-01-19 00:37:50420 Apply a series of patches from a mailbox.
Junio C Hamano1a4e8412005-12-27 08:17:23421</p>
422</dd>
423<dt>
Junio C Hamano817abb42006-09-26 07:16:58424<a href="git-archive.html">git-archive(1)</a>
425</dt>
426<dd>
427<p>
Junio C Hamano4ec06712007-06-09 20:39:33428 Create an archive of files from a named tree.
Junio C Hamano817abb42006-09-26 07:16:58429</p>
430</dd>
431<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23432<a href="git-bisect.html">git-bisect(1)</a>
433</dt>
434<dd>
435<p>
436 Find the change that introduced a bug by binary search.
437</p>
438</dd>
439<dt>
440<a href="git-branch.html">git-branch(1)</a>
441</dt>
442<dd>
443<p>
Junio C Hamano7c73c662007-01-19 00:37:50444 List, create, or delete branches.
Junio C Hamano1a4e8412005-12-27 08:17:23445</p>
446</dd>
447<dt>
Junio C Hamano6ac2f142007-03-01 01:24:56448<a href="git-bundle.html">git-bundle(1)</a>
449</dt>
450<dd>
451<p>
452 Move objects and refs by archive.
453</p>
454</dd>
455<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23456<a href="git-checkout.html">git-checkout(1)</a>
457</dt>
458<dd>
459<p>
460 Checkout and switch to a branch.
461</p>
462</dd>
463<dt>
464<a href="git-cherry-pick.html">git-cherry-pick(1)</a>
465</dt>
466<dd>
467<p>
Junio C Hamano7c73c662007-01-19 00:37:50468 Apply the change introduced by an existing commit.
Junio C Hamano1a4e8412005-12-27 08:17:23469</p>
470</dd>
471<dt>
Junio C Hamano58784fc2007-06-23 08:48:57472<a href="git-citool.html">git-citool(1)</a>
473</dt>
474<dd>
475<p>
476 Graphical alternative to git-commit.
477</p>
478</dd>
479<dt>
Junio C Hamano54559c82006-04-13 07:45:12480<a href="git-clean.html">git-clean(1)</a>
481</dt>
482<dd>
483<p>
484 Remove untracked files from the working tree.
485</p>
486</dd>
487<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23488<a href="git-clone.html">git-clone(1)</a>
489</dt>
490<dd>
491<p>
Junio C Hamano4ec06712007-06-09 20:39:33492 Clone a repository into a new directory.
Junio C Hamano1a4e8412005-12-27 08:17:23493</p>
494</dd>
495<dt>
496<a href="git-commit.html">git-commit(1)</a>
497</dt>
498<dd>
499<p>
500 Record changes to the repository.
501</p>
502</dd>
503<dt>
Junio C Hamano4ad294b2007-01-20 02:22:50504<a href="git-describe.html">git-describe(1)</a>
505</dt>
506<dd>
507<p>
508 Show the most recent tag that is reachable from a commit.
509</p>
510</dd>
511<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23512<a href="git-diff.html">git-diff(1)</a>
513</dt>
514<dd>
515<p>
516 Show changes between commits, commit and working tree, etc.
517</p>
518</dd>
519<dt>
520<a href="git-fetch.html">git-fetch(1)</a>
521</dt>
522<dd>
523<p>
Junio C Hamano7c73c662007-01-19 00:37:50524 Download objects and refs from another repository.
Junio C Hamano1a4e8412005-12-27 08:17:23525</p>
526</dd>
527<dt>
528<a href="git-format-patch.html">git-format-patch(1)</a>
529</dt>
530<dd>
531<p>
532 Prepare patches for e-mail submission.
533</p>
534</dd>
535<dt>
Junio C Hamano4ad294b2007-01-20 02:22:50536<a href="git-gc.html">git-gc(1)</a>
537</dt>
538<dd>
539<p>
540 Cleanup unnecessary files and optimize the local repository.
541</p>
542</dd>
543<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23544<a href="git-grep.html">git-grep(1)</a>
545</dt>
546<dd>
547<p>
548 Print lines matching a pattern.
549</p>
550</dd>
551<dt>
Junio C Hamano58784fc2007-06-23 08:48:57552<a href="git-gui.html">git-gui(1)</a>
553</dt>
554<dd>
555<p>
556 A portable graphical interface to Git.
557</p>
558</dd>
559<dt>
Junio C Hamano4ad294b2007-01-20 02:22:50560<a href="git-init.html">git-init(1)</a>
561</dt>
562<dd>
563<p>
564 Create an empty git repository or reinitialize an existing one.
565</p>
566</dd>
567<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23568<a href="git-log.html">git-log(1)</a>
569</dt>
570<dd>
571<p>
Junio C Hamano7c73c662007-01-19 00:37:50572 Show commit logs.
Junio C Hamano1a4e8412005-12-27 08:17:23573</p>
574</dd>
575<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23576<a href="git-merge.html">git-merge(1)</a>
577</dt>
578<dd>
579<p>
Junio C Hamano7c73c662007-01-19 00:37:50580 Join two or more development histories together.
Junio C Hamano1a4e8412005-12-27 08:17:23581</p>
582</dd>
583<dt>
584<a href="git-mv.html">git-mv(1)</a>
585</dt>
586<dd>
587<p>
588 Move or rename a file, a directory, or a symlink.
589</p>
590</dd>
591<dt>
592<a href="git-pull.html">git-pull(1)</a>
593</dt>
594<dd>
595<p>
Junio C Hamano7c73c662007-01-19 00:37:50596 Fetch from and merge with another repository or a local branch.
Junio C Hamano1a4e8412005-12-27 08:17:23597</p>
598</dd>
599<dt>
600<a href="git-push.html">git-push(1)</a>
601</dt>
602<dd>
603<p>
604 Update remote refs along with associated objects.
605</p>
606</dd>
607<dt>
608<a href="git-rebase.html">git-rebase(1)</a>
609</dt>
610<dd>
611<p>
Junio C Hamano7c73c662007-01-19 00:37:50612 Forward-port local commits to the updated upstream head.
Junio C Hamano1a4e8412005-12-27 08:17:23613</p>
614</dd>
615<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23616<a href="git-reset.html">git-reset(1)</a>
617</dt>
618<dd>
619<p>
620 Reset current HEAD to the specified state.
621</p>
622</dd>
623<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23624<a href="git-revert.html">git-revert(1)</a>
625</dt>
626<dd>
627<p>
628 Revert an existing commit.
629</p>
630</dd>
631<dt>
Junio C Hamano54559c82006-04-13 07:45:12632<a href="git-rm.html">git-rm(1)</a>
633</dt>
634<dd>
635<p>
636 Remove files from the working tree and from the index.
637</p>
638</dd>
639<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23640<a href="git-shortlog.html">git-shortlog(1)</a>
641</dt>
642<dd>
643<p>
Junio C Hamano7c73c662007-01-19 00:37:50644 Summarize <em>git log</em> output.
Junio C Hamano1a4e8412005-12-27 08:17:23645</p>
646</dd>
647<dt>
Junio C Hamano2b135272006-03-18 07:45:42648<a href="git-show.html">git-show(1)</a>
649</dt>
650<dd>
651<p>
Junio C Hamano7c73c662007-01-19 00:37:50652 Show various types of objects.
Junio C Hamano2b135272006-03-18 07:45:42653</p>
654</dd>
655<dt>
Junio C Hamano1d90cb02007-07-03 07:05:31656<a href="git-stash.html">git-stash(1)</a>
657</dt>
658<dd>
659<p>
660 Stash the changes in a dirty working directory away.
661</p>
662</dd>
663<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23664<a href="git-status.html">git-status(1)</a>
665</dt>
666<dd>
667<p>
Junio C Hamano7c73c662007-01-19 00:37:50668 Show the working tree status.
Junio C Hamano1a4e8412005-12-27 08:17:23669</p>
670</dd>
671<dt>
Junio C Hamano38b693c2007-06-03 08:40:14672<a href="git-submodule.html">git-submodule(1)</a>
673</dt>
674<dd>
675<p>
676 Initialize, update or inspect submodules.
677</p>
678</dd>
679<dt>
Junio C Hamano4ad294b2007-01-20 02:22:50680<a href="git-tag.html">git-tag(1)</a>
681</dt>
682<dd>
683<p>
Junio C Hamanodb450ba2007-01-21 08:57:14684 Create, list, delete or verify a tag object signed with GPG.
Junio C Hamano4ad294b2007-01-20 02:22:50685</p>
686</dd>
Junio C Hamano0a16b952007-12-02 18:56:34687<dt>
688<a href="gitk.html">gitk(1)</a>
689</dt>
690<dd>
691<p>
692 The git repository browser.
693</p>
694</dd>
Junio C Hamano4ad294b2007-01-20 02:22:50695</dl>
696<h3>Ancillary Commands</h3>
697<p>Manipulators:</p>
698<dl>
699<dt>
Junio C Hamanob1d6e882007-08-11 08:30:16700<a href="git-config.html">git-config(1)</a>
701</dt>
702<dd>
703<p>
704 Get and set repository or global options.
705</p>
706</dd>
707<dt>
Junio C Hamano58256872007-12-04 08:31:13708<a href="git-fast-export.html">git-fast-export(1)</a>
709</dt>
710<dd>
711<p>
712 Git data exporter.
713</p>
714</dd>
715<dt>
Junio C Hamanodfc4ce72007-02-07 23:17:29716<a href="git-fast-import.html">git-fast-import(1)</a>
717</dt>
718<dd>
719<p>
Junio C Hamano053827f2007-02-14 07:23:58720 Backend for fast Git data importers.
Junio C Hamanodfc4ce72007-02-07 23:17:29721</p>
722</dd>
723<dt>
Junio C Hamanobb0f4042007-07-04 06:41:40724<a href="git-filter-branch.html">git-filter-branch(1)</a>
725</dt>
726<dd>
727<p>
728 Rewrite branches.
729</p>
730</dd>
731<dt>
Junio C Hamano4ad294b2007-01-20 02:22:50732<a href="git-lost-found.html">git-lost-found(1)</a>
733</dt>
734<dd>
735<p>
Junio C Hamano2d7f0272007-11-09 10:03:46736 (deprecated) Recover lost refs that luckily have not yet been pruned.
Junio C Hamano4ad294b2007-01-20 02:22:50737</p>
738</dd>
739<dt>
Junio C Hamano103ad7f2007-03-14 11:19:26740<a href="git-mergetool.html">git-mergetool(1)</a>
741</dt>
742<dd>
743<p>
744 Run merge conflict resolution tools to resolve merge conflicts.
745</p>
746</dd>
747<dt>
Junio C Hamano4ad294b2007-01-20 02:22:50748<a href="git-pack-refs.html">git-pack-refs(1)</a>
749</dt>
750<dd>
751<p>
752 Pack heads and tags for efficient repository access.
753</p>
754</dd>
755<dt>
756<a href="git-prune.html">git-prune(1)</a>
757</dt>
758<dd>
759<p>
Junio C Hamano4ec06712007-06-09 20:39:33760 Prune all unreachable objects from the object database.
Junio C Hamano4ad294b2007-01-20 02:22:50761</p>
762</dd>
763<dt>
764<a href="git-reflog.html">git-reflog(1)</a>
765</dt>
766<dd>
767<p>
768 Manage reflog information.
769</p>
770</dd>
771<dt>
772<a href="git-relink.html">git-relink(1)</a>
773</dt>
774<dd>
775<p>
776 Hardlink common objects in local repositories.
777</p>
778</dd>
779<dt>
Junio C Hamano053827f2007-02-14 07:23:58780<a href="git-remote.html">git-remote(1)</a>
781</dt>
782<dd>
783<p>
784 manage set of tracked repositories.
785</p>
786</dd>
Junio C Hamanob1d6e882007-08-11 08:30:16787<dt>
788<a href="git-repack.html">git-repack(1)</a>
789</dt>
790<dd>
791<p>
792 Pack unpacked objects in a repository.
793</p>
794</dd>
Junio C Hamanobe621892008-01-18 10:20:16795<dt>
796<a href="git-repo-config.html">git-repo-config(1)</a>
797</dt>
798<dd>
799<p>
800 (deprecated) Get and set repository or global options.
801</p>
802</dd>
Junio C Hamano4ad294b2007-01-20 02:22:50803</dl>
804<p>Interrogators:</p>
805<dl>
806<dt>
807<a href="git-annotate.html">git-annotate(1)</a>
808</dt>
809<dd>
810<p>
811 Annotate file lines with commit info.
812</p>
813</dd>
814<dt>
Junio C Hamano4ad294b2007-01-20 02:22:50815<a href="git-blame.html">git-blame(1)</a>
816</dt>
817<dd>
818<p>
819 Show what revision and author last modified each line of a file.
820</p>
821</dd>
822<dt>
823<a href="git-cherry.html">git-cherry(1)</a>
824</dt>
825<dd>
826<p>
827 Find commits not merged upstream.
828</p>
829</dd>
830<dt>
831<a href="git-count-objects.html">git-count-objects(1)</a>
832</dt>
833<dd>
834<p>
835 Count unpacked number of objects and their disk consumption.
836</p>
837</dd>
838<dt>
Junio C Hamano7ad22dc2007-01-29 02:55:48839<a href="git-fsck.html">git-fsck(1)</a>
Junio C Hamano4ad294b2007-01-20 02:22:50840</dt>
841<dd>
842<p>
843 Verifies the connectivity and validity of the objects in the database.
844</p>
845</dd>
846<dt>
847<a href="git-get-tar-commit-id.html">git-get-tar-commit-id(1)</a>
848</dt>
849<dd>
850<p>
Junio C Hamano393e57f2007-11-20 04:53:25851 Extract commit ID from an archive created using git-archive.
Junio C Hamano4ad294b2007-01-20 02:22:50852</p>
853</dd>
854<dt>
Junio C Hamano58256872007-12-04 08:31:13855<a href="git-help.html">git-help(1)</a>
856</dt>
857<dd>
858<p>
859 display help information about git.
860</p>
861</dd>
862<dt>
Junio C Hamano4ad294b2007-01-20 02:22:50863<a href="git-instaweb.html">git-instaweb(1)</a>
864</dt>
865<dd>
866<p>
867 Instantly browse your working repository in gitweb.
868</p>
869</dd>
870<dt>
871<a href="git-merge-tree.html">git-merge-tree(1)</a>
872</dt>
873<dd>
874<p>
875 Show three-way merge without touching index.
876</p>
877</dd>
878<dt>
879<a href="git-rerere.html">git-rerere(1)</a>
880</dt>
881<dd>
882<p>
883 Reuse recorded resolution of conflicted merges.
884</p>
885</dd>
886<dt>
887<a href="git-rev-parse.html">git-rev-parse(1)</a>
888</dt>
889<dd>
890<p>
891 Pick out and massage parameters.
892</p>
893</dd>
894<dt>
Junio C Hamano4ad294b2007-01-20 02:22:50895<a href="git-show-branch.html">git-show-branch(1)</a>
896</dt>
897<dd>
898<p>
899 Show branches and their commits.
900</p>
901</dd>
902<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23903<a href="git-verify-tag.html">git-verify-tag(1)</a>
904</dt>
905<dd>
906<p>
Junio C Hamanob1d6e882007-08-11 08:30:16907 Check the GPG signature of tags.
Junio C Hamano1a4e8412005-12-27 08:17:23908</p>
909</dd>
910<dt>
911<a href="git-whatchanged.html">git-whatchanged(1)</a>
912</dt>
913<dd>
914<p>
Junio C Hamano7c73c662007-01-19 00:37:50915 Show logs with difference each commit introduces.
Junio C Hamano1a4e8412005-12-27 08:17:23916</p>
917</dd>
918</dl>
Junio C Hamano4ad294b2007-01-20 02:22:50919<h3>Interacting with Others</h3>
920<p>These commands are to interact with foreign SCM and with other
921people via patch over e-mail.</p>
Junio C Hamano1a4e8412005-12-27 08:17:23922<dl>
923<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23924<a href="git-archimport.html">git-archimport(1)</a>
925</dt>
926<dd>
927<p>
Junio C Hamano7c73c662007-01-19 00:37:50928 Import an Arch repository into git.
Junio C Hamano1a4e8412005-12-27 08:17:23929</p>
930</dd>
931<dt>
Junio C Hamano1a4e8412005-12-27 08:17:23932<a href="git-cvsexportcommit.html">git-cvsexportcommit(1)</a>
933</dt>
934<dd>
935<p>
936 Export a single commit to a CVS checkout.
937</p>
938</dd>
939<dt>
Junio C Hamano7c73c662007-01-19 00:37:50940<a href="git-cvsimport.html">git-cvsimport(1)</a>
941</dt>
942<dd>
943<p>
944 Salvage your data out of another SCM people love to hate.
945</p>
946</dd>
947<dt>
Junio C Hamano54559c82006-04-13 07:45:12948<a href="git-cvsserver.html">git-cvsserver(1)</a>
949</dt>
950<dd>
951<p>
952 A CVS server emulator for git.
953</p>
954</dd>
955<dt>
Junio C Hamano4ad294b2007-01-20 02:22:50956<a href="git-imap-send.html">git-imap-send(1)</a>
Junio C Hamano52299462006-12-28 00:59:38957</dt>
958<dd>
959<p>
Junio C Hamano4ad294b2007-01-20 02:22:50960 Dump a mailbox from stdin into an imap folder.
Junio C Hamano1a4e8412005-12-27 08:17:23961</p>
962</dd>
963<dt>
Junio C Hamano33db4372006-06-07 19:51:45964<a href="git-quiltimport.html">git-quiltimport(1)</a>
965</dt>
966<dd>
967<p>
968 Applies a quilt patchset onto the current branch.
969</p>
970</dd>
971<dt>
Junio C Hamano4ad294b2007-01-20 02:22:50972<a href="git-request-pull.html">git-request-pull(1)</a>
Junio C Hamano74640642006-12-27 10:59:55973</dt>
974<dd>
975<p>
Junio C Hamano4ad294b2007-01-20 02:22:50976 Generates a summary of pending changes.
Junio C Hamano74640642006-12-27 10:59:55977</p>
978</dd>
979<dt>
Junio C Hamano4ad294b2007-01-20 02:22:50980<a href="git-send-email.html">git-send-email(1)</a>
Junio C Hamano1a4e8412005-12-27 08:17:23981</dt>
982<dd>
983<p>
Junio C Hamano4ad294b2007-01-20 02:22:50984 Send a collection of patches as emails.
Junio C Hamano7c73c662007-01-19 00:37:50985</p>
986</dd>
987<dt>
Junio C Hamanob518f452006-08-04 00:18:06988<a href="git-svn.html">git-svn(1)</a>
989</dt>
990<dd>
991<p>
992 Bidirectional operation between a single Subversion branch and git.
993</p>
994</dd>
Junio C Hamano1a4e8412005-12-27 08:17:23995</dl>
996</div>
Junio C Hamanob19b4f02006-10-29 20:47:22997<h2>Low-level commands (plumbing)</h2>
998<div class="sectionbody">
999<p>Although git includes its
1000own porcelain layer, its low-level commands are sufficient to support
1001development of alternative porcelains. Developers of such porcelains
1002might start by reading about <a href="git-update-index.html">git-update-index(1)</a> and
1003<a href="git-read-tree.html">git-read-tree(1)</a>.</p>
Junio C Hamano4ad294b2007-01-20 02:22:501004<p>The interface (input, output, set of options and the semantics)
1005to these low-level commands are meant to be a lot more stable
1006than Porcelain level commands, because these commands are
1007primarily for scripted use. The interface to Porcelain commands
1008on the other hand are subject to change in order to improve the
1009end user experience.</p>
1010<p>The following description divides
1011the low-level commands into commands that manipulate objects (in
Junio C Hamanob19b4f02006-10-29 20:47:221012the repository, index, and working tree), commands that interrogate and
1013compare objects, and commands that move objects and references between
1014repositories.</p>
1015<h3>Manipulation commands</h3>
1016<dl>
1017<dt>
1018<a href="git-apply.html">git-apply(1)</a>
1019</dt>
1020<dd>
1021<p>
Junio C Hamano7c73c662007-01-19 00:37:501022 Apply a patch on a git index file and a working tree.
Junio C Hamanob19b4f02006-10-29 20:47:221023</p>
1024</dd>
1025<dt>
1026<a href="git-checkout-index.html">git-checkout-index(1)</a>
1027</dt>
1028<dd>
1029<p>
1030 Copy files from the index to the working tree.
1031</p>
1032</dd>
1033<dt>
1034<a href="git-commit-tree.html">git-commit-tree(1)</a>
1035</dt>
1036<dd>
1037<p>
Junio C Hamano7c73c662007-01-19 00:37:501038 Create a new commit object.
Junio C Hamanob19b4f02006-10-29 20:47:221039</p>
1040</dd>
1041<dt>
1042<a href="git-hash-object.html">git-hash-object(1)</a>
1043</dt>
1044<dd>
1045<p>
Junio C Hamano7c73c662007-01-19 00:37:501046 Compute object ID and optionally creates a blob from a file.
Junio C Hamanob19b4f02006-10-29 20:47:221047</p>
1048</dd>
1049<dt>
1050<a href="git-index-pack.html">git-index-pack(1)</a>
1051</dt>
1052<dd>
1053<p>
Junio C Hamano7c73c662007-01-19 00:37:501054 Build pack index file for an existing packed archive.
Junio C Hamanob19b4f02006-10-29 20:47:221055</p>
1056</dd>
1057<dt>
Junio C Hamano1de7bc62006-12-17 19:31:541058<a href="git-merge-file.html">git-merge-file(1)</a>
1059</dt>
1060<dd>
1061<p>
Junio C Hamano7c73c662007-01-19 00:37:501062 Run a three-way file merge.
Junio C Hamano1de7bc62006-12-17 19:31:541063</p>
1064</dd>
1065<dt>
Junio C Hamanob19b4f02006-10-29 20:47:221066<a href="git-merge-index.html">git-merge-index(1)</a>
1067</dt>
1068<dd>
1069<p>
Junio C Hamano7c73c662007-01-19 00:37:501070 Run a merge for files needing merging.
Junio C Hamanob19b4f02006-10-29 20:47:221071</p>
1072</dd>
1073<dt>
1074<a href="git-mktag.html">git-mktag(1)</a>
1075</dt>
1076<dd>
1077<p>
1078 Creates a tag object.
1079</p>
1080</dd>
1081<dt>
1082<a href="git-mktree.html">git-mktree(1)</a>
1083</dt>
1084<dd>
1085<p>
1086 Build a tree-object from ls-tree formatted text.
1087</p>
1088</dd>
1089<dt>
1090<a href="git-pack-objects.html">git-pack-objects(1)</a>
1091</dt>
1092<dd>
1093<p>
Junio C Hamano7c73c662007-01-19 00:37:501094 Create a packed archive of objects.
Junio C Hamanob19b4f02006-10-29 20:47:221095</p>
1096</dd>
1097<dt>
1098<a href="git-prune-packed.html">git-prune-packed(1)</a>
1099</dt>
1100<dd>
1101<p>
1102 Remove extra objects that are already in pack files.
1103</p>
1104</dd>
1105<dt>
1106<a href="git-read-tree.html">git-read-tree(1)</a>
1107</dt>
1108<dd>
1109<p>
1110 Reads tree information into the index.
1111</p>
1112</dd>
1113<dt>
Junio C Hamano4ad294b2007-01-20 02:22:501114<a href="git-symbolic-ref.html">git-symbolic-ref(1)</a>
Junio C Hamanob19b4f02006-10-29 20:47:221115</dt>
1116<dd>
1117<p>
Junio C Hamano4ad294b2007-01-20 02:22:501118 Read and modify symbolic refs.
Junio C Hamanob19b4f02006-10-29 20:47:221119</p>
1120</dd>
1121<dt>
1122<a href="git-unpack-objects.html">git-unpack-objects(1)</a>
1123</dt>
1124<dd>
1125<p>
Junio C Hamano7c73c662007-01-19 00:37:501126 Unpack objects from a packed archive.
Junio C Hamanob19b4f02006-10-29 20:47:221127</p>
1128</dd>
1129<dt>
1130<a href="git-update-index.html">git-update-index(1)</a>
1131</dt>
1132<dd>
1133<p>
Junio C Hamano7c73c662007-01-19 00:37:501134 Register file contents in the working tree to the index.
Junio C Hamanob19b4f02006-10-29 20:47:221135</p>
1136</dd>
1137<dt>
Junio C Hamano4ad294b2007-01-20 02:22:501138<a href="git-update-ref.html">git-update-ref(1)</a>
1139</dt>
1140<dd>
1141<p>
1142 Update the object name stored in a ref safely.
1143</p>
1144</dd>
1145<dt>
Junio C Hamanob19b4f02006-10-29 20:47:221146<a href="git-write-tree.html">git-write-tree(1)</a>
1147</dt>
1148<dd>
1149<p>
Junio C Hamano7c73c662007-01-19 00:37:501150 Create a tree object from the current index.
Junio C Hamanob19b4f02006-10-29 20:47:221151</p>
1152</dd>
1153</dl>
1154<h3>Interrogation commands</h3>
1155<dl>
1156<dt>
1157<a href="git-cat-file.html">git-cat-file(1)</a>
1158</dt>
1159<dd>
1160<p>
1161 Provide content or type/size information for repository objects.
1162</p>
1163</dd>
1164<dt>
Junio C Hamanob19b4f02006-10-29 20:47:221165<a href="git-diff-files.html">git-diff-files(1)</a>
1166</dt>
1167<dd>
1168<p>
1169 Compares files in the working tree and the index.
1170</p>
1171</dd>
1172<dt>
Junio C Hamano7c73c662007-01-19 00:37:501173<a href="git-diff-index.html">git-diff-index(1)</a>
1174</dt>
1175<dd>
1176<p>
1177 Compares content and mode of blobs between the index and repository.
1178</p>
1179</dd>
1180<dt>
Junio C Hamanob19b4f02006-10-29 20:47:221181<a href="git-diff-tree.html">git-diff-tree(1)</a>
1182</dt>
1183<dd>
1184<p>
1185 Compares the content and mode of blobs found via two tree objects.
1186</p>
1187</dd>
1188<dt>
1189<a href="git-for-each-ref.html">git-for-each-ref(1)</a>
1190</dt>
1191<dd>
1192<p>
1193 Output information on each ref.
1194</p>
1195</dd>
1196<dt>
Junio C Hamanob19b4f02006-10-29 20:47:221197<a href="git-ls-files.html">git-ls-files(1)</a>
1198</dt>
1199<dd>
1200<p>
Junio C Hamano7c73c662007-01-19 00:37:501201 Show information about files in the index and the working tree.
Junio C Hamanob19b4f02006-10-29 20:47:221202</p>
1203</dd>
1204<dt>
Junio C Hamano4ad294b2007-01-20 02:22:501205<a href="git-ls-remote.html">git-ls-remote(1)</a>
1206</dt>
1207<dd>
1208<p>
1209 List references in a remote repository.
1210</p>
1211</dd>
1212<dt>
Junio C Hamanob19b4f02006-10-29 20:47:221213<a href="git-ls-tree.html">git-ls-tree(1)</a>
1214</dt>
1215<dd>
1216<p>
Junio C Hamano7c73c662007-01-19 00:37:501217 List the contents of a tree object.
Junio C Hamanob19b4f02006-10-29 20:47:221218</p>
1219</dd>
1220<dt>
1221<a href="git-merge-base.html">git-merge-base(1)</a>
1222</dt>
1223<dd>
1224<p>
Junio C Hamano7c73c662007-01-19 00:37:501225 Find as good common ancestors as possible for a merge.
Junio C Hamanob19b4f02006-10-29 20:47:221226</p>
1227</dd>
1228<dt>
1229<a href="git-name-rev.html">git-name-rev(1)</a>
1230</dt>
1231<dd>
1232<p>
1233 Find symbolic names for given revs.
1234</p>
1235</dd>
1236<dt>
1237<a href="git-pack-redundant.html">git-pack-redundant(1)</a>
1238</dt>
1239<dd>
1240<p>
1241 Find redundant pack files.
1242</p>
1243</dd>
1244<dt>
1245<a href="git-rev-list.html">git-rev-list(1)</a>
1246</dt>
1247<dd>
1248<p>
1249 Lists commit objects in reverse chronological order.
1250</p>
1251</dd>
1252<dt>
1253<a href="git-show-index.html">git-show-index(1)</a>
1254</dt>
1255<dd>
1256<p>
Junio C Hamano7c73c662007-01-19 00:37:501257 Show packed archive index.
Junio C Hamanob19b4f02006-10-29 20:47:221258</p>
1259</dd>
1260<dt>
Junio C Hamanod8c9d432006-11-07 07:19:131261<a href="git-show-ref.html">git-show-ref(1)</a>
1262</dt>
1263<dd>
1264<p>
1265 List references in a local repository.
1266</p>
1267</dd>
1268<dt>
Junio C Hamanob19b4f02006-10-29 20:47:221269<a href="git-tar-tree.html">git-tar-tree(1)</a>
1270</dt>
1271<dd>
1272<p>
Junio C Hamano2d7f0272007-11-09 10:03:461273 (deprecated) Create a tar archive of the files in the named tree object.
Junio C Hamanob19b4f02006-10-29 20:47:221274</p>
1275</dd>
1276<dt>
1277<a href="git-unpack-file.html">git-unpack-file(1)</a>
1278</dt>
1279<dd>
1280<p>
1281 Creates a temporary file with a blob's contents.
1282</p>
1283</dd>
1284<dt>
1285<a href="git-var.html">git-var(1)</a>
1286</dt>
1287<dd>
1288<p>
Junio C Hamano7c73c662007-01-19 00:37:501289 Show a git logical variable.
Junio C Hamanob19b4f02006-10-29 20:47:221290</p>
1291</dd>
1292<dt>
1293<a href="git-verify-pack.html">git-verify-pack(1)</a>
1294</dt>
1295<dd>
1296<p>
Junio C Hamano7c73c662007-01-19 00:37:501297 Validate packed git archive files.
Junio C Hamanob19b4f02006-10-29 20:47:221298</p>
1299</dd>
1300</dl>
1301<p>In general, the interrogate commands do not touch the files in
1302the working tree.</p>
1303<h3>Synching repositories</h3>
1304<dl>
1305<dt>
Junio C Hamano4ad294b2007-01-20 02:22:501306<a href="git-daemon.html">git-daemon(1)</a>
1307</dt>
1308<dd>
1309<p>
1310 A really simple server for git repositories.
1311</p>
1312</dd>
1313<dt>
Junio C Hamanob19b4f02006-10-29 20:47:221314<a href="git-fetch-pack.html">git-fetch-pack(1)</a>
1315</dt>
1316<dd>
1317<p>
Junio C Hamano7c73c662007-01-19 00:37:501318 Receive missing objects from another repository.
Junio C Hamanob19b4f02006-10-29 20:47:221319</p>
1320</dd>
1321<dt>
Junio C Hamano7c73c662007-01-19 00:37:501322<a href="git-send-pack.html">git-send-pack(1)</a>
1323</dt>
1324<dd>
1325<p>
Junio C Hamanoee1e4282007-02-04 08:32:041326 Push objects over git protocol to another repository.
Junio C Hamanob19b4f02006-10-29 20:47:221327</p>
1328</dd>
1329<dt>
Junio C Hamanob19b4f02006-10-29 20:47:221330<a href="git-update-server-info.html">git-update-server-info(1)</a>
1331</dt>
1332<dd>
1333<p>
Junio C Hamano7c73c662007-01-19 00:37:501334 Update auxiliary info file to help dumb servers.
Junio C Hamanob19b4f02006-10-29 20:47:221335</p>
1336</dd>
Junio C Hamano4ad294b2007-01-20 02:22:501337</dl>
1338<p>The following are helper programs used by the above; end users
1339typically do not use them directly.</p>
1340<dl>
1341<dt>
1342<a href="git-http-fetch.html">git-http-fetch(1)</a>
1343</dt>
1344<dd>
1345<p>
1346 Download from a remote git repository via HTTP.
1347</p>
1348</dd>
1349<dt>
1350<a href="git-http-push.html">git-http-push(1)</a>
1351</dt>
1352<dd>
1353<p>
1354 Push objects over HTTP/DAV to another repository.
1355</p>
1356</dd>
1357<dt>
1358<a href="git-parse-remote.html">git-parse-remote(1)</a>
1359</dt>
1360<dd>
1361<p>
1362 Routines to help parsing remote repository access parameters.
1363</p>
1364</dd>
1365<dt>
1366<a href="git-receive-pack.html">git-receive-pack(1)</a>
1367</dt>
1368<dd>
1369<p>
1370 Receive what is pushed into the repository.
1371</p>
1372</dd>
1373<dt>
1374<a href="git-shell.html">git-shell(1)</a>
1375</dt>
1376<dd>
1377<p>
1378 Restricted login shell for GIT-only SSH access.
1379</p>
1380</dd>
Junio C Hamanob19b4f02006-10-29 20:47:221381<dt>
1382<a href="git-upload-archive.html">git-upload-archive(1)</a>
1383</dt>
1384<dd>
1385<p>
Junio C Hamano7c73c662007-01-19 00:37:501386 Send archive back to git-archive.
Junio C Hamanob19b4f02006-10-29 20:47:221387</p>
1388</dd>
1389<dt>
1390<a href="git-upload-pack.html">git-upload-pack(1)</a>
1391</dt>
1392<dd>
1393<p>
Junio C Hamano7c73c662007-01-19 00:37:501394 Send objects packed back to git-fetch-pack.
Junio C Hamanob19b4f02006-10-29 20:47:221395</p>
1396</dd>
1397</dl>
Junio C Hamano4ad294b2007-01-20 02:22:501398<h3>Internal helper commands</h3>
1399<p>These are internal helper commands used by other commands; end
1400users typically do not use them directly.</p>
1401<dl>
1402<dt>
Junio C Hamanoe90436a2007-04-22 07:22:131403<a href="git-check-attr.html">git-check-attr(1)</a>
1404</dt>
1405<dd>
1406<p>
1407 Display gitattributes information..
1408</p>
1409</dd>
1410<dt>
Junio C Hamano4ad294b2007-01-20 02:22:501411<a href="git-check-ref-format.html">git-check-ref-format(1)</a>
1412</dt>
1413<dd>
1414<p>
1415 Make sure ref name is well formed.
1416</p>
1417</dd>
1418<dt>
1419<a href="git-fmt-merge-msg.html">git-fmt-merge-msg(1)</a>
1420</dt>
1421<dd>
1422<p>
1423 Produce a merge commit message.
1424</p>
1425</dd>
1426<dt>
1427<a href="git-mailinfo.html">git-mailinfo(1)</a>
1428</dt>
1429<dd>
1430<p>
1431 Extracts patch and authorship from a single e-mail message.
1432</p>
1433</dd>
1434<dt>
1435<a href="git-mailsplit.html">git-mailsplit(1)</a>
1436</dt>
1437<dd>
1438<p>
1439 Simple UNIX mbox splitter program.
1440</p>
1441</dd>
1442<dt>
1443<a href="git-merge-one-file.html">git-merge-one-file(1)</a>
1444</dt>
1445<dd>
1446<p>
1447 The standard helper program to use with git-merge-index.
1448</p>
1449</dd>
1450<dt>
1451<a href="git-patch-id.html">git-patch-id(1)</a>
1452</dt>
1453<dd>
1454<p>
1455 Compute unique ID for a patch.
1456</p>
1457</dd>
1458<dt>
1459<a href="git-peek-remote.html">git-peek-remote(1)</a>
1460</dt>
1461<dd>
1462<p>
Junio C Hamano9d2bbb72007-11-25 04:56:071463 (deprecated) List the references in a remote repository.
Junio C Hamano4ad294b2007-01-20 02:22:501464</p>
1465</dd>
1466<dt>
1467<a href="git-sh-setup.html">git-sh-setup(1)</a>
1468</dt>
1469<dd>
1470<p>
1471 Common git shell script setup code.
1472</p>
1473</dd>
1474<dt>
1475<a href="git-stripspace.html">git-stripspace(1)</a>
1476</dt>
1477<dd>
1478<p>
1479 Filter out empty lines.
1480</p>
1481</dd>
1482</dl>
Junio C Hamanob19b4f02006-10-29 20:47:221483</div>
Junio C Hamano1a4e8412005-12-27 08:17:231484<h2>Configuration Mechanism</h2>
1485<div class="sectionbody">
1486<p>Starting from 0.99.9 (actually mid 0.99.8.GIT), <tt>.git/config</tt> file
1487is used to hold per-repository configuration options. It is a
Junio C Hamano51c2ab02006-07-09 20:38:541488simple text file modeled after <tt>.ini</tt> format familiar to some
Junio C Hamano1a4e8412005-12-27 08:17:231489people. Here is an example:</p>
1490<div class="listingblock">
1491<div class="content">
1492<pre><tt>#
1493# A '#' or ';' character indicates a comment.
1494#
1495
1496; core variables
1497[core]
1498 ; Don't trust file modes
1499 filemode = false
1500
1501; user identity
1502[user]
1503 name = "Junio C Hamano"
1504 email = "junkio@twinsun.com"
1505</tt></pre>
1506</div></div>
1507<p>Various commands read from the configuration file and adjust
1508their operation accordingly.</p>
1509</div>
1510<h2>Identifier Terminology</h2>
1511<div class="sectionbody">
1512<dl>
1513<dt>
1514&lt;object&gt;
1515</dt>
1516<dd>
1517<p>
1518 Indicates the object name for any type of object.
1519</p>
1520</dd>
1521<dt>
1522&lt;blob&gt;
1523</dt>
1524<dd>
1525<p>
1526 Indicates a blob object name.
1527</p>
1528</dd>
1529<dt>
1530&lt;tree&gt;
1531</dt>
1532<dd>
1533<p>
1534 Indicates a tree object name.
1535</p>
1536</dd>
1537<dt>
1538&lt;commit&gt;
1539</dt>
1540<dd>
1541<p>
1542 Indicates a commit object name.
1543</p>
1544</dd>
1545<dt>
1546&lt;tree-ish&gt;
1547</dt>
1548<dd>
1549<p>
1550 Indicates a tree, commit or tag object name. A
1551 command that takes a &lt;tree-ish&gt; argument ultimately wants to
1552 operate on a &lt;tree&gt; object but automatically dereferences
1553 &lt;commit&gt; and &lt;tag&gt; objects that point at a &lt;tree&gt;.
1554</p>
1555</dd>
1556<dt>
Junio C Hamano60f8aa82007-03-06 09:58:261557&lt;commit-ish&gt;
1558</dt>
1559<dd>
1560<p>
1561 Indicates a commit or tag object name. A
1562 command that takes a &lt;commit-ish&gt; argument ultimately wants to
1563 operate on a &lt;commit&gt; object but automatically dereferences
1564 &lt;tag&gt; objects that point at a &lt;commit&gt;.
1565</p>
1566</dd>
1567<dt>
Junio C Hamano1a4e8412005-12-27 08:17:231568&lt;type&gt;
1569</dt>
1570<dd>
1571<p>
1572 Indicates that an object type is required.
1573 Currently one of: <tt>blob</tt>, <tt>tree</tt>, <tt>commit</tt>, or <tt>tag</tt>.
1574</p>
1575</dd>
1576<dt>
1577&lt;file&gt;
1578</dt>
1579<dd>
1580<p>
1581 Indicates a filename - almost always relative to the
1582 root of the tree structure <tt>GIT_INDEX_FILE</tt> describes.
1583</p>
1584</dd>
1585</dl>
1586</div>
1587<h2>Symbolic Identifiers</h2>
1588<div class="sectionbody">
1589<p>Any git command accepting any &lt;object&gt; can also use the following
1590symbolic notation:</p>
1591<dl>
1592<dt>
1593HEAD
1594</dt>
1595<dd>
1596<p>
1597 indicates the head of the current branch (i.e. the
1598 contents of <tt>$GIT_DIR/HEAD</tt>).
1599</p>
1600</dd>
1601<dt>
1602&lt;tag&gt;
1603</dt>
1604<dd>
1605<p>
1606 a valid tag <em>name</em>
1607 (i.e. the contents of <tt>$GIT_DIR/refs/tags/&lt;tag&gt;</tt>).
1608</p>
1609</dd>
1610<dt>
1611&lt;head&gt;
1612</dt>
1613<dd>
1614<p>
1615 a valid head <em>name</em>
1616 (i.e. the contents of <tt>$GIT_DIR/refs/heads/&lt;head&gt;</tt>).
1617</p>
1618</dd>
Junio C Hamano1a4e8412005-12-27 08:17:231619</dl>
Junio C Hamanoff4b4312006-10-25 22:55:311620<p>For a more complete list of ways to spell object names, see
1621"SPECIFYING REVISIONS" section in <a href="git-rev-parse.html">git-rev-parse(1)</a>.</p>
Junio C Hamano1a4e8412005-12-27 08:17:231622</div>
1623<h2>File/Directory Structure</h2>
1624<div class="sectionbody">
Junio C Hamano764a6672007-10-23 01:23:311625<p>Please see the <a href="repository-layout.html">repository layout</a> document.</p>
Junio C Hamano818f7d62006-03-26 01:49:301626<p>Read <a href="hooks.html">hooks</a> for more details about each hook.</p>
Junio C Hamano1a4e8412005-12-27 08:17:231627<p>Higher level SCMs may provide and manage additional information in the
1628<tt>$GIT_DIR</tt>.</p>
1629</div>
1630<h2>Terminology</h2>
1631<div class="sectionbody">
Junio C Hamano764a6672007-10-23 01:23:311632<p>Please see the <a href="glossary.html">glossary</a> document.</p>
Junio C Hamano1a4e8412005-12-27 08:17:231633</div>
1634<h2>Environment Variables</h2>
1635<div class="sectionbody">
1636<p>Various git commands use the following environment variables:</p>
1637<h3>The git Repository</h3>
1638<p>These environment variables apply to <em>all</em> core git commands. Nb: it
1639is worth noting that they may be used/overridden by SCMS sitting above
1640git so take care if using Cogito etc.</p>
1641<dl>
1642<dt>
1643<em>GIT_INDEX_FILE</em>
1644</dt>
1645<dd>
1646<p>
1647 This environment allows the specification of an alternate
1648 index file. If not specified, the default of <tt>$GIT_DIR/index</tt>
1649 is used.
1650</p>
1651</dd>
1652<dt>
1653<em>GIT_OBJECT_DIRECTORY</em>
1654</dt>
1655<dd>
1656<p>
1657 If the object storage directory is specified via this
1658 environment variable then the sha1 directories are created
1659 underneath - otherwise the default <tt>$GIT_DIR/objects</tt>
1660 directory is used.
1661</p>
1662</dd>
1663<dt>
1664<em>GIT_ALTERNATE_OBJECT_DIRECTORIES</em>
1665</dt>
1666<dd>
1667<p>
1668 Due to the immutable nature of git objects, old objects can be
1669 archived into shared, read-only directories. This variable
1670 specifies a ":" separated list of git object directories which
1671 can be used to search for git objects. New objects will not be
1672 written to these directories.
1673</p>
1674</dd>
1675<dt>
1676<em>GIT_DIR</em>
1677</dt>
1678<dd>
1679<p>
1680 If the <em>GIT_DIR</em> environment variable is set then it
1681 specifies a path to use instead of the default <tt>.git</tt>
1682 for the base of the repository.
1683</p>
1684</dd>
Junio C Hamanod526ba92007-07-02 00:17:421685<dt>
1686<em>GIT_WORK_TREE</em>
1687</dt>
1688<dd>
1689<p>
1690 Set the path to the working tree. The value will not be
1691 used in combination with repositories found automatically in
1692 a .git directory (i.e. $GIT_DIR is not set).
1693 This can also be controlled by the <em>--work-tree</em> command line
1694 option and the core.worktree configuration variable.
1695</p>
1696</dd>
Junio C Hamano1a4e8412005-12-27 08:17:231697</dl>
1698<h3>git Commits</h3>
1699<dl>
1700<dt>
1701<em>GIT_AUTHOR_NAME</em>
1702</dt>
1703<dt>
1704<em>GIT_AUTHOR_EMAIL</em>
1705</dt>
1706<dt>
1707<em>GIT_AUTHOR_DATE</em>
1708</dt>
1709<dt>
1710<em>GIT_COMMITTER_NAME</em>
1711</dt>
1712<dt>
1713<em>GIT_COMMITTER_EMAIL</em>
1714</dt>
Junio C Hamano469d60e2007-04-29 18:30:341715<dt>
1716<em>GIT_COMMITTER_DATE</em>
1717</dt>
1718<dt>
1719<em>EMAIL</em>
1720</dt>
Junio C Hamano1a4e8412005-12-27 08:17:231721<dd>
1722<p>
1723 see <a href="git-commit-tree.html">git-commit-tree(1)</a>
1724</p>
1725</dd>
1726</dl>
1727<h3>git Diffs</h3>
1728<dl>
1729<dt>
1730<em>GIT_DIFF_OPTS</em>
1731</dt>
Junio C Hamano1c437122006-11-28 02:22:251732<dd>
1733<p>
1734 Only valid setting is "--unified=??" or "-u??" to set the
1735 number of context lines shown when a unified diff is created.
1736 This takes precedence over any "-U" or "--unified" option
1737 value passed on the git diff command line.
1738</p>
1739</dd>
Junio C Hamano1a4e8412005-12-27 08:17:231740<dt>
1741<em>GIT_EXTERNAL_DIFF</em>
1742</dt>
1743<dd>
1744<p>
Junio C Hamano1c437122006-11-28 02:22:251745 When the environment variable <em>GIT_EXTERNAL_DIFF</em> is set, the
1746 program named by it is called, instead of the diff invocation
1747 described above. For a path that is added, removed, or modified,
1748 <em>GIT_EXTERNAL_DIFF</em> is called with 7 parameters:
Junio C Hamano1a4e8412005-12-27 08:17:231749</p>
Junio C Hamano1c437122006-11-28 02:22:251750<div class="literalblock">
1751<div class="content">
1752<pre><tt>path old-file old-hex old-mode new-file new-hex new-mode</tt></pre>
1753</div></div>
1754<p>where:</p>
1755<div class="hlist"><table>
1756<tr>
1757<td class="hlist1">
1758&lt;old|new&gt;-file
1759</td>
1760<td class="hlist2">
1761are files GIT_EXTERNAL_DIFF can use to read the
1762 contents of &lt;old|new&gt;,
1763</td>
1764</tr>
1765<tr>
1766<td class="hlist1">
1767&lt;old|new&gt;-hex
1768</td>
1769<td class="hlist2">
1770are the 40-hexdigit SHA1 hashes,
1771</td>
1772</tr>
1773<tr>
1774<td class="hlist1">
1775&lt;old|new&gt;-mode
1776</td>
1777<td class="hlist2">
1778are the octal representation of the file modes.
1779</td>
1780</tr>
1781</table></div>
1782<p>The file parameters can point at the user's working file
1783(e.g. <tt>new-file</tt> in "git-diff-files"), <tt>/dev/null</tt> (e.g. <tt>old-file</tt>
1784when a new file is added), or a temporary file (e.g. <tt>old-file</tt> in the
1785index). <em>GIT_EXTERNAL_DIFF</em> should not worry about unlinking the
1786temporary file --- it is removed when <em>GIT_EXTERNAL_DIFF</em> exits.</p>
1787<p>For a path that is unmerged, <em>GIT_EXTERNAL_DIFF</em> is called with 1
1788parameter, &lt;path&gt;.</p>
Junio C Hamano1a4e8412005-12-27 08:17:231789</dd>
1790</dl>
Junio C Hamano7ccb9fd2006-07-15 01:38:401791<h3>other</h3>
1792<dl>
1793<dt>
Junio C Hamano1e6e0062007-07-13 05:33:251794<em>GIT_MERGE_VERBOSITY</em>
1795</dt>
1796<dd>
1797<p>
1798 A number controlling the amount of output shown by
1799 the recursive merge strategy. Overrides merge.verbosity.
1800 See <a href="git-merge.html">git-merge(1)</a>
1801</p>
1802</dd>
1803<dt>
Junio C Hamano85e45fa2006-08-13 07:47:411804<em>GIT_PAGER</em>
1805</dt>
1806<dd>
1807<p>
Junio C Hamanof6002a92007-07-20 10:28:221808 This environment variable overrides <tt>$PAGER</tt>. If it is set
1809 to an empty string or to the value "cat", git will not launch
1810 a pager.
Junio C Hamano85e45fa2006-08-13 07:47:411811</p>
1812</dd>
1813<dt>
Junio C Hamano4cd1c0e2007-08-06 04:39:141814<em>GIT_SSH</em>
1815</dt>
1816<dd>
1817<p>
1818 If this environment variable is set then <a href="git-fetch.html">git-fetch(1)</a>
1819 and <a href="git-push.html">git-push(1)</a> will use this command instead
1820 of <tt>ssh</tt> when they need to connect to a remote system.
1821 The <em>GIT_SSH</em> command will be given exactly two arguments:
1822 the <em>username@host</em> (or just <em>host</em>) from the URL and the
1823 shell command to execute on that remote system.
1824</p>
1825<p>To pass options to the program that you want to list in GIT_SSH
1826you will need to wrap the program and options into a shell script,
1827then set GIT_SSH to refer to the shell script.</p>
1828<p>Usually it is easier to configure any desired options through your
1829personal <tt>.ssh/config</tt> file. Please consult your ssh documentation
1830for further details.</p>
1831</dd>
1832<dt>
Junio C Hamano401939f2007-07-01 06:34:301833<em>GIT_FLUSH</em>
1834</dt>
1835<dd>
1836<p>
1837 If this environment variable is set to "1", then commands such
1838 as git-blame (in incremental mode), git-rev-list, git-log,
1839 git-whatchanged, etc., will force a flush of the output stream
1840 after each commit-oriented record have been flushed. If this
1841 variable is set to "0", the output of these commands will be done
1842 using completely buffered I/O. If this environment variable is
1843 not set, git will choose buffered or record-oriented flushing
1844 based on whether stdout appears to be redirected to a file or not.
1845</p>
1846</dd>
1847<dt>
Junio C Hamano7ccb9fd2006-07-15 01:38:401848<em>GIT_TRACE</em>
1849</dt>
1850<dd>
1851<p>
Junio C Hamanoef4b48b2006-09-04 10:08:341852 If this variable is set to "1", "2" or "true" (comparison
1853 is case insensitive), git will print <tt>trace:</tt> messages on
Junio C Hamano7ccb9fd2006-07-15 01:38:401854 stderr telling about alias expansion, built-in command
1855 execution and external command execution.
Junio C Hamanoef4b48b2006-09-04 10:08:341856 If this variable is set to an integer value greater than 1
1857 and lower than 10 (strictly) then git will interpret this
1858 value as an open file descriptor and will try to write the
1859 trace messages into this file descriptor.
1860 Alternatively, if this variable is set to an absolute path
1861 (starting with a <em>/</em> character), git will interpret this
1862 as a file path and will try to write the trace messages
1863 into it.
Junio C Hamano7ccb9fd2006-07-15 01:38:401864</p>
1865</dd>
1866</dl>
Junio C Hamano1a4e8412005-12-27 08:17:231867</div>
1868<h2>Discussion<a id="Discussion"></a></h2>
1869<div class="sectionbody">
Junio C Hamano597ffcf2007-09-17 17:33:151870<p>More detail on the following is available from the
1871<a href="user-manual.html#git-concepts">git concepts chapter of the
1872user-manual</a> and the <a href="core-tutorial.html">Core tutorial</a>.</p>
1873<p>A git project normally consists of a working directory with a ".git"
1874subdirectory at the top level. The .git directory contains, among other
1875things, a compressed object database representing the complete history
1876of the project, an "index" file which links that history to the current
1877contents of the working tree, and named pointers into that history such
1878as tags and branch heads.</p>
1879<p>The object database contains objects of three main types: blobs, which
1880hold file data; trees, which point to blobs and other trees to build up
Junio C Hamanofe986052007-12-19 07:33:381881directory hierarchies; and commits, which each reference a single tree
Junio C Hamano597ffcf2007-09-17 17:33:151882and some number of parent commits.</p>
1883<p>The commit, equivalent to what other systems call a "changeset" or
1884"version", represents a step in the project's history, and each parent
1885represents an immediately preceding step. Commits with more than one
1886parent represent merges of independent lines of development.</p>
1887<p>All objects are named by the SHA1 hash of their contents, normally
1888written as a string of 40 hex digits. Such names are globally unique.
1889The entire history leading up to a commit can be vouched for by signing
1890just that commit. A fourth object type, the tag, is provided for this
1891purpose.</p>
1892<p>When first created, objects are stored in individual files, but for
1893efficiency may later be compressed together into "pack files".</p>
1894<p>Named pointers called refs mark interesting points in history. A ref
1895may contain the SHA1 name of an object or the name of another ref. Refs
1896with names beginning <tt>ref/head/</tt> contain the SHA1 name of the most
Junio C Hamanofe986052007-12-19 07:33:381897recent commit (or "head") of a branch under development. SHA1 names of
Junio C Hamano597ffcf2007-09-17 17:33:151898tags of interest are stored under <tt>ref/tags/</tt>. A special ref named
1899<tt>HEAD</tt> contains the name of the currently checked-out branch.</p>
1900<p>The index file is initialized with a list of all paths and, for each
1901path, a blob object and a set of attributes. The blob object represents
1902the contents of the file as of the head of the current branch. The
1903attributes (last modified time, size, etc.) are taken from the
1904corresponding file in the working tree. Subsequent changes to the
1905working tree can be found by comparing these attributes. The index may
1906be updated with new content, and new commits may be created from the
1907content stored in the index.</p>
1908<p>The index is also capable of storing multiple entries (called "stages")
1909for a given pathname. These stages are used to hold the various
1910unmerged version of a file when a merge is in progress.</p>
Junio C Hamano1a4e8412005-12-27 08:17:231911</div>
1912<h2>Authors</h2>
1913<div class="sectionbody">
1914<ul>
1915<li>
1916<p>
1917git's founding father is Linus Torvalds &lt;torvalds@osdl.org&gt;.
1918</p>
1919</li>
1920<li>
1921<p>
Junio C Hamanodbb64592007-09-01 11:17:391922The current git nurse is Junio C Hamano &lt;gitster@pobox.com&gt;.
Junio C Hamano1a4e8412005-12-27 08:17:231923</p>
1924</li>
1925<li>
1926<p>
Junio C Hamanoe0facb92007-12-05 10:59:481927The git potty was written by Andreas Ericsson &lt;ae@op5.se&gt;.
Junio C Hamano1a4e8412005-12-27 08:17:231928</p>
1929</li>
1930<li>
1931<p>
1932General upbringing is handled by the git-list &lt;git@vger.kernel.org&gt;.
1933</p>
1934</li>
1935</ul>
1936</div>
1937<h2>Documentation</h2>
1938<div class="sectionbody">
1939<p>The documentation for git suite was started by David Greaves
1940&lt;david@dgreaves.com&gt;, and later enhanced greatly by the
1941contributors on the git-list &lt;git@vger.kernel.org&gt;.</p>
1942</div>
1943<h2>GIT</h2>
1944<div class="sectionbody">
1945<p>Part of the <a href="git.html">git(7)</a> suite</p>
1946</div>
1947<div id="footer">
1948<div id="footer-text">
Junio C Hamano7b9b4262008-02-02 06:48:391949Last updated 02-Feb-2008 06:48:21 UTC
Junio C Hamano1a4e8412005-12-27 08:17:231950</div>
1951</div>
1952</body>
1953</html>