Autogenerated HTML docs for v1.7.4-rc2
[git/jnareb-git.git] / git.html
blob1f14184ceb7b71b6202f884ab143e3f75d4d78a3
1 <!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" />
6 <meta name="generator" content="AsciiDoc 8.4.5" />
7 <title>git(1)</title>
8 <style type="text/css">
9 /* Debug borders */
10 p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
12 border: 1px solid red;
16 body {
17 margin: 1em 5% 1em 5%;
20 a {
21 color: blue;
22 text-decoration: underline;
24 a:visited {
25 color: fuchsia;
28 em {
29 font-style: italic;
30 color: navy;
33 strong {
34 font-weight: bold;
35 color: #083194;
38 tt {
39 color: navy;
42 h1, h2, h3, h4, h5, h6 {
43 color: #527bbd;
44 font-family: sans-serif;
45 margin-top: 1.2em;
46 margin-bottom: 0.5em;
47 line-height: 1.3;
50 h1, h2, h3 {
51 border-bottom: 2px solid silver;
53 h2 {
54 padding-top: 0.5em;
56 h3 {
57 float: left;
59 h3 + * {
60 clear: left;
63 div.sectionbody {
64 font-family: serif;
65 margin-left: 0;
68 hr {
69 border: 1px solid silver;
72 p {
73 margin-top: 0.5em;
74 margin-bottom: 0.5em;
77 ul, ol, li > p {
78 margin-top: 0;
81 pre {
82 padding: 0;
83 margin: 0;
86 span#author {
87 color: #527bbd;
88 font-family: sans-serif;
89 font-weight: bold;
90 font-size: 1.1em;
92 span#email {
94 span#revnumber, span#revdate, span#revremark {
95 font-family: sans-serif;
98 div#footer {
99 font-family: sans-serif;
100 font-size: small;
101 border-top: 2px solid silver;
102 padding-top: 0.5em;
103 margin-top: 4.0em;
105 div#footer-text {
106 float: left;
107 padding-bottom: 0.5em;
109 div#footer-badges {
110 float: right;
111 padding-bottom: 0.5em;
114 div#preamble {
115 margin-top: 1.5em;
116 margin-bottom: 1.5em;
118 div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
119 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
120 div.admonitionblock {
121 margin-top: 1.5em;
122 margin-bottom: 1.5em;
124 div.admonitionblock {
125 margin-top: 2.5em;
126 margin-bottom: 2.5em;
129 div.content { /* Block element content. */
130 padding: 0;
133 /* Block element titles. */
134 div.title, caption.title {
135 color: #527bbd;
136 font-family: sans-serif;
137 font-weight: bold;
138 text-align: left;
139 margin-top: 1.0em;
140 margin-bottom: 0.5em;
142 div.title + * {
143 margin-top: 0;
146 td div.title:first-child {
147 margin-top: 0.0em;
149 div.content div.title:first-child {
150 margin-top: 0.0em;
152 div.content + div.title {
153 margin-top: 0.0em;
156 div.sidebarblock > div.content {
157 background: #ffffee;
158 border: 1px solid silver;
159 padding: 0.5em;
162 div.listingblock > div.content {
163 border: 1px solid silver;
164 background: #f4f4f4;
165 padding: 0.5em;
168 div.quoteblock {
169 padding-left: 2.0em;
170 margin-right: 10%;
172 div.quoteblock > div.attribution {
173 padding-top: 0.5em;
174 text-align: right;
177 div.verseblock {
178 padding-left: 2.0em;
179 margin-right: 10%;
181 div.verseblock > div.content {
182 white-space: pre;
184 div.verseblock > div.attribution {
185 padding-top: 0.75em;
186 text-align: left;
188 /* DEPRECATED: Pre version 8.2.7 verse style literal block. */
189 div.verseblock + div.attribution {
190 text-align: left;
193 div.admonitionblock .icon {
194 vertical-align: top;
195 font-size: 1.1em;
196 font-weight: bold;
197 text-decoration: underline;
198 color: #527bbd;
199 padding-right: 0.5em;
201 div.admonitionblock td.content {
202 padding-left: 0.5em;
203 border-left: 2px solid silver;
206 div.exampleblock > div.content {
207 border-left: 2px solid silver;
208 padding: 0.5em;
211 div.imageblock div.content { padding-left: 0; }
212 span.image img { border-style: none; }
213 a.image:visited { color: white; }
215 dl {
216 margin-top: 0.8em;
217 margin-bottom: 0.8em;
219 dt {
220 margin-top: 0.5em;
221 margin-bottom: 0;
222 font-style: normal;
223 color: navy;
225 dd > *:first-child {
226 margin-top: 0.1em;
229 ul, ol {
230 list-style-position: outside;
232 ol.arabic {
233 list-style-type: decimal;
235 ol.loweralpha {
236 list-style-type: lower-alpha;
238 ol.upperalpha {
239 list-style-type: upper-alpha;
241 ol.lowerroman {
242 list-style-type: lower-roman;
244 ol.upperroman {
245 list-style-type: upper-roman;
248 div.compact ul, div.compact ol,
249 div.compact p, div.compact p,
250 div.compact div, div.compact div {
251 margin-top: 0.1em;
252 margin-bottom: 0.1em;
255 div.tableblock > table {
256 border: 3px solid #527bbd;
258 thead {
259 font-family: sans-serif;
260 font-weight: bold;
262 tfoot {
263 font-weight: bold;
265 td > div.verse {
266 white-space: pre;
268 p.table {
269 margin-top: 0;
271 /* Because the table frame attribute is overriden by CSS in most browsers. */
272 div.tableblock > table[frame="void"] {
273 border-style: none;
275 div.tableblock > table[frame="hsides"] {
276 border-left-style: none;
277 border-right-style: none;
279 div.tableblock > table[frame="vsides"] {
280 border-top-style: none;
281 border-bottom-style: none;
285 div.hdlist {
286 margin-top: 0.8em;
287 margin-bottom: 0.8em;
289 div.hdlist tr {
290 padding-bottom: 15px;
292 dt.hdlist1.strong, td.hdlist1.strong {
293 font-weight: bold;
295 td.hdlist1 {
296 vertical-align: top;
297 font-style: normal;
298 padding-right: 0.8em;
299 color: navy;
301 td.hdlist2 {
302 vertical-align: top;
304 div.hdlist.compact tr {
305 margin: 0;
306 padding-bottom: 0;
309 .comment {
310 background: yellow;
313 @media print {
314 div#footer-badges { display: none; }
317 div#toctitle {
318 color: #527bbd;
319 font-family: sans-serif;
320 font-size: 1.1em;
321 font-weight: bold;
322 margin-top: 1.0em;
323 margin-bottom: 0.1em;
326 div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
327 margin-top: 0;
328 margin-bottom: 0;
330 div.toclevel2 {
331 margin-left: 2em;
332 font-size: 0.9em;
334 div.toclevel3 {
335 margin-left: 4em;
336 font-size: 0.9em;
338 div.toclevel4 {
339 margin-left: 6em;
340 font-size: 0.9em;
342 /* Overrides for manpage documents */
343 h1 {
344 padding-top: 0.5em;
345 padding-bottom: 0.5em;
346 border-top: 2px solid silver;
347 border-bottom: 2px solid silver;
349 h2 {
350 border-style: none;
352 div.sectionbody {
353 margin-left: 5%;
356 @media print {
357 div#toc { display: none; }
360 /* Workarounds for IE6's broken and incomplete CSS2. */
362 div.sidebar-content {
363 background: #ffffee;
364 border: 1px solid silver;
365 padding: 0.5em;
367 div.sidebar-title, div.image-title {
368 color: #527bbd;
369 font-family: sans-serif;
370 font-weight: bold;
371 margin-top: 0.0em;
372 margin-bottom: 0.5em;
375 div.listingblock div.content {
376 border: 1px solid silver;
377 background: #f4f4f4;
378 padding: 0.5em;
381 div.quoteblock-attribution {
382 padding-top: 0.5em;
383 text-align: right;
386 div.verseblock-content {
387 white-space: pre;
389 div.verseblock-attribution {
390 padding-top: 0.75em;
391 text-align: left;
394 div.exampleblock-content {
395 border-left: 2px solid silver;
396 padding-left: 0.5em;
399 /* IE6 sets dynamically generated links as visited. */
400 div#toc a:visited { color: blue; }
401 </style>
402 </head>
403 <body>
404 <div id="header">
405 <h1>
406 git(1) Manual Page
407 </h1>
408 <h2>NAME</h2>
409 <div class="sectionbody">
410 <p>git -
411 the stupid content tracker
412 </p>
413 </div>
414 </div>
415 <h2 id="_synopsis">SYNOPSIS</h2>
416 <div class="sectionbody">
417 <div class="verseblock">
418 <div class="verseblock-content"><em>git</em> [--version] [--exec-path[=&lt;path&gt;]] [--html-path]
419 [-p|--paginate|--no-pager] [--no-replace-objects]
420 [--bare] [--git-dir=&lt;path&gt;] [--work-tree=&lt;path&gt;]
421 [-c &lt;name&gt;=&lt;value&gt;]
422 [--help] &lt;command&gt; [&lt;args&gt;]</div>
423 <div class="verseblock-attribution">
424 </div></div>
425 </div>
426 <h2 id="_description">DESCRIPTION</h2>
427 <div class="sectionbody">
428 <div class="paragraph"><p>Git is a fast, scalable, distributed revision control system with an
429 unusually rich command set that provides both high-level operations
430 and full access to internals.</p></div>
431 <div class="paragraph"><p>See <a href="gittutorial.html">gittutorial(7)</a> to get started, then see
432 <a href="everyday.html">Everyday Git</a> for a useful minimum set of commands, and
433 "man git-commandname" for documentation of each command. CVS users may
434 also want to read <a href="gitcvs-migration.html">gitcvs-migration(7)</a>. See
435 the <a href="user-manual.html">Git User&#8217;s Manual</a> for a more in-depth
436 introduction.</p></div>
437 <div class="paragraph"><p>The <em>&lt;command&gt;</em> is either a name of a Git command (see below) or an alias
438 as defined in the configuration file (see <a href="git-config.html">git-config(1)</a>).</p></div>
439 <div class="paragraph"><p>Formatted and hyperlinked version of the latest git
440 documentation can be viewed at
441 <tt>http://www.kernel.org/pub/software/scm/git/docs/</tt>.</p></div>
442 </div>
443 <h2 id="_options">OPTIONS</h2>
444 <div class="sectionbody">
445 <div class="dlist"><dl>
446 <dt class="hdlist1">
447 --version
448 </dt>
449 <dd>
451 Prints the git suite version that the <em>git</em> program came from.
452 </p>
453 </dd>
454 <dt class="hdlist1">
455 --help
456 </dt>
457 <dd>
459 Prints the synopsis and a list of the most commonly used
460 commands. If the option <em>--all</em> or <em>-a</em> is given then all
461 available commands are printed. If a git command is named this
462 option will bring up the manual page for that command.
463 </p>
464 <div class="paragraph"><p>Other options are available to control how the manual page is
465 displayed. See <a href="git-help.html">git-help(1)</a> for more information,
466 because <tt>git --help &#8230;</tt> is converted internally into <tt>git
467 help &#8230;</tt>.</p></div>
468 </dd>
469 <dt class="hdlist1">
470 -c &lt;name&gt;=&lt;value&gt;
471 </dt>
472 <dd>
474 Pass a configuration parameter to the command. The value
475 given will override values from configuration files.
476 The &lt;name&gt; is expected in the same format as listed by
477 <em>git config</em> (subkeys separated by dots).
478 </p>
479 </dd>
480 <dt class="hdlist1">
481 --exec-path[=&lt;path&gt;]
482 </dt>
483 <dd>
485 Path to wherever your core git programs are installed.
486 This can also be controlled by setting the GIT_EXEC_PATH
487 environment variable. If no path is given, <em>git</em> will print
488 the current setting and then exit.
489 </p>
490 </dd>
491 <dt class="hdlist1">
492 --html-path
493 </dt>
494 <dd>
496 Print the path to wherever your git HTML documentation is installed
497 and exit.
498 </p>
499 </dd>
500 <dt class="hdlist1">
502 </dt>
503 <dt class="hdlist1">
504 --paginate
505 </dt>
506 <dd>
508 Pipe all output into <em>less</em> (or if set, $PAGER) if standard
509 output is a terminal. This overrides the <tt>pager.&lt;cmd&gt;</tt>
510 configuration options (see the "Configuration Mechanism" section
511 below).
512 </p>
513 </dd>
514 <dt class="hdlist1">
515 --no-pager
516 </dt>
517 <dd>
519 Do not pipe git output into a pager.
520 </p>
521 </dd>
522 <dt class="hdlist1">
523 --git-dir=&lt;path&gt;
524 </dt>
525 <dd>
527 Set the path to the repository. This can also be controlled by
528 setting the GIT_DIR environment variable. It can be an absolute
529 path or relative path to current working directory.
530 </p>
531 </dd>
532 <dt class="hdlist1">
533 --work-tree=&lt;path&gt;
534 </dt>
535 <dd>
537 Set the path to the working tree. The value will not be
538 used in combination with repositories found automatically in
539 a .git directory (i.e. $GIT_DIR is not set).
540 This can also be controlled by setting the GIT_WORK_TREE
541 environment variable and the core.worktree configuration
542 variable. It can be an absolute path or relative path to
543 current working directory.
544 Note: If --git-dir or GIT_DIR are specified but none of
545 --work-tree, GIT_WORK_TREE and core.worktree is specified,
546 the current working directory is regarded as the top directory
547 of your working tree.
548 </p>
549 </dd>
550 <dt class="hdlist1">
551 --bare
552 </dt>
553 <dd>
555 Treat the repository as a bare repository. If GIT_DIR
556 environment is not set, it is set to the current working
557 directory.
558 </p>
559 </dd>
560 <dt class="hdlist1">
561 --no-replace-objects
562 </dt>
563 <dd>
565 Do not use replacement refs to replace git objects. See
566 <a href="git-replace.html">git-replace(1)</a> for more information.
567 </p>
568 </dd>
569 </dl></div>
570 </div>
571 <h2 id="_further_documentation">FURTHER DOCUMENTATION</h2>
572 <div class="sectionbody">
573 <div class="paragraph"><p>See the references above to get started using git. The following is
574 probably more detail than necessary for a first-time user.</p></div>
575 <div class="paragraph"><p>The <a href="user-manual.html#git-concepts">git concepts chapter of the
576 user-manual</a> and <a href="gitcore-tutorial.html">gitcore-tutorial(7)</a> both provide
577 introductions to the underlying git architecture.</p></div>
578 <div class="paragraph"><p>See <a href="gitworkflows.html">gitworkflows(7)</a> for an overview of recommended workflows.</p></div>
579 <div class="paragraph"><p>See also the <a href="howto-index.html">howto</a> documents for some useful
580 examples.</p></div>
581 <div class="paragraph"><p>The internals are documented in the
582 <a href="technical/api-index.html">GIT API documentation</a>.</p></div>
583 </div>
584 <h2 id="_git_commands">GIT COMMANDS</h2>
585 <div class="sectionbody">
586 <div class="paragraph"><p>We divide git into high level ("porcelain") commands and low level
587 ("plumbing") commands.</p></div>
588 </div>
589 <h2 id="_high_level_commands_porcelain">High-level commands (porcelain)</h2>
590 <div class="sectionbody">
591 <div class="paragraph"><p>We separate the porcelain commands into the main commands and some
592 ancillary user utilities.</p></div>
593 <h3 id="_main_porcelain_commands">Main porcelain commands</h3><div style="clear:left"></div>
594 <div class="dlist"><dl>
595 <dt class="hdlist1">
596 <a href="git-add.html">git-add(1)</a>
597 </dt>
598 <dd>
600 Add file contents to the index.
601 </p>
602 </dd>
603 <dt class="hdlist1">
604 <a href="git-am.html">git-am(1)</a>
605 </dt>
606 <dd>
608 Apply a series of patches from a mailbox.
609 </p>
610 </dd>
611 <dt class="hdlist1">
612 <a href="git-archive.html">git-archive(1)</a>
613 </dt>
614 <dd>
616 Create an archive of files from a named tree.
617 </p>
618 </dd>
619 <dt class="hdlist1">
620 <a href="git-bisect.html">git-bisect(1)</a>
621 </dt>
622 <dd>
624 Find by binary search the change that introduced a bug.
625 </p>
626 </dd>
627 <dt class="hdlist1">
628 <a href="git-branch.html">git-branch(1)</a>
629 </dt>
630 <dd>
632 List, create, or delete branches.
633 </p>
634 </dd>
635 <dt class="hdlist1">
636 <a href="git-bundle.html">git-bundle(1)</a>
637 </dt>
638 <dd>
640 Move objects and refs by archive.
641 </p>
642 </dd>
643 <dt class="hdlist1">
644 <a href="git-checkout.html">git-checkout(1)</a>
645 </dt>
646 <dd>
648 Checkout a branch or paths to the working tree.
649 </p>
650 </dd>
651 <dt class="hdlist1">
652 <a href="git-cherry-pick.html">git-cherry-pick(1)</a>
653 </dt>
654 <dd>
656 Apply the changes introduced by some existing commits.
657 </p>
658 </dd>
659 <dt class="hdlist1">
660 <a href="git-citool.html">git-citool(1)</a>
661 </dt>
662 <dd>
664 Graphical alternative to git-commit.
665 </p>
666 </dd>
667 <dt class="hdlist1">
668 <a href="git-clean.html">git-clean(1)</a>
669 </dt>
670 <dd>
672 Remove untracked files from the working tree.
673 </p>
674 </dd>
675 <dt class="hdlist1">
676 <a href="git-clone.html">git-clone(1)</a>
677 </dt>
678 <dd>
680 Clone a repository into a new directory.
681 </p>
682 </dd>
683 <dt class="hdlist1">
684 <a href="git-commit.html">git-commit(1)</a>
685 </dt>
686 <dd>
688 Record changes to the repository.
689 </p>
690 </dd>
691 <dt class="hdlist1">
692 <a href="git-describe.html">git-describe(1)</a>
693 </dt>
694 <dd>
696 Show the most recent tag that is reachable from a commit.
697 </p>
698 </dd>
699 <dt class="hdlist1">
700 <a href="git-diff.html">git-diff(1)</a>
701 </dt>
702 <dd>
704 Show changes between commits, commit and working tree, etc.
705 </p>
706 </dd>
707 <dt class="hdlist1">
708 <a href="git-fetch.html">git-fetch(1)</a>
709 </dt>
710 <dd>
712 Download objects and refs from another repository.
713 </p>
714 </dd>
715 <dt class="hdlist1">
716 <a href="git-format-patch.html">git-format-patch(1)</a>
717 </dt>
718 <dd>
720 Prepare patches for e-mail submission.
721 </p>
722 </dd>
723 <dt class="hdlist1">
724 <a href="git-gc.html">git-gc(1)</a>
725 </dt>
726 <dd>
728 Cleanup unnecessary files and optimize the local repository.
729 </p>
730 </dd>
731 <dt class="hdlist1">
732 <a href="git-grep.html">git-grep(1)</a>
733 </dt>
734 <dd>
736 Print lines matching a pattern.
737 </p>
738 </dd>
739 <dt class="hdlist1">
740 <a href="git-gui.html">git-gui(1)</a>
741 </dt>
742 <dd>
744 A portable graphical interface to Git.
745 </p>
746 </dd>
747 <dt class="hdlist1">
748 <a href="git-init.html">git-init(1)</a>
749 </dt>
750 <dd>
752 Create an empty git repository or reinitialize an existing one.
753 </p>
754 </dd>
755 <dt class="hdlist1">
756 <a href="git-log.html">git-log(1)</a>
757 </dt>
758 <dd>
760 Show commit logs.
761 </p>
762 </dd>
763 <dt class="hdlist1">
764 <a href="git-merge.html">git-merge(1)</a>
765 </dt>
766 <dd>
768 Join two or more development histories together.
769 </p>
770 </dd>
771 <dt class="hdlist1">
772 <a href="git-mv.html">git-mv(1)</a>
773 </dt>
774 <dd>
776 Move or rename a file, a directory, or a symlink.
777 </p>
778 </dd>
779 <dt class="hdlist1">
780 <a href="git-notes.html">git-notes(1)</a>
781 </dt>
782 <dd>
784 Add or inspect object notes.
785 </p>
786 </dd>
787 <dt class="hdlist1">
788 <a href="git-pull.html">git-pull(1)</a>
789 </dt>
790 <dd>
792 Fetch from and merge with another repository or a local branch.
793 </p>
794 </dd>
795 <dt class="hdlist1">
796 <a href="git-push.html">git-push(1)</a>
797 </dt>
798 <dd>
800 Update remote refs along with associated objects.
801 </p>
802 </dd>
803 <dt class="hdlist1">
804 <a href="git-rebase.html">git-rebase(1)</a>
805 </dt>
806 <dd>
808 Forward-port local commits to the updated upstream head.
809 </p>
810 </dd>
811 <dt class="hdlist1">
812 <a href="git-reset.html">git-reset(1)</a>
813 </dt>
814 <dd>
816 Reset current HEAD to the specified state.
817 </p>
818 </dd>
819 <dt class="hdlist1">
820 <a href="git-revert.html">git-revert(1)</a>
821 </dt>
822 <dd>
824 Revert some existing commits.
825 </p>
826 </dd>
827 <dt class="hdlist1">
828 <a href="git-rm.html">git-rm(1)</a>
829 </dt>
830 <dd>
832 Remove files from the working tree and from the index.
833 </p>
834 </dd>
835 <dt class="hdlist1">
836 <a href="git-shortlog.html">git-shortlog(1)</a>
837 </dt>
838 <dd>
840 Summarize <em>git log</em> output.
841 </p>
842 </dd>
843 <dt class="hdlist1">
844 <a href="git-show.html">git-show(1)</a>
845 </dt>
846 <dd>
848 Show various types of objects.
849 </p>
850 </dd>
851 <dt class="hdlist1">
852 <a href="git-stash.html">git-stash(1)</a>
853 </dt>
854 <dd>
856 Stash the changes in a dirty working directory away.
857 </p>
858 </dd>
859 <dt class="hdlist1">
860 <a href="git-status.html">git-status(1)</a>
861 </dt>
862 <dd>
864 Show the working tree status.
865 </p>
866 </dd>
867 <dt class="hdlist1">
868 <a href="git-submodule.html">git-submodule(1)</a>
869 </dt>
870 <dd>
872 Initialize, update or inspect submodules.
873 </p>
874 </dd>
875 <dt class="hdlist1">
876 <a href="git-tag.html">git-tag(1)</a>
877 </dt>
878 <dd>
880 Create, list, delete or verify a tag object signed with GPG.
881 </p>
882 </dd>
883 <dt class="hdlist1">
884 <a href="gitk.html">gitk(1)</a>
885 </dt>
886 <dd>
888 The git repository browser.
889 </p>
890 </dd>
891 </dl></div>
892 <h3 id="_ancillary_commands">Ancillary Commands</h3><div style="clear:left"></div>
893 <div class="paragraph"><p>Manipulators:</p></div>
894 <div class="dlist"><dl>
895 <dt class="hdlist1">
896 <a href="git-config.html">git-config(1)</a>
897 </dt>
898 <dd>
900 Get and set repository or global options.
901 </p>
902 </dd>
903 <dt class="hdlist1">
904 <a href="git-fast-export.html">git-fast-export(1)</a>
905 </dt>
906 <dd>
908 Git data exporter.
909 </p>
910 </dd>
911 <dt class="hdlist1">
912 <a href="git-fast-import.html">git-fast-import(1)</a>
913 </dt>
914 <dd>
916 Backend for fast Git data importers.
917 </p>
918 </dd>
919 <dt class="hdlist1">
920 <a href="git-filter-branch.html">git-filter-branch(1)</a>
921 </dt>
922 <dd>
924 Rewrite branches.
925 </p>
926 </dd>
927 <dt class="hdlist1">
928 <a href="git-lost-found.html">git-lost-found(1)</a>
929 </dt>
930 <dd>
932 (deprecated) Recover lost refs that luckily have not yet been pruned.
933 </p>
934 </dd>
935 <dt class="hdlist1">
936 <a href="git-mergetool.html">git-mergetool(1)</a>
937 </dt>
938 <dd>
940 Run merge conflict resolution tools to resolve merge conflicts.
941 </p>
942 </dd>
943 <dt class="hdlist1">
944 <a href="git-pack-refs.html">git-pack-refs(1)</a>
945 </dt>
946 <dd>
948 Pack heads and tags for efficient repository access.
949 </p>
950 </dd>
951 <dt class="hdlist1">
952 <a href="git-prune.html">git-prune(1)</a>
953 </dt>
954 <dd>
956 Prune all unreachable objects from the object database.
957 </p>
958 </dd>
959 <dt class="hdlist1">
960 <a href="git-reflog.html">git-reflog(1)</a>
961 </dt>
962 <dd>
964 Manage reflog information.
965 </p>
966 </dd>
967 <dt class="hdlist1">
968 <a href="git-relink.html">git-relink(1)</a>
969 </dt>
970 <dd>
972 Hardlink common objects in local repositories.
973 </p>
974 </dd>
975 <dt class="hdlist1">
976 <a href="git-remote.html">git-remote(1)</a>
977 </dt>
978 <dd>
980 manage set of tracked repositories.
981 </p>
982 </dd>
983 <dt class="hdlist1">
984 <a href="git-repack.html">git-repack(1)</a>
985 </dt>
986 <dd>
988 Pack unpacked objects in a repository.
989 </p>
990 </dd>
991 <dt class="hdlist1">
992 <a href="git-replace.html">git-replace(1)</a>
993 </dt>
994 <dd>
996 Create, list, delete refs to replace objects.
997 </p>
998 </dd>
999 <dt class="hdlist1">
1000 <a href="git-repo-config.html">git-repo-config(1)</a>
1001 </dt>
1002 <dd>
1004 (deprecated) Get and set repository or global options.
1005 </p>
1006 </dd>
1007 </dl></div>
1008 <div class="paragraph"><p>Interrogators:</p></div>
1009 <div class="dlist"><dl>
1010 <dt class="hdlist1">
1011 <a href="git-annotate.html">git-annotate(1)</a>
1012 </dt>
1013 <dd>
1015 Annotate file lines with commit information.
1016 </p>
1017 </dd>
1018 <dt class="hdlist1">
1019 <a href="git-blame.html">git-blame(1)</a>
1020 </dt>
1021 <dd>
1023 Show what revision and author last modified each line of a file.
1024 </p>
1025 </dd>
1026 <dt class="hdlist1">
1027 <a href="git-cherry.html">git-cherry(1)</a>
1028 </dt>
1029 <dd>
1031 Find commits not merged upstream.
1032 </p>
1033 </dd>
1034 <dt class="hdlist1">
1035 <a href="git-count-objects.html">git-count-objects(1)</a>
1036 </dt>
1037 <dd>
1039 Count unpacked number of objects and their disk consumption.
1040 </p>
1041 </dd>
1042 <dt class="hdlist1">
1043 <a href="git-difftool.html">git-difftool(1)</a>
1044 </dt>
1045 <dd>
1047 Show changes using common diff tools.
1048 </p>
1049 </dd>
1050 <dt class="hdlist1">
1051 <a href="git-fsck.html">git-fsck(1)</a>
1052 </dt>
1053 <dd>
1055 Verifies the connectivity and validity of the objects in the database.
1056 </p>
1057 </dd>
1058 <dt class="hdlist1">
1059 <a href="git-get-tar-commit-id.html">git-get-tar-commit-id(1)</a>
1060 </dt>
1061 <dd>
1063 Extract commit ID from an archive created using git-archive.
1064 </p>
1065 </dd>
1066 <dt class="hdlist1">
1067 <a href="git-help.html">git-help(1)</a>
1068 </dt>
1069 <dd>
1071 display help information about git.
1072 </p>
1073 </dd>
1074 <dt class="hdlist1">
1075 <a href="git-instaweb.html">git-instaweb(1)</a>
1076 </dt>
1077 <dd>
1079 Instantly browse your working repository in gitweb.
1080 </p>
1081 </dd>
1082 <dt class="hdlist1">
1083 <a href="git-merge-tree.html">git-merge-tree(1)</a>
1084 </dt>
1085 <dd>
1087 Show three-way merge without touching index.
1088 </p>
1089 </dd>
1090 <dt class="hdlist1">
1091 <a href="git-rerere.html">git-rerere(1)</a>
1092 </dt>
1093 <dd>
1095 Reuse recorded resolution of conflicted merges.
1096 </p>
1097 </dd>
1098 <dt class="hdlist1">
1099 <a href="git-rev-parse.html">git-rev-parse(1)</a>
1100 </dt>
1101 <dd>
1103 Pick out and massage parameters.
1104 </p>
1105 </dd>
1106 <dt class="hdlist1">
1107 <a href="git-show-branch.html">git-show-branch(1)</a>
1108 </dt>
1109 <dd>
1111 Show branches and their commits.
1112 </p>
1113 </dd>
1114 <dt class="hdlist1">
1115 <a href="git-verify-tag.html">git-verify-tag(1)</a>
1116 </dt>
1117 <dd>
1119 Check the GPG signature of tags.
1120 </p>
1121 </dd>
1122 <dt class="hdlist1">
1123 <a href="git-whatchanged.html">git-whatchanged(1)</a>
1124 </dt>
1125 <dd>
1127 Show logs with difference each commit introduces.
1128 </p>
1129 </dd>
1130 </dl></div>
1131 <h3 id="_interacting_with_others">Interacting with Others</h3><div style="clear:left"></div>
1132 <div class="paragraph"><p>These commands are to interact with foreign SCM and with other
1133 people via patch over e-mail.</p></div>
1134 <div class="dlist"><dl>
1135 <dt class="hdlist1">
1136 <a href="git-archimport.html">git-archimport(1)</a>
1137 </dt>
1138 <dd>
1140 Import an Arch repository into git.
1141 </p>
1142 </dd>
1143 <dt class="hdlist1">
1144 <a href="git-cvsexportcommit.html">git-cvsexportcommit(1)</a>
1145 </dt>
1146 <dd>
1148 Export a single commit to a CVS checkout.
1149 </p>
1150 </dd>
1151 <dt class="hdlist1">
1152 <a href="git-cvsimport.html">git-cvsimport(1)</a>
1153 </dt>
1154 <dd>
1156 Salvage your data out of another SCM people love to hate.
1157 </p>
1158 </dd>
1159 <dt class="hdlist1">
1160 <a href="git-cvsserver.html">git-cvsserver(1)</a>
1161 </dt>
1162 <dd>
1164 A CVS server emulator for git.
1165 </p>
1166 </dd>
1167 <dt class="hdlist1">
1168 <a href="git-imap-send.html">git-imap-send(1)</a>
1169 </dt>
1170 <dd>
1172 Send a collection of patches from stdin to an IMAP folder.
1173 </p>
1174 </dd>
1175 <dt class="hdlist1">
1176 <a href="git-quiltimport.html">git-quiltimport(1)</a>
1177 </dt>
1178 <dd>
1180 Applies a quilt patchset onto the current branch.
1181 </p>
1182 </dd>
1183 <dt class="hdlist1">
1184 <a href="git-request-pull.html">git-request-pull(1)</a>
1185 </dt>
1186 <dd>
1188 Generates a summary of pending changes.
1189 </p>
1190 </dd>
1191 <dt class="hdlist1">
1192 <a href="git-send-email.html">git-send-email(1)</a>
1193 </dt>
1194 <dd>
1196 Send a collection of patches as emails.
1197 </p>
1198 </dd>
1199 <dt class="hdlist1">
1200 <a href="git-svn.html">git-svn(1)</a>
1201 </dt>
1202 <dd>
1204 Bidirectional operation between a Subversion repository and git.
1205 </p>
1206 </dd>
1207 </dl></div>
1208 </div>
1209 <h2 id="_low_level_commands_plumbing">Low-level commands (plumbing)</h2>
1210 <div class="sectionbody">
1211 <div class="paragraph"><p>Although git includes its
1212 own porcelain layer, its low-level commands are sufficient to support
1213 development of alternative porcelains. Developers of such porcelains
1214 might start by reading about <a href="git-update-index.html">git-update-index(1)</a> and
1215 <a href="git-read-tree.html">git-read-tree(1)</a>.</p></div>
1216 <div class="paragraph"><p>The interface (input, output, set of options and the semantics)
1217 to these low-level commands are meant to be a lot more stable
1218 than Porcelain level commands, because these commands are
1219 primarily for scripted use. The interface to Porcelain commands
1220 on the other hand are subject to change in order to improve the
1221 end user experience.</p></div>
1222 <div class="paragraph"><p>The following description divides
1223 the low-level commands into commands that manipulate objects (in
1224 the repository, index, and working tree), commands that interrogate and
1225 compare objects, and commands that move objects and references between
1226 repositories.</p></div>
1227 <h3 id="_manipulation_commands">Manipulation commands</h3><div style="clear:left"></div>
1228 <div class="dlist"><dl>
1229 <dt class="hdlist1">
1230 <a href="git-apply.html">git-apply(1)</a>
1231 </dt>
1232 <dd>
1234 Apply a patch to files and/or to the index.
1235 </p>
1236 </dd>
1237 <dt class="hdlist1">
1238 <a href="git-checkout-index.html">git-checkout-index(1)</a>
1239 </dt>
1240 <dd>
1242 Copy files from the index to the working tree.
1243 </p>
1244 </dd>
1245 <dt class="hdlist1">
1246 <a href="git-commit-tree.html">git-commit-tree(1)</a>
1247 </dt>
1248 <dd>
1250 Create a new commit object.
1251 </p>
1252 </dd>
1253 <dt class="hdlist1">
1254 <a href="git-hash-object.html">git-hash-object(1)</a>
1255 </dt>
1256 <dd>
1258 Compute object ID and optionally creates a blob from a file.
1259 </p>
1260 </dd>
1261 <dt class="hdlist1">
1262 <a href="git-index-pack.html">git-index-pack(1)</a>
1263 </dt>
1264 <dd>
1266 Build pack index file for an existing packed archive.
1267 </p>
1268 </dd>
1269 <dt class="hdlist1">
1270 <a href="git-merge-file.html">git-merge-file(1)</a>
1271 </dt>
1272 <dd>
1274 Run a three-way file merge.
1275 </p>
1276 </dd>
1277 <dt class="hdlist1">
1278 <a href="git-merge-index.html">git-merge-index(1)</a>
1279 </dt>
1280 <dd>
1282 Run a merge for files needing merging.
1283 </p>
1284 </dd>
1285 <dt class="hdlist1">
1286 <a href="git-mktag.html">git-mktag(1)</a>
1287 </dt>
1288 <dd>
1290 Creates a tag object.
1291 </p>
1292 </dd>
1293 <dt class="hdlist1">
1294 <a href="git-mktree.html">git-mktree(1)</a>
1295 </dt>
1296 <dd>
1298 Build a tree-object from ls-tree formatted text.
1299 </p>
1300 </dd>
1301 <dt class="hdlist1">
1302 <a href="git-pack-objects.html">git-pack-objects(1)</a>
1303 </dt>
1304 <dd>
1306 Create a packed archive of objects.
1307 </p>
1308 </dd>
1309 <dt class="hdlist1">
1310 <a href="git-prune-packed.html">git-prune-packed(1)</a>
1311 </dt>
1312 <dd>
1314 Remove extra objects that are already in pack files.
1315 </p>
1316 </dd>
1317 <dt class="hdlist1">
1318 <a href="git-read-tree.html">git-read-tree(1)</a>
1319 </dt>
1320 <dd>
1322 Reads tree information into the index.
1323 </p>
1324 </dd>
1325 <dt class="hdlist1">
1326 <a href="git-symbolic-ref.html">git-symbolic-ref(1)</a>
1327 </dt>
1328 <dd>
1330 Read and modify symbolic refs.
1331 </p>
1332 </dd>
1333 <dt class="hdlist1">
1334 <a href="git-unpack-objects.html">git-unpack-objects(1)</a>
1335 </dt>
1336 <dd>
1338 Unpack objects from a packed archive.
1339 </p>
1340 </dd>
1341 <dt class="hdlist1">
1342 <a href="git-update-index.html">git-update-index(1)</a>
1343 </dt>
1344 <dd>
1346 Register file contents in the working tree to the index.
1347 </p>
1348 </dd>
1349 <dt class="hdlist1">
1350 <a href="git-update-ref.html">git-update-ref(1)</a>
1351 </dt>
1352 <dd>
1354 Update the object name stored in a ref safely.
1355 </p>
1356 </dd>
1357 <dt class="hdlist1">
1358 <a href="git-write-tree.html">git-write-tree(1)</a>
1359 </dt>
1360 <dd>
1362 Create a tree object from the current index.
1363 </p>
1364 </dd>
1365 </dl></div>
1366 <h3 id="_interrogation_commands">Interrogation commands</h3><div style="clear:left"></div>
1367 <div class="dlist"><dl>
1368 <dt class="hdlist1">
1369 <a href="git-cat-file.html">git-cat-file(1)</a>
1370 </dt>
1371 <dd>
1373 Provide content or type and size information for repository objects.
1374 </p>
1375 </dd>
1376 <dt class="hdlist1">
1377 <a href="git-diff-files.html">git-diff-files(1)</a>
1378 </dt>
1379 <dd>
1381 Compares files in the working tree and the index.
1382 </p>
1383 </dd>
1384 <dt class="hdlist1">
1385 <a href="git-diff-index.html">git-diff-index(1)</a>
1386 </dt>
1387 <dd>
1389 Compares content and mode of blobs between the index and repository.
1390 </p>
1391 </dd>
1392 <dt class="hdlist1">
1393 <a href="git-diff-tree.html">git-diff-tree(1)</a>
1394 </dt>
1395 <dd>
1397 Compares the content and mode of blobs found via two tree objects.
1398 </p>
1399 </dd>
1400 <dt class="hdlist1">
1401 <a href="git-for-each-ref.html">git-for-each-ref(1)</a>
1402 </dt>
1403 <dd>
1405 Output information on each ref.
1406 </p>
1407 </dd>
1408 <dt class="hdlist1">
1409 <a href="git-ls-files.html">git-ls-files(1)</a>
1410 </dt>
1411 <dd>
1413 Show information about files in the index and the working tree.
1414 </p>
1415 </dd>
1416 <dt class="hdlist1">
1417 <a href="git-ls-remote.html">git-ls-remote(1)</a>
1418 </dt>
1419 <dd>
1421 List references in a remote repository.
1422 </p>
1423 </dd>
1424 <dt class="hdlist1">
1425 <a href="git-ls-tree.html">git-ls-tree(1)</a>
1426 </dt>
1427 <dd>
1429 List the contents of a tree object.
1430 </p>
1431 </dd>
1432 <dt class="hdlist1">
1433 <a href="git-merge-base.html">git-merge-base(1)</a>
1434 </dt>
1435 <dd>
1437 Find as good common ancestors as possible for a merge.
1438 </p>
1439 </dd>
1440 <dt class="hdlist1">
1441 <a href="git-name-rev.html">git-name-rev(1)</a>
1442 </dt>
1443 <dd>
1445 Find symbolic names for given revs.
1446 </p>
1447 </dd>
1448 <dt class="hdlist1">
1449 <a href="git-pack-redundant.html">git-pack-redundant(1)</a>
1450 </dt>
1451 <dd>
1453 Find redundant pack files.
1454 </p>
1455 </dd>
1456 <dt class="hdlist1">
1457 <a href="git-rev-list.html">git-rev-list(1)</a>
1458 </dt>
1459 <dd>
1461 Lists commit objects in reverse chronological order.
1462 </p>
1463 </dd>
1464 <dt class="hdlist1">
1465 <a href="git-show-index.html">git-show-index(1)</a>
1466 </dt>
1467 <dd>
1469 Show packed archive index.
1470 </p>
1471 </dd>
1472 <dt class="hdlist1">
1473 <a href="git-show-ref.html">git-show-ref(1)</a>
1474 </dt>
1475 <dd>
1477 List references in a local repository.
1478 </p>
1479 </dd>
1480 <dt class="hdlist1">
1481 <a href="git-tar-tree.html">git-tar-tree(1)</a>
1482 </dt>
1483 <dd>
1485 (deprecated) Create a tar archive of the files in the named tree object.
1486 </p>
1487 </dd>
1488 <dt class="hdlist1">
1489 <a href="git-unpack-file.html">git-unpack-file(1)</a>
1490 </dt>
1491 <dd>
1493 Creates a temporary file with a blob&#8217;s contents.
1494 </p>
1495 </dd>
1496 <dt class="hdlist1">
1497 <a href="git-var.html">git-var(1)</a>
1498 </dt>
1499 <dd>
1501 Show a git logical variable.
1502 </p>
1503 </dd>
1504 <dt class="hdlist1">
1505 <a href="git-verify-pack.html">git-verify-pack(1)</a>
1506 </dt>
1507 <dd>
1509 Validate packed git archive files.
1510 </p>
1511 </dd>
1512 </dl></div>
1513 <div class="paragraph"><p>In general, the interrogate commands do not touch the files in
1514 the working tree.</p></div>
1515 <h3 id="_synching_repositories">Synching repositories</h3><div style="clear:left"></div>
1516 <div class="dlist"><dl>
1517 <dt class="hdlist1">
1518 <a href="git-daemon.html">git-daemon(1)</a>
1519 </dt>
1520 <dd>
1522 A really simple server for git repositories.
1523 </p>
1524 </dd>
1525 <dt class="hdlist1">
1526 <a href="git-fetch-pack.html">git-fetch-pack(1)</a>
1527 </dt>
1528 <dd>
1530 Receive missing objects from another repository.
1531 </p>
1532 </dd>
1533 <dt class="hdlist1">
1534 <a href="git-http-backend.html">git-http-backend(1)</a>
1535 </dt>
1536 <dd>
1538 Server side implementation of Git over HTTP.
1539 </p>
1540 </dd>
1541 <dt class="hdlist1">
1542 <a href="git-send-pack.html">git-send-pack(1)</a>
1543 </dt>
1544 <dd>
1546 Push objects over git protocol to another repository.
1547 </p>
1548 </dd>
1549 <dt class="hdlist1">
1550 <a href="git-update-server-info.html">git-update-server-info(1)</a>
1551 </dt>
1552 <dd>
1554 Update auxiliary info file to help dumb servers.
1555 </p>
1556 </dd>
1557 </dl></div>
1558 <div class="paragraph"><p>The following are helper commands used by the above; end users
1559 typically do not use them directly.</p></div>
1560 <div class="dlist"><dl>
1561 <dt class="hdlist1">
1562 <a href="git-http-fetch.html">git-http-fetch(1)</a>
1563 </dt>
1564 <dd>
1566 Download from a remote git repository via HTTP.
1567 </p>
1568 </dd>
1569 <dt class="hdlist1">
1570 <a href="git-http-push.html">git-http-push(1)</a>
1571 </dt>
1572 <dd>
1574 Push objects over HTTP/DAV to another repository.
1575 </p>
1576 </dd>
1577 <dt class="hdlist1">
1578 <a href="git-parse-remote.html">git-parse-remote(1)</a>
1579 </dt>
1580 <dd>
1582 Routines to help parsing remote repository access parameters.
1583 </p>
1584 </dd>
1585 <dt class="hdlist1">
1586 <a href="git-receive-pack.html">git-receive-pack(1)</a>
1587 </dt>
1588 <dd>
1590 Receive what is pushed into the repository.
1591 </p>
1592 </dd>
1593 <dt class="hdlist1">
1594 <a href="git-shell.html">git-shell(1)</a>
1595 </dt>
1596 <dd>
1598 Restricted login shell for Git-only SSH access.
1599 </p>
1600 </dd>
1601 <dt class="hdlist1">
1602 <a href="git-upload-archive.html">git-upload-archive(1)</a>
1603 </dt>
1604 <dd>
1606 Send archive back to git-archive.
1607 </p>
1608 </dd>
1609 <dt class="hdlist1">
1610 <a href="git-upload-pack.html">git-upload-pack(1)</a>
1611 </dt>
1612 <dd>
1614 Send objects packed back to git-fetch-pack.
1615 </p>
1616 </dd>
1617 </dl></div>
1618 <h3 id="_internal_helper_commands">Internal helper commands</h3><div style="clear:left"></div>
1619 <div class="paragraph"><p>These are internal helper commands used by other commands; end
1620 users typically do not use them directly.</p></div>
1621 <div class="dlist"><dl>
1622 <dt class="hdlist1">
1623 <a href="git-check-attr.html">git-check-attr(1)</a>
1624 </dt>
1625 <dd>
1627 Display gitattributes information.
1628 </p>
1629 </dd>
1630 <dt class="hdlist1">
1631 <a href="git-check-ref-format.html">git-check-ref-format(1)</a>
1632 </dt>
1633 <dd>
1635 Ensures that a reference name is well formed.
1636 </p>
1637 </dd>
1638 <dt class="hdlist1">
1639 <a href="git-fmt-merge-msg.html">git-fmt-merge-msg(1)</a>
1640 </dt>
1641 <dd>
1643 Produce a merge commit message.
1644 </p>
1645 </dd>
1646 <dt class="hdlist1">
1647 <a href="git-mailinfo.html">git-mailinfo(1)</a>
1648 </dt>
1649 <dd>
1651 Extracts patch and authorship from a single e-mail message.
1652 </p>
1653 </dd>
1654 <dt class="hdlist1">
1655 <a href="git-mailsplit.html">git-mailsplit(1)</a>
1656 </dt>
1657 <dd>
1659 Simple UNIX mbox splitter program.
1660 </p>
1661 </dd>
1662 <dt class="hdlist1">
1663 <a href="git-merge-one-file.html">git-merge-one-file(1)</a>
1664 </dt>
1665 <dd>
1667 The standard helper program to use with git-merge-index.
1668 </p>
1669 </dd>
1670 <dt class="hdlist1">
1671 <a href="git-patch-id.html">git-patch-id(1)</a>
1672 </dt>
1673 <dd>
1675 Compute unique ID for a patch.
1676 </p>
1677 </dd>
1678 <dt class="hdlist1">
1679 <a href="git-peek-remote.html">git-peek-remote(1)</a>
1680 </dt>
1681 <dd>
1683 (deprecated) List the references in a remote repository.
1684 </p>
1685 </dd>
1686 <dt class="hdlist1">
1687 <a href="git-sh-setup.html">git-sh-setup(1)</a>
1688 </dt>
1689 <dd>
1691 Common git shell script setup code.
1692 </p>
1693 </dd>
1694 <dt class="hdlist1">
1695 <a href="git-stripspace.html">git-stripspace(1)</a>
1696 </dt>
1697 <dd>
1699 Filter out empty lines.
1700 </p>
1701 </dd>
1702 </dl></div>
1703 </div>
1704 <h2 id="_configuration_mechanism">Configuration Mechanism</h2>
1705 <div class="sectionbody">
1706 <div class="paragraph"><p>Starting from 0.99.9 (actually mid 0.99.8.GIT), <tt>.git/config</tt> file
1707 is used to hold per-repository configuration options. It is a
1708 simple text file modeled after <tt>.ini</tt> format familiar to some
1709 people. Here is an example:</p></div>
1710 <div class="listingblock">
1711 <div class="content">
1712 <pre><tt>#
1713 # A '#' or ';' character indicates a comment.
1716 ; core variables
1717 [core]
1718 ; Don't trust file modes
1719 filemode = false
1721 ; user identity
1722 [user]
1723 name = "Junio C Hamano"
1724 email = "junkio@twinsun.com"</tt></pre>
1725 </div></div>
1726 <div class="paragraph"><p>Various commands read from the configuration file and adjust
1727 their operation accordingly. See <a href="git-config.html">git-config(1)</a> for a
1728 list.</p></div>
1729 </div>
1730 <h2 id="_identifier_terminology">Identifier Terminology</h2>
1731 <div class="sectionbody">
1732 <div class="dlist"><dl>
1733 <dt class="hdlist1">
1734 &lt;object&gt;
1735 </dt>
1736 <dd>
1738 Indicates the object name for any type of object.
1739 </p>
1740 </dd>
1741 <dt class="hdlist1">
1742 &lt;blob&gt;
1743 </dt>
1744 <dd>
1746 Indicates a blob object name.
1747 </p>
1748 </dd>
1749 <dt class="hdlist1">
1750 &lt;tree&gt;
1751 </dt>
1752 <dd>
1754 Indicates a tree object name.
1755 </p>
1756 </dd>
1757 <dt class="hdlist1">
1758 &lt;commit&gt;
1759 </dt>
1760 <dd>
1762 Indicates a commit object name.
1763 </p>
1764 </dd>
1765 <dt class="hdlist1">
1766 &lt;tree-ish&gt;
1767 </dt>
1768 <dd>
1770 Indicates a tree, commit or tag object name. A
1771 command that takes a &lt;tree-ish&gt; argument ultimately wants to
1772 operate on a &lt;tree&gt; object but automatically dereferences
1773 &lt;commit&gt; and &lt;tag&gt; objects that point at a &lt;tree&gt;.
1774 </p>
1775 </dd>
1776 <dt class="hdlist1">
1777 &lt;commit-ish&gt;
1778 </dt>
1779 <dd>
1781 Indicates a commit or tag object name. A
1782 command that takes a &lt;commit-ish&gt; argument ultimately wants to
1783 operate on a &lt;commit&gt; object but automatically dereferences
1784 &lt;tag&gt; objects that point at a &lt;commit&gt;.
1785 </p>
1786 </dd>
1787 <dt class="hdlist1">
1788 &lt;type&gt;
1789 </dt>
1790 <dd>
1792 Indicates that an object type is required.
1793 Currently one of: <tt>blob</tt>, <tt>tree</tt>, <tt>commit</tt>, or <tt>tag</tt>.
1794 </p>
1795 </dd>
1796 <dt class="hdlist1">
1797 &lt;file&gt;
1798 </dt>
1799 <dd>
1801 Indicates a filename - almost always relative to the
1802 root of the tree structure <tt>GIT_INDEX_FILE</tt> describes.
1803 </p>
1804 </dd>
1805 </dl></div>
1806 </div>
1807 <h2 id="_symbolic_identifiers">Symbolic Identifiers</h2>
1808 <div class="sectionbody">
1809 <div class="paragraph"><p>Any git command accepting any &lt;object&gt; can also use the following
1810 symbolic notation:</p></div>
1811 <div class="dlist"><dl>
1812 <dt class="hdlist1">
1813 HEAD
1814 </dt>
1815 <dd>
1817 indicates the head of the current branch (i.e. the
1818 contents of <tt>$GIT_DIR/HEAD</tt>).
1819 </p>
1820 </dd>
1821 <dt class="hdlist1">
1822 &lt;tag&gt;
1823 </dt>
1824 <dd>
1826 a valid tag <em>name</em>
1827 (i.e. the contents of <tt>$GIT_DIR/refs/tags/&lt;tag&gt;</tt>).
1828 </p>
1829 </dd>
1830 <dt class="hdlist1">
1831 &lt;head&gt;
1832 </dt>
1833 <dd>
1835 a valid head <em>name</em>
1836 (i.e. the contents of <tt>$GIT_DIR/refs/heads/&lt;head&gt;</tt>).
1837 </p>
1838 </dd>
1839 </dl></div>
1840 <div class="paragraph"><p>For a more complete list of ways to spell object names, see
1841 "SPECIFYING REVISIONS" section in <a href="gitrevisions.html">gitrevisions(7)</a>.</p></div>
1842 </div>
1843 <h2 id="_file_directory_structure">File/Directory Structure</h2>
1844 <div class="sectionbody">
1845 <div class="paragraph"><p>Please see the <a href="gitrepository-layout.html">gitrepository-layout(5)</a> document.</p></div>
1846 <div class="paragraph"><p>Read <a href="githooks.html">githooks(5)</a> for more details about each hook.</p></div>
1847 <div class="paragraph"><p>Higher level SCMs may provide and manage additional information in the
1848 <tt>$GIT_DIR</tt>.</p></div>
1849 </div>
1850 <h2 id="_terminology">Terminology</h2>
1851 <div class="sectionbody">
1852 <div class="paragraph"><p>Please see <a href="gitglossary.html">gitglossary(7)</a>.</p></div>
1853 </div>
1854 <h2 id="_environment_variables">Environment Variables</h2>
1855 <div class="sectionbody">
1856 <div class="paragraph"><p>Various git commands use the following environment variables:</p></div>
1857 <h3 id="_the_git_repository">The git Repository</h3><div style="clear:left"></div>
1858 <div class="paragraph"><p>These environment variables apply to <em>all</em> core git commands. Nb: it
1859 is worth noting that they may be used/overridden by SCMS sitting above
1860 git so take care if using Cogito etc.</p></div>
1861 <div class="dlist"><dl>
1862 <dt class="hdlist1">
1863 <em>GIT_INDEX_FILE</em>
1864 </dt>
1865 <dd>
1867 This environment allows the specification of an alternate
1868 index file. If not specified, the default of <tt>$GIT_DIR/index</tt>
1869 is used.
1870 </p>
1871 </dd>
1872 <dt class="hdlist1">
1873 <em>GIT_OBJECT_DIRECTORY</em>
1874 </dt>
1875 <dd>
1877 If the object storage directory is specified via this
1878 environment variable then the sha1 directories are created
1879 underneath - otherwise the default <tt>$GIT_DIR/objects</tt>
1880 directory is used.
1881 </p>
1882 </dd>
1883 <dt class="hdlist1">
1884 <em>GIT_ALTERNATE_OBJECT_DIRECTORIES</em>
1885 </dt>
1886 <dd>
1888 Due to the immutable nature of git objects, old objects can be
1889 archived into shared, read-only directories. This variable
1890 specifies a ":" separated (on Windows ";" separated) list
1891 of git object directories which can be used to search for git
1892 objects. New objects will not be written to these directories.
1893 </p>
1894 </dd>
1895 <dt class="hdlist1">
1896 <em>GIT_DIR</em>
1897 </dt>
1898 <dd>
1900 If the <em>GIT_DIR</em> environment variable is set then it
1901 specifies a path to use instead of the default <tt>.git</tt>
1902 for the base of the repository.
1903 </p>
1904 </dd>
1905 <dt class="hdlist1">
1906 <em>GIT_WORK_TREE</em>
1907 </dt>
1908 <dd>
1910 Set the path to the working tree. The value will not be
1911 used in combination with repositories found automatically in
1912 a .git directory (i.e. $GIT_DIR is not set).
1913 This can also be controlled by the <em>--work-tree</em> command line
1914 option and the core.worktree configuration variable.
1915 </p>
1916 </dd>
1917 <dt class="hdlist1">
1918 <em>GIT_CEILING_DIRECTORIES</em>
1919 </dt>
1920 <dd>
1922 This should be a colon-separated list of absolute paths.
1923 If set, it is a list of directories that git should not chdir
1924 up into while looking for a repository directory.
1925 It will not exclude the current working directory or
1926 a GIT_DIR set on the command line or in the environment.
1927 (Useful for excluding slow-loading network directories.)
1928 </p>
1929 </dd>
1930 <dt class="hdlist1">
1931 <em>GIT_DISCOVERY_ACROSS_FILESYSTEM</em>
1932 </dt>
1933 <dd>
1935 When run in a directory that does not have ".git" repository
1936 directory, git tries to find such a directory in the parent
1937 directories to find the top of the working tree, but by default it
1938 does not cross filesystem boundaries. This environment variable
1939 can be set to true to tell git not to stop at filesystem
1940 boundaries. Like <em>GIT_CEILING_DIRECTORIES</em>, this will not affect
1941 an explicit repository directory set via <em>GIT_DIR</em> or on the
1942 command line.
1943 </p>
1944 </dd>
1945 </dl></div>
1946 <h3 id="_git_commits">git Commits</h3><div style="clear:left"></div>
1947 <div class="dlist"><dl>
1948 <dt class="hdlist1">
1949 <em>GIT_AUTHOR_NAME</em>
1950 </dt>
1951 <dt class="hdlist1">
1952 <em>GIT_AUTHOR_EMAIL</em>
1953 </dt>
1954 <dt class="hdlist1">
1955 <em>GIT_AUTHOR_DATE</em>
1956 </dt>
1957 <dt class="hdlist1">
1958 <em>GIT_COMMITTER_NAME</em>
1959 </dt>
1960 <dt class="hdlist1">
1961 <em>GIT_COMMITTER_EMAIL</em>
1962 </dt>
1963 <dt class="hdlist1">
1964 <em>GIT_COMMITTER_DATE</em>
1965 </dt>
1966 <dt class="hdlist1">
1967 <em>EMAIL</em>
1968 </dt>
1969 <dd>
1971 see <a href="git-commit-tree.html">git-commit-tree(1)</a>
1972 </p>
1973 </dd>
1974 </dl></div>
1975 <h3 id="_git_diffs">git Diffs</h3><div style="clear:left"></div>
1976 <div class="dlist"><dl>
1977 <dt class="hdlist1">
1978 <em>GIT_DIFF_OPTS</em>
1979 </dt>
1980 <dd>
1982 Only valid setting is "--unified=??" or "-u??" to set the
1983 number of context lines shown when a unified diff is created.
1984 This takes precedence over any "-U" or "--unified" option
1985 value passed on the git diff command line.
1986 </p>
1987 </dd>
1988 <dt class="hdlist1">
1989 <em>GIT_EXTERNAL_DIFF</em>
1990 </dt>
1991 <dd>
1993 When the environment variable <em>GIT_EXTERNAL_DIFF</em> is set, the
1994 program named by it is called, instead of the diff invocation
1995 described above. For a path that is added, removed, or modified,
1996 <em>GIT_EXTERNAL_DIFF</em> is called with 7 parameters:
1997 </p>
1998 <div class="literalblock">
1999 <div class="content">
2000 <pre><tt>path old-file old-hex old-mode new-file new-hex new-mode</tt></pre>
2001 </div></div>
2002 <div class="paragraph"><p>where:</p></div>
2003 </dd>
2004 <dt class="hdlist1">
2005 &lt;old|new&gt;-file
2006 </dt>
2007 <dd>
2009 are files GIT_EXTERNAL_DIFF can use to read the
2010 contents of &lt;old|new&gt;,
2011 </p>
2012 </dd>
2013 <dt class="hdlist1">
2014 &lt;old|new&gt;-hex
2015 </dt>
2016 <dd>
2018 are the 40-hexdigit SHA1 hashes,
2019 </p>
2020 </dd>
2021 <dt class="hdlist1">
2022 &lt;old|new&gt;-mode
2023 </dt>
2024 <dd>
2026 are the octal representation of the file modes.
2027 </p>
2028 </dd>
2029 </dl></div>
2030 <div class="paragraph"><p>+
2031 The file parameters can point at the user&#8217;s working file
2032 (e.g. <tt>new-file</tt> in "git-diff-files"), <tt>/dev/null</tt> (e.g. <tt>old-file</tt>
2033 when a new file is added), or a temporary file (e.g. <tt>old-file</tt> in the
2034 index). <em>GIT_EXTERNAL_DIFF</em> should not worry about unlinking the
2035 temporary file --- it is removed when <em>GIT_EXTERNAL_DIFF</em> exits.</p></div>
2036 <div class="paragraph"><p>+
2037 For a path that is unmerged, <em>GIT_EXTERNAL_DIFF</em> is called with 1
2038 parameter, &lt;path&gt;.</p></div>
2039 <h3 id="_other">other</h3><div style="clear:left"></div>
2040 <div class="dlist"><dl>
2041 <dt class="hdlist1">
2042 <em>GIT_MERGE_VERBOSITY</em>
2043 </dt>
2044 <dd>
2046 A number controlling the amount of output shown by
2047 the recursive merge strategy. Overrides merge.verbosity.
2048 See <a href="git-merge.html">git-merge(1)</a>
2049 </p>
2050 </dd>
2051 <dt class="hdlist1">
2052 <em>GIT_PAGER</em>
2053 </dt>
2054 <dd>
2056 This environment variable overrides <tt>$PAGER</tt>. If it is set
2057 to an empty string or to the value "cat", git will not launch
2058 a pager. See also the <tt>core.pager</tt> option in
2059 <a href="git-config.html">git-config(1)</a>.
2060 </p>
2061 </dd>
2062 <dt class="hdlist1">
2063 <em>GIT_SSH</em>
2064 </dt>
2065 <dd>
2067 If this environment variable is set then <em>git fetch</em>
2068 and <em>git push</em> will use this command instead
2069 of <em>ssh</em> when they need to connect to a remote system.
2070 The <em>$GIT_SSH</em> command will be given exactly two arguments:
2071 the <em>username@host</em> (or just <em>host</em>) from the URL and the
2072 shell command to execute on that remote system.
2073 </p>
2074 <div class="paragraph"><p>To pass options to the program that you want to list in GIT_SSH
2075 you will need to wrap the program and options into a shell script,
2076 then set GIT_SSH to refer to the shell script.</p></div>
2077 <div class="paragraph"><p>Usually it is easier to configure any desired options through your
2078 personal <tt>.ssh/config</tt> file. Please consult your ssh documentation
2079 for further details.</p></div>
2080 </dd>
2081 <dt class="hdlist1">
2082 <em>GIT_ASKPASS</em>
2083 </dt>
2084 <dd>
2086 If this environment variable is set, then git commands which need to
2087 acquire passwords or passphrases (e.g. for HTTP or IMAP authentication)
2088 will call this program with a suitable prompt as command line argument
2089 and read the password from its STDOUT. See also the <em>core.askpass</em>
2090 option in <a href="git-config.html">git-config(1)</a>.
2091 </p>
2092 </dd>
2093 <dt class="hdlist1">
2094 <em>GIT_FLUSH</em>
2095 </dt>
2096 <dd>
2098 If this environment variable is set to "1", then commands such
2099 as <em>git blame</em> (in incremental mode), <em>git rev-list</em>, <em>git log</em>,
2100 and <em>git whatchanged</em> will force a flush of the output stream
2101 after each commit-oriented record have been flushed. If this
2102 variable is set to "0", the output of these commands will be done
2103 using completely buffered I/O. If this environment variable is
2104 not set, git will choose buffered or record-oriented flushing
2105 based on whether stdout appears to be redirected to a file or not.
2106 </p>
2107 </dd>
2108 <dt class="hdlist1">
2109 <em>GIT_TRACE</em>
2110 </dt>
2111 <dd>
2113 If this variable is set to "1", "2" or "true" (comparison
2114 is case insensitive), git will print <tt>trace:</tt> messages on
2115 stderr telling about alias expansion, built-in command
2116 execution and external command execution.
2117 If this variable is set to an integer value greater than 1
2118 and lower than 10 (strictly) then git will interpret this
2119 value as an open file descriptor and will try to write the
2120 trace messages into this file descriptor.
2121 Alternatively, if this variable is set to an absolute path
2122 (starting with a <em>/</em> character), git will interpret this
2123 as a file path and will try to write the trace messages
2124 into it.
2125 </p>
2126 </dd>
2127 </dl></div>
2128 </div>
2129 <h2 id="_discussion_a_id_discussion_a">Discussion<a id="Discussion"></a></h2>
2130 <div class="sectionbody">
2131 <div class="paragraph"><p>More detail on the following is available from the
2132 <a href="user-manual.html#git-concepts">git concepts chapter of the
2133 user-manual</a> and <a href="gitcore-tutorial.html">gitcore-tutorial(7)</a>.</p></div>
2134 <div class="paragraph"><p>A git project normally consists of a working directory with a ".git"
2135 subdirectory at the top level. The .git directory contains, among other
2136 things, a compressed object database representing the complete history
2137 of the project, an "index" file which links that history to the current
2138 contents of the working tree, and named pointers into that history such
2139 as tags and branch heads.</p></div>
2140 <div class="paragraph"><p>The object database contains objects of three main types: blobs, which
2141 hold file data; trees, which point to blobs and other trees to build up
2142 directory hierarchies; and commits, which each reference a single tree
2143 and some number of parent commits.</p></div>
2144 <div class="paragraph"><p>The commit, equivalent to what other systems call a "changeset" or
2145 "version", represents a step in the project&#8217;s history, and each parent
2146 represents an immediately preceding step. Commits with more than one
2147 parent represent merges of independent lines of development.</p></div>
2148 <div class="paragraph"><p>All objects are named by the SHA1 hash of their contents, normally
2149 written as a string of 40 hex digits. Such names are globally unique.
2150 The entire history leading up to a commit can be vouched for by signing
2151 just that commit. A fourth object type, the tag, is provided for this
2152 purpose.</p></div>
2153 <div class="paragraph"><p>When first created, objects are stored in individual files, but for
2154 efficiency may later be compressed together into "pack files".</p></div>
2155 <div class="paragraph"><p>Named pointers called refs mark interesting points in history. A ref
2156 may contain the SHA1 name of an object or the name of another ref. Refs
2157 with names beginning <tt>ref/head/</tt> contain the SHA1 name of the most
2158 recent commit (or "head") of a branch under development. SHA1 names of
2159 tags of interest are stored under <tt>ref/tags/</tt>. A special ref named
2160 <tt>HEAD</tt> contains the name of the currently checked-out branch.</p></div>
2161 <div class="paragraph"><p>The index file is initialized with a list of all paths and, for each
2162 path, a blob object and a set of attributes. The blob object represents
2163 the contents of the file as of the head of the current branch. The
2164 attributes (last modified time, size, etc.) are taken from the
2165 corresponding file in the working tree. Subsequent changes to the
2166 working tree can be found by comparing these attributes. The index may
2167 be updated with new content, and new commits may be created from the
2168 content stored in the index.</p></div>
2169 <div class="paragraph"><p>The index is also capable of storing multiple entries (called "stages")
2170 for a given pathname. These stages are used to hold the various
2171 unmerged version of a file when a merge is in progress.</p></div>
2172 </div>
2173 <h2 id="_authors">Authors</h2>
2174 <div class="sectionbody">
2175 <div class="ulist"><ul>
2176 <li>
2178 git&#8217;s founding father is Linus Torvalds &lt;<a href="mailto:torvalds@osdl.org">torvalds@osdl.org</a>&gt;.
2179 </p>
2180 </li>
2181 <li>
2183 The current git nurse is Junio C Hamano &lt;<a href="mailto:gitster@pobox.com">gitster@pobox.com</a>&gt;.
2184 </p>
2185 </li>
2186 <li>
2188 The git potty was written by Andreas Ericsson &lt;<a href="mailto:ae@op5.se">ae@op5.se</a>&gt;.
2189 </p>
2190 </li>
2191 <li>
2193 General upbringing is handled by the git-list &lt;<a href="mailto:git@vger.kernel.org">git@vger.kernel.org</a>&gt;.
2194 </p>
2195 </li>
2196 </ul></div>
2197 </div>
2198 <h2 id="_documentation">Documentation</h2>
2199 <div class="sectionbody">
2200 <div class="paragraph"><p>The documentation for git suite was started by David Greaves
2201 &lt;<a href="mailto:david@dgreaves.com">david@dgreaves.com</a>&gt;, and later enhanced greatly by the
2202 contributors on the git-list &lt;<a href="mailto:git@vger.kernel.org">git@vger.kernel.org</a>&gt;.</p></div>
2203 </div>
2204 <h2 id="_reporting_bugs">Reporting Bugs</h2>
2205 <div class="sectionbody">
2206 <div class="paragraph"><p>Report bugs to the Git mailing list &lt;<a href="mailto:git@vger.kernel.org">git@vger.kernel.org</a>&gt; where the
2207 development and maintenance is primarily done. You do not have to be
2208 subscribed to the list to send a message there.</p></div>
2209 </div>
2210 <h2 id="_see_also">SEE ALSO</h2>
2211 <div class="sectionbody">
2212 <div class="paragraph"><p><a href="gittutorial.html">gittutorial(7)</a>, <a href="gittutorial-2.html">gittutorial-2(7)</a>,
2213 <a href="everyday.html">Everyday Git</a>, <a href="gitcvs-migration.html">gitcvs-migration(7)</a>,
2214 <a href="gitglossary.html">gitglossary(7)</a>, <a href="gitcore-tutorial.html">gitcore-tutorial(7)</a>,
2215 <a href="gitcli.html">gitcli(7)</a>, <a href="user-manual.html">The Git User&#8217;s Manual</a>,
2216 <a href="gitworkflows.html">gitworkflows(7)</a></p></div>
2217 </div>
2218 <h2 id="_git">GIT</h2>
2219 <div class="sectionbody">
2220 <div class="paragraph"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
2221 </div>
2222 <div id="footer">
2223 <div id="footer-text">
2224 Last updated 2011-01-06 00:34:27 UTC
2225 </div>
2226 </div>
2227 </body>
2228 </html>