Autogenerated HTML docs for v1.7.5-52-ge839f
[git/jnareb-git.git] / git.html
blobed0b53138edf252b8feac27dbc9b19a537139500
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. It can be an absolute path
538 or a path relative to the current working directory.
539 This can also be controlled by setting the GIT_WORK_TREE
540 environment variable and the core.worktree configuration
541 variable (see core.worktree in <a href="git-config.html">git-config(1)</a> for a
542 more detailed discussion).
543 </p>
544 </dd>
545 <dt class="hdlist1">
546 --bare
547 </dt>
548 <dd>
550 Treat the repository as a bare repository. If GIT_DIR
551 environment is not set, it is set to the current working
552 directory.
553 </p>
554 </dd>
555 <dt class="hdlist1">
556 --no-replace-objects
557 </dt>
558 <dd>
560 Do not use replacement refs to replace git objects. See
561 <a href="git-replace.html">git-replace(1)</a> for more information.
562 </p>
563 </dd>
564 </dl></div>
565 </div>
566 <h2 id="_further_documentation">FURTHER DOCUMENTATION</h2>
567 <div class="sectionbody">
568 <div class="paragraph"><p>See the references above to get started using git. The following is
569 probably more detail than necessary for a first-time user.</p></div>
570 <div class="paragraph"><p>The <a href="user-manual.html#git-concepts">git concepts chapter of the
571 user-manual</a> and <a href="gitcore-tutorial.html">gitcore-tutorial(7)</a> both provide
572 introductions to the underlying git architecture.</p></div>
573 <div class="paragraph"><p>See <a href="gitworkflows.html">gitworkflows(7)</a> for an overview of recommended workflows.</p></div>
574 <div class="paragraph"><p>See also the <a href="howto-index.html">howto</a> documents for some useful
575 examples.</p></div>
576 <div class="paragraph"><p>The internals are documented in the
577 <a href="technical/api-index.html">GIT API documentation</a>.</p></div>
578 </div>
579 <h2 id="_git_commands">GIT COMMANDS</h2>
580 <div class="sectionbody">
581 <div class="paragraph"><p>We divide git into high level ("porcelain") commands and low level
582 ("plumbing") commands.</p></div>
583 </div>
584 <h2 id="_high_level_commands_porcelain">High-level commands (porcelain)</h2>
585 <div class="sectionbody">
586 <div class="paragraph"><p>We separate the porcelain commands into the main commands and some
587 ancillary user utilities.</p></div>
588 <h3 id="_main_porcelain_commands">Main porcelain commands</h3><div style="clear:left"></div>
589 <div class="dlist"><dl>
590 <dt class="hdlist1">
591 <a href="git-add.html">git-add(1)</a>
592 </dt>
593 <dd>
595 Add file contents to the index.
596 </p>
597 </dd>
598 <dt class="hdlist1">
599 <a href="git-am.html">git-am(1)</a>
600 </dt>
601 <dd>
603 Apply a series of patches from a mailbox.
604 </p>
605 </dd>
606 <dt class="hdlist1">
607 <a href="git-archive.html">git-archive(1)</a>
608 </dt>
609 <dd>
611 Create an archive of files from a named tree.
612 </p>
613 </dd>
614 <dt class="hdlist1">
615 <a href="git-bisect.html">git-bisect(1)</a>
616 </dt>
617 <dd>
619 Find by binary search the change that introduced a bug.
620 </p>
621 </dd>
622 <dt class="hdlist1">
623 <a href="git-branch.html">git-branch(1)</a>
624 </dt>
625 <dd>
627 List, create, or delete branches.
628 </p>
629 </dd>
630 <dt class="hdlist1">
631 <a href="git-bundle.html">git-bundle(1)</a>
632 </dt>
633 <dd>
635 Move objects and refs by archive.
636 </p>
637 </dd>
638 <dt class="hdlist1">
639 <a href="git-checkout.html">git-checkout(1)</a>
640 </dt>
641 <dd>
643 Checkout a branch or paths to the working tree.
644 </p>
645 </dd>
646 <dt class="hdlist1">
647 <a href="git-cherry-pick.html">git-cherry-pick(1)</a>
648 </dt>
649 <dd>
651 Apply the changes introduced by some existing commits.
652 </p>
653 </dd>
654 <dt class="hdlist1">
655 <a href="git-citool.html">git-citool(1)</a>
656 </dt>
657 <dd>
659 Graphical alternative to git-commit.
660 </p>
661 </dd>
662 <dt class="hdlist1">
663 <a href="git-clean.html">git-clean(1)</a>
664 </dt>
665 <dd>
667 Remove untracked files from the working tree.
668 </p>
669 </dd>
670 <dt class="hdlist1">
671 <a href="git-clone.html">git-clone(1)</a>
672 </dt>
673 <dd>
675 Clone a repository into a new directory.
676 </p>
677 </dd>
678 <dt class="hdlist1">
679 <a href="git-commit.html">git-commit(1)</a>
680 </dt>
681 <dd>
683 Record changes to the repository.
684 </p>
685 </dd>
686 <dt class="hdlist1">
687 <a href="git-describe.html">git-describe(1)</a>
688 </dt>
689 <dd>
691 Show the most recent tag that is reachable from a commit.
692 </p>
693 </dd>
694 <dt class="hdlist1">
695 <a href="git-diff.html">git-diff(1)</a>
696 </dt>
697 <dd>
699 Show changes between commits, commit and working tree, etc.
700 </p>
701 </dd>
702 <dt class="hdlist1">
703 <a href="git-fetch.html">git-fetch(1)</a>
704 </dt>
705 <dd>
707 Download objects and refs from another repository.
708 </p>
709 </dd>
710 <dt class="hdlist1">
711 <a href="git-format-patch.html">git-format-patch(1)</a>
712 </dt>
713 <dd>
715 Prepare patches for e-mail submission.
716 </p>
717 </dd>
718 <dt class="hdlist1">
719 <a href="git-gc.html">git-gc(1)</a>
720 </dt>
721 <dd>
723 Cleanup unnecessary files and optimize the local repository.
724 </p>
725 </dd>
726 <dt class="hdlist1">
727 <a href="git-grep.html">git-grep(1)</a>
728 </dt>
729 <dd>
731 Print lines matching a pattern.
732 </p>
733 </dd>
734 <dt class="hdlist1">
735 <a href="git-gui.html">git-gui(1)</a>
736 </dt>
737 <dd>
739 A portable graphical interface to Git.
740 </p>
741 </dd>
742 <dt class="hdlist1">
743 <a href="git-init.html">git-init(1)</a>
744 </dt>
745 <dd>
747 Create an empty git repository or reinitialize an existing one.
748 </p>
749 </dd>
750 <dt class="hdlist1">
751 <a href="git-log.html">git-log(1)</a>
752 </dt>
753 <dd>
755 Show commit logs.
756 </p>
757 </dd>
758 <dt class="hdlist1">
759 <a href="git-merge.html">git-merge(1)</a>
760 </dt>
761 <dd>
763 Join two or more development histories together.
764 </p>
765 </dd>
766 <dt class="hdlist1">
767 <a href="git-mv.html">git-mv(1)</a>
768 </dt>
769 <dd>
771 Move or rename a file, a directory, or a symlink.
772 </p>
773 </dd>
774 <dt class="hdlist1">
775 <a href="git-notes.html">git-notes(1)</a>
776 </dt>
777 <dd>
779 Add or inspect object notes.
780 </p>
781 </dd>
782 <dt class="hdlist1">
783 <a href="git-pull.html">git-pull(1)</a>
784 </dt>
785 <dd>
787 Fetch from and merge with another repository or a local branch.
788 </p>
789 </dd>
790 <dt class="hdlist1">
791 <a href="git-push.html">git-push(1)</a>
792 </dt>
793 <dd>
795 Update remote refs along with associated objects.
796 </p>
797 </dd>
798 <dt class="hdlist1">
799 <a href="git-rebase.html">git-rebase(1)</a>
800 </dt>
801 <dd>
803 Forward-port local commits to the updated upstream head.
804 </p>
805 </dd>
806 <dt class="hdlist1">
807 <a href="git-reset.html">git-reset(1)</a>
808 </dt>
809 <dd>
811 Reset current HEAD to the specified state.
812 </p>
813 </dd>
814 <dt class="hdlist1">
815 <a href="git-revert.html">git-revert(1)</a>
816 </dt>
817 <dd>
819 Revert some existing commits.
820 </p>
821 </dd>
822 <dt class="hdlist1">
823 <a href="git-rm.html">git-rm(1)</a>
824 </dt>
825 <dd>
827 Remove files from the working tree and from the index.
828 </p>
829 </dd>
830 <dt class="hdlist1">
831 <a href="git-shortlog.html">git-shortlog(1)</a>
832 </dt>
833 <dd>
835 Summarize <em>git log</em> output.
836 </p>
837 </dd>
838 <dt class="hdlist1">
839 <a href="git-show.html">git-show(1)</a>
840 </dt>
841 <dd>
843 Show various types of objects.
844 </p>
845 </dd>
846 <dt class="hdlist1">
847 <a href="git-stash.html">git-stash(1)</a>
848 </dt>
849 <dd>
851 Stash the changes in a dirty working directory away.
852 </p>
853 </dd>
854 <dt class="hdlist1">
855 <a href="git-status.html">git-status(1)</a>
856 </dt>
857 <dd>
859 Show the working tree status.
860 </p>
861 </dd>
862 <dt class="hdlist1">
863 <a href="git-submodule.html">git-submodule(1)</a>
864 </dt>
865 <dd>
867 Initialize, update or inspect submodules.
868 </p>
869 </dd>
870 <dt class="hdlist1">
871 <a href="git-tag.html">git-tag(1)</a>
872 </dt>
873 <dd>
875 Create, list, delete or verify a tag object signed with GPG.
876 </p>
877 </dd>
878 <dt class="hdlist1">
879 <a href="gitk.html">gitk(1)</a>
880 </dt>
881 <dd>
883 The git repository browser.
884 </p>
885 </dd>
886 </dl></div>
887 <h3 id="_ancillary_commands">Ancillary Commands</h3><div style="clear:left"></div>
888 <div class="paragraph"><p>Manipulators:</p></div>
889 <div class="dlist"><dl>
890 <dt class="hdlist1">
891 <a href="git-config.html">git-config(1)</a>
892 </dt>
893 <dd>
895 Get and set repository or global options.
896 </p>
897 </dd>
898 <dt class="hdlist1">
899 <a href="git-fast-export.html">git-fast-export(1)</a>
900 </dt>
901 <dd>
903 Git data exporter.
904 </p>
905 </dd>
906 <dt class="hdlist1">
907 <a href="git-fast-import.html">git-fast-import(1)</a>
908 </dt>
909 <dd>
911 Backend for fast Git data importers.
912 </p>
913 </dd>
914 <dt class="hdlist1">
915 <a href="git-filter-branch.html">git-filter-branch(1)</a>
916 </dt>
917 <dd>
919 Rewrite branches.
920 </p>
921 </dd>
922 <dt class="hdlist1">
923 <a href="git-lost-found.html">git-lost-found(1)</a>
924 </dt>
925 <dd>
927 (deprecated) Recover lost refs that luckily have not yet been pruned.
928 </p>
929 </dd>
930 <dt class="hdlist1">
931 <a href="git-mergetool.html">git-mergetool(1)</a>
932 </dt>
933 <dd>
935 Run merge conflict resolution tools to resolve merge conflicts.
936 </p>
937 </dd>
938 <dt class="hdlist1">
939 <a href="git-pack-refs.html">git-pack-refs(1)</a>
940 </dt>
941 <dd>
943 Pack heads and tags for efficient repository access.
944 </p>
945 </dd>
946 <dt class="hdlist1">
947 <a href="git-prune.html">git-prune(1)</a>
948 </dt>
949 <dd>
951 Prune all unreachable objects from the object database.
952 </p>
953 </dd>
954 <dt class="hdlist1">
955 <a href="git-reflog.html">git-reflog(1)</a>
956 </dt>
957 <dd>
959 Manage reflog information.
960 </p>
961 </dd>
962 <dt class="hdlist1">
963 <a href="git-relink.html">git-relink(1)</a>
964 </dt>
965 <dd>
967 Hardlink common objects in local repositories.
968 </p>
969 </dd>
970 <dt class="hdlist1">
971 <a href="git-remote.html">git-remote(1)</a>
972 </dt>
973 <dd>
975 manage set of tracked repositories.
976 </p>
977 </dd>
978 <dt class="hdlist1">
979 <a href="git-repack.html">git-repack(1)</a>
980 </dt>
981 <dd>
983 Pack unpacked objects in a repository.
984 </p>
985 </dd>
986 <dt class="hdlist1">
987 <a href="git-replace.html">git-replace(1)</a>
988 </dt>
989 <dd>
991 Create, list, delete refs to replace objects.
992 </p>
993 </dd>
994 <dt class="hdlist1">
995 <a href="git-repo-config.html">git-repo-config(1)</a>
996 </dt>
997 <dd>
999 (deprecated) Get and set repository or global options.
1000 </p>
1001 </dd>
1002 </dl></div>
1003 <div class="paragraph"><p>Interrogators:</p></div>
1004 <div class="dlist"><dl>
1005 <dt class="hdlist1">
1006 <a href="git-annotate.html">git-annotate(1)</a>
1007 </dt>
1008 <dd>
1010 Annotate file lines with commit information.
1011 </p>
1012 </dd>
1013 <dt class="hdlist1">
1014 <a href="git-blame.html">git-blame(1)</a>
1015 </dt>
1016 <dd>
1018 Show what revision and author last modified each line of a file.
1019 </p>
1020 </dd>
1021 <dt class="hdlist1">
1022 <a href="git-cherry.html">git-cherry(1)</a>
1023 </dt>
1024 <dd>
1026 Find commits not merged upstream.
1027 </p>
1028 </dd>
1029 <dt class="hdlist1">
1030 <a href="git-count-objects.html">git-count-objects(1)</a>
1031 </dt>
1032 <dd>
1034 Count unpacked number of objects and their disk consumption.
1035 </p>
1036 </dd>
1037 <dt class="hdlist1">
1038 <a href="git-difftool.html">git-difftool(1)</a>
1039 </dt>
1040 <dd>
1042 Show changes using common diff tools.
1043 </p>
1044 </dd>
1045 <dt class="hdlist1">
1046 <a href="git-fsck.html">git-fsck(1)</a>
1047 </dt>
1048 <dd>
1050 Verifies the connectivity and validity of the objects in the database.
1051 </p>
1052 </dd>
1053 <dt class="hdlist1">
1054 <a href="git-get-tar-commit-id.html">git-get-tar-commit-id(1)</a>
1055 </dt>
1056 <dd>
1058 Extract commit ID from an archive created using git-archive.
1059 </p>
1060 </dd>
1061 <dt class="hdlist1">
1062 <a href="git-help.html">git-help(1)</a>
1063 </dt>
1064 <dd>
1066 display help information about git.
1067 </p>
1068 </dd>
1069 <dt class="hdlist1">
1070 <a href="git-instaweb.html">git-instaweb(1)</a>
1071 </dt>
1072 <dd>
1074 Instantly browse your working repository in gitweb.
1075 </p>
1076 </dd>
1077 <dt class="hdlist1">
1078 <a href="git-merge-tree.html">git-merge-tree(1)</a>
1079 </dt>
1080 <dd>
1082 Show three-way merge without touching index.
1083 </p>
1084 </dd>
1085 <dt class="hdlist1">
1086 <a href="git-rerere.html">git-rerere(1)</a>
1087 </dt>
1088 <dd>
1090 Reuse recorded resolution of conflicted merges.
1091 </p>
1092 </dd>
1093 <dt class="hdlist1">
1094 <a href="git-rev-parse.html">git-rev-parse(1)</a>
1095 </dt>
1096 <dd>
1098 Pick out and massage parameters.
1099 </p>
1100 </dd>
1101 <dt class="hdlist1">
1102 <a href="git-show-branch.html">git-show-branch(1)</a>
1103 </dt>
1104 <dd>
1106 Show branches and their commits.
1107 </p>
1108 </dd>
1109 <dt class="hdlist1">
1110 <a href="git-verify-tag.html">git-verify-tag(1)</a>
1111 </dt>
1112 <dd>
1114 Check the GPG signature of tags.
1115 </p>
1116 </dd>
1117 <dt class="hdlist1">
1118 <a href="git-whatchanged.html">git-whatchanged(1)</a>
1119 </dt>
1120 <dd>
1122 Show logs with difference each commit introduces.
1123 </p>
1124 </dd>
1125 </dl></div>
1126 <h3 id="_interacting_with_others">Interacting with Others</h3><div style="clear:left"></div>
1127 <div class="paragraph"><p>These commands are to interact with foreign SCM and with other
1128 people via patch over e-mail.</p></div>
1129 <div class="dlist"><dl>
1130 <dt class="hdlist1">
1131 <a href="git-archimport.html">git-archimport(1)</a>
1132 </dt>
1133 <dd>
1135 Import an Arch repository into git.
1136 </p>
1137 </dd>
1138 <dt class="hdlist1">
1139 <a href="git-cvsexportcommit.html">git-cvsexportcommit(1)</a>
1140 </dt>
1141 <dd>
1143 Export a single commit to a CVS checkout.
1144 </p>
1145 </dd>
1146 <dt class="hdlist1">
1147 <a href="git-cvsimport.html">git-cvsimport(1)</a>
1148 </dt>
1149 <dd>
1151 Salvage your data out of another SCM people love to hate.
1152 </p>
1153 </dd>
1154 <dt class="hdlist1">
1155 <a href="git-cvsserver.html">git-cvsserver(1)</a>
1156 </dt>
1157 <dd>
1159 A CVS server emulator for git.
1160 </p>
1161 </dd>
1162 <dt class="hdlist1">
1163 <a href="git-imap-send.html">git-imap-send(1)</a>
1164 </dt>
1165 <dd>
1167 Send a collection of patches from stdin to an IMAP folder.
1168 </p>
1169 </dd>
1170 <dt class="hdlist1">
1171 <a href="git-quiltimport.html">git-quiltimport(1)</a>
1172 </dt>
1173 <dd>
1175 Applies a quilt patchset onto the current branch.
1176 </p>
1177 </dd>
1178 <dt class="hdlist1">
1179 <a href="git-request-pull.html">git-request-pull(1)</a>
1180 </dt>
1181 <dd>
1183 Generates a summary of pending changes.
1184 </p>
1185 </dd>
1186 <dt class="hdlist1">
1187 <a href="git-send-email.html">git-send-email(1)</a>
1188 </dt>
1189 <dd>
1191 Send a collection of patches as emails.
1192 </p>
1193 </dd>
1194 <dt class="hdlist1">
1195 <a href="git-svn.html">git-svn(1)</a>
1196 </dt>
1197 <dd>
1199 Bidirectional operation between a Subversion repository and git.
1200 </p>
1201 </dd>
1202 </dl></div>
1203 </div>
1204 <h2 id="_low_level_commands_plumbing">Low-level commands (plumbing)</h2>
1205 <div class="sectionbody">
1206 <div class="paragraph"><p>Although git includes its
1207 own porcelain layer, its low-level commands are sufficient to support
1208 development of alternative porcelains. Developers of such porcelains
1209 might start by reading about <a href="git-update-index.html">git-update-index(1)</a> and
1210 <a href="git-read-tree.html">git-read-tree(1)</a>.</p></div>
1211 <div class="paragraph"><p>The interface (input, output, set of options and the semantics)
1212 to these low-level commands are meant to be a lot more stable
1213 than Porcelain level commands, because these commands are
1214 primarily for scripted use. The interface to Porcelain commands
1215 on the other hand are subject to change in order to improve the
1216 end user experience.</p></div>
1217 <div class="paragraph"><p>The following description divides
1218 the low-level commands into commands that manipulate objects (in
1219 the repository, index, and working tree), commands that interrogate and
1220 compare objects, and commands that move objects and references between
1221 repositories.</p></div>
1222 <h3 id="_manipulation_commands">Manipulation commands</h3><div style="clear:left"></div>
1223 <div class="dlist"><dl>
1224 <dt class="hdlist1">
1225 <a href="git-apply.html">git-apply(1)</a>
1226 </dt>
1227 <dd>
1229 Apply a patch to files and/or to the index.
1230 </p>
1231 </dd>
1232 <dt class="hdlist1">
1233 <a href="git-checkout-index.html">git-checkout-index(1)</a>
1234 </dt>
1235 <dd>
1237 Copy files from the index to the working tree.
1238 </p>
1239 </dd>
1240 <dt class="hdlist1">
1241 <a href="git-commit-tree.html">git-commit-tree(1)</a>
1242 </dt>
1243 <dd>
1245 Create a new commit object.
1246 </p>
1247 </dd>
1248 <dt class="hdlist1">
1249 <a href="git-hash-object.html">git-hash-object(1)</a>
1250 </dt>
1251 <dd>
1253 Compute object ID and optionally creates a blob from a file.
1254 </p>
1255 </dd>
1256 <dt class="hdlist1">
1257 <a href="git-index-pack.html">git-index-pack(1)</a>
1258 </dt>
1259 <dd>
1261 Build pack index file for an existing packed archive.
1262 </p>
1263 </dd>
1264 <dt class="hdlist1">
1265 <a href="git-merge-file.html">git-merge-file(1)</a>
1266 </dt>
1267 <dd>
1269 Run a three-way file merge.
1270 </p>
1271 </dd>
1272 <dt class="hdlist1">
1273 <a href="git-merge-index.html">git-merge-index(1)</a>
1274 </dt>
1275 <dd>
1277 Run a merge for files needing merging.
1278 </p>
1279 </dd>
1280 <dt class="hdlist1">
1281 <a href="git-mktag.html">git-mktag(1)</a>
1282 </dt>
1283 <dd>
1285 Creates a tag object.
1286 </p>
1287 </dd>
1288 <dt class="hdlist1">
1289 <a href="git-mktree.html">git-mktree(1)</a>
1290 </dt>
1291 <dd>
1293 Build a tree-object from ls-tree formatted text.
1294 </p>
1295 </dd>
1296 <dt class="hdlist1">
1297 <a href="git-pack-objects.html">git-pack-objects(1)</a>
1298 </dt>
1299 <dd>
1301 Create a packed archive of objects.
1302 </p>
1303 </dd>
1304 <dt class="hdlist1">
1305 <a href="git-prune-packed.html">git-prune-packed(1)</a>
1306 </dt>
1307 <dd>
1309 Remove extra objects that are already in pack files.
1310 </p>
1311 </dd>
1312 <dt class="hdlist1">
1313 <a href="git-read-tree.html">git-read-tree(1)</a>
1314 </dt>
1315 <dd>
1317 Reads tree information into the index.
1318 </p>
1319 </dd>
1320 <dt class="hdlist1">
1321 <a href="git-symbolic-ref.html">git-symbolic-ref(1)</a>
1322 </dt>
1323 <dd>
1325 Read and modify symbolic refs.
1326 </p>
1327 </dd>
1328 <dt class="hdlist1">
1329 <a href="git-unpack-objects.html">git-unpack-objects(1)</a>
1330 </dt>
1331 <dd>
1333 Unpack objects from a packed archive.
1334 </p>
1335 </dd>
1336 <dt class="hdlist1">
1337 <a href="git-update-index.html">git-update-index(1)</a>
1338 </dt>
1339 <dd>
1341 Register file contents in the working tree to the index.
1342 </p>
1343 </dd>
1344 <dt class="hdlist1">
1345 <a href="git-update-ref.html">git-update-ref(1)</a>
1346 </dt>
1347 <dd>
1349 Update the object name stored in a ref safely.
1350 </p>
1351 </dd>
1352 <dt class="hdlist1">
1353 <a href="git-write-tree.html">git-write-tree(1)</a>
1354 </dt>
1355 <dd>
1357 Create a tree object from the current index.
1358 </p>
1359 </dd>
1360 </dl></div>
1361 <h3 id="_interrogation_commands">Interrogation commands</h3><div style="clear:left"></div>
1362 <div class="dlist"><dl>
1363 <dt class="hdlist1">
1364 <a href="git-cat-file.html">git-cat-file(1)</a>
1365 </dt>
1366 <dd>
1368 Provide content or type and size information for repository objects.
1369 </p>
1370 </dd>
1371 <dt class="hdlist1">
1372 <a href="git-diff-files.html">git-diff-files(1)</a>
1373 </dt>
1374 <dd>
1376 Compares files in the working tree and the index.
1377 </p>
1378 </dd>
1379 <dt class="hdlist1">
1380 <a href="git-diff-index.html">git-diff-index(1)</a>
1381 </dt>
1382 <dd>
1384 Compares content and mode of blobs between the index and repository.
1385 </p>
1386 </dd>
1387 <dt class="hdlist1">
1388 <a href="git-diff-tree.html">git-diff-tree(1)</a>
1389 </dt>
1390 <dd>
1392 Compares the content and mode of blobs found via two tree objects.
1393 </p>
1394 </dd>
1395 <dt class="hdlist1">
1396 <a href="git-for-each-ref.html">git-for-each-ref(1)</a>
1397 </dt>
1398 <dd>
1400 Output information on each ref.
1401 </p>
1402 </dd>
1403 <dt class="hdlist1">
1404 <a href="git-ls-files.html">git-ls-files(1)</a>
1405 </dt>
1406 <dd>
1408 Show information about files in the index and the working tree.
1409 </p>
1410 </dd>
1411 <dt class="hdlist1">
1412 <a href="git-ls-remote.html">git-ls-remote(1)</a>
1413 </dt>
1414 <dd>
1416 List references in a remote repository.
1417 </p>
1418 </dd>
1419 <dt class="hdlist1">
1420 <a href="git-ls-tree.html">git-ls-tree(1)</a>
1421 </dt>
1422 <dd>
1424 List the contents of a tree object.
1425 </p>
1426 </dd>
1427 <dt class="hdlist1">
1428 <a href="git-merge-base.html">git-merge-base(1)</a>
1429 </dt>
1430 <dd>
1432 Find as good common ancestors as possible for a merge.
1433 </p>
1434 </dd>
1435 <dt class="hdlist1">
1436 <a href="git-name-rev.html">git-name-rev(1)</a>
1437 </dt>
1438 <dd>
1440 Find symbolic names for given revs.
1441 </p>
1442 </dd>
1443 <dt class="hdlist1">
1444 <a href="git-pack-redundant.html">git-pack-redundant(1)</a>
1445 </dt>
1446 <dd>
1448 Find redundant pack files.
1449 </p>
1450 </dd>
1451 <dt class="hdlist1">
1452 <a href="git-rev-list.html">git-rev-list(1)</a>
1453 </dt>
1454 <dd>
1456 Lists commit objects in reverse chronological order.
1457 </p>
1458 </dd>
1459 <dt class="hdlist1">
1460 <a href="git-show-index.html">git-show-index(1)</a>
1461 </dt>
1462 <dd>
1464 Show packed archive index.
1465 </p>
1466 </dd>
1467 <dt class="hdlist1">
1468 <a href="git-show-ref.html">git-show-ref(1)</a>
1469 </dt>
1470 <dd>
1472 List references in a local repository.
1473 </p>
1474 </dd>
1475 <dt class="hdlist1">
1476 <a href="git-tar-tree.html">git-tar-tree(1)</a>
1477 </dt>
1478 <dd>
1480 (deprecated) Create a tar archive of the files in the named tree object.
1481 </p>
1482 </dd>
1483 <dt class="hdlist1">
1484 <a href="git-unpack-file.html">git-unpack-file(1)</a>
1485 </dt>
1486 <dd>
1488 Creates a temporary file with a blob&#8217;s contents.
1489 </p>
1490 </dd>
1491 <dt class="hdlist1">
1492 <a href="git-var.html">git-var(1)</a>
1493 </dt>
1494 <dd>
1496 Show a git logical variable.
1497 </p>
1498 </dd>
1499 <dt class="hdlist1">
1500 <a href="git-verify-pack.html">git-verify-pack(1)</a>
1501 </dt>
1502 <dd>
1504 Validate packed git archive files.
1505 </p>
1506 </dd>
1507 </dl></div>
1508 <div class="paragraph"><p>In general, the interrogate commands do not touch the files in
1509 the working tree.</p></div>
1510 <h3 id="_synching_repositories">Synching repositories</h3><div style="clear:left"></div>
1511 <div class="dlist"><dl>
1512 <dt class="hdlist1">
1513 <a href="git-daemon.html">git-daemon(1)</a>
1514 </dt>
1515 <dd>
1517 A really simple server for git repositories.
1518 </p>
1519 </dd>
1520 <dt class="hdlist1">
1521 <a href="git-fetch-pack.html">git-fetch-pack(1)</a>
1522 </dt>
1523 <dd>
1525 Receive missing objects from another repository.
1526 </p>
1527 </dd>
1528 <dt class="hdlist1">
1529 <a href="git-http-backend.html">git-http-backend(1)</a>
1530 </dt>
1531 <dd>
1533 Server side implementation of Git over HTTP.
1534 </p>
1535 </dd>
1536 <dt class="hdlist1">
1537 <a href="git-send-pack.html">git-send-pack(1)</a>
1538 </dt>
1539 <dd>
1541 Push objects over git protocol to another repository.
1542 </p>
1543 </dd>
1544 <dt class="hdlist1">
1545 <a href="git-update-server-info.html">git-update-server-info(1)</a>
1546 </dt>
1547 <dd>
1549 Update auxiliary info file to help dumb servers.
1550 </p>
1551 </dd>
1552 </dl></div>
1553 <div class="paragraph"><p>The following are helper commands used by the above; end users
1554 typically do not use them directly.</p></div>
1555 <div class="dlist"><dl>
1556 <dt class="hdlist1">
1557 <a href="git-http-fetch.html">git-http-fetch(1)</a>
1558 </dt>
1559 <dd>
1561 Download from a remote git repository via HTTP.
1562 </p>
1563 </dd>
1564 <dt class="hdlist1">
1565 <a href="git-http-push.html">git-http-push(1)</a>
1566 </dt>
1567 <dd>
1569 Push objects over HTTP/DAV to another repository.
1570 </p>
1571 </dd>
1572 <dt class="hdlist1">
1573 <a href="git-parse-remote.html">git-parse-remote(1)</a>
1574 </dt>
1575 <dd>
1577 Routines to help parsing remote repository access parameters.
1578 </p>
1579 </dd>
1580 <dt class="hdlist1">
1581 <a href="git-receive-pack.html">git-receive-pack(1)</a>
1582 </dt>
1583 <dd>
1585 Receive what is pushed into the repository.
1586 </p>
1587 </dd>
1588 <dt class="hdlist1">
1589 <a href="git-shell.html">git-shell(1)</a>
1590 </dt>
1591 <dd>
1593 Restricted login shell for Git-only SSH access.
1594 </p>
1595 </dd>
1596 <dt class="hdlist1">
1597 <a href="git-upload-archive.html">git-upload-archive(1)</a>
1598 </dt>
1599 <dd>
1601 Send archive back to git-archive.
1602 </p>
1603 </dd>
1604 <dt class="hdlist1">
1605 <a href="git-upload-pack.html">git-upload-pack(1)</a>
1606 </dt>
1607 <dd>
1609 Send objects packed back to git-fetch-pack.
1610 </p>
1611 </dd>
1612 </dl></div>
1613 <h3 id="_internal_helper_commands">Internal helper commands</h3><div style="clear:left"></div>
1614 <div class="paragraph"><p>These are internal helper commands used by other commands; end
1615 users typically do not use them directly.</p></div>
1616 <div class="dlist"><dl>
1617 <dt class="hdlist1">
1618 <a href="git-check-attr.html">git-check-attr(1)</a>
1619 </dt>
1620 <dd>
1622 Display gitattributes information.
1623 </p>
1624 </dd>
1625 <dt class="hdlist1">
1626 <a href="git-check-ref-format.html">git-check-ref-format(1)</a>
1627 </dt>
1628 <dd>
1630 Ensures that a reference name is well formed.
1631 </p>
1632 </dd>
1633 <dt class="hdlist1">
1634 <a href="git-fmt-merge-msg.html">git-fmt-merge-msg(1)</a>
1635 </dt>
1636 <dd>
1638 Produce a merge commit message.
1639 </p>
1640 </dd>
1641 <dt class="hdlist1">
1642 <a href="git-mailinfo.html">git-mailinfo(1)</a>
1643 </dt>
1644 <dd>
1646 Extracts patch and authorship from a single e-mail message.
1647 </p>
1648 </dd>
1649 <dt class="hdlist1">
1650 <a href="git-mailsplit.html">git-mailsplit(1)</a>
1651 </dt>
1652 <dd>
1654 Simple UNIX mbox splitter program.
1655 </p>
1656 </dd>
1657 <dt class="hdlist1">
1658 <a href="git-merge-one-file.html">git-merge-one-file(1)</a>
1659 </dt>
1660 <dd>
1662 The standard helper program to use with git-merge-index.
1663 </p>
1664 </dd>
1665 <dt class="hdlist1">
1666 <a href="git-patch-id.html">git-patch-id(1)</a>
1667 </dt>
1668 <dd>
1670 Compute unique ID for a patch.
1671 </p>
1672 </dd>
1673 <dt class="hdlist1">
1674 <a href="git-peek-remote.html">git-peek-remote(1)</a>
1675 </dt>
1676 <dd>
1678 (deprecated) List the references in a remote repository.
1679 </p>
1680 </dd>
1681 <dt class="hdlist1">
1682 <a href="git-sh-setup.html">git-sh-setup(1)</a>
1683 </dt>
1684 <dd>
1686 Common git shell script setup code.
1687 </p>
1688 </dd>
1689 <dt class="hdlist1">
1690 <a href="git-stripspace.html">git-stripspace(1)</a>
1691 </dt>
1692 <dd>
1694 Filter out empty lines.
1695 </p>
1696 </dd>
1697 </dl></div>
1698 </div>
1699 <h2 id="_configuration_mechanism">Configuration Mechanism</h2>
1700 <div class="sectionbody">
1701 <div class="paragraph"><p>Starting from 0.99.9 (actually mid 0.99.8.GIT), <tt>.git/config</tt> file
1702 is used to hold per-repository configuration options. It is a
1703 simple text file modeled after <tt>.ini</tt> format familiar to some
1704 people. Here is an example:</p></div>
1705 <div class="listingblock">
1706 <div class="content">
1707 <pre><tt>#
1708 # A '#' or ';' character indicates a comment.
1711 ; core variables
1712 [core]
1713 ; Don't trust file modes
1714 filemode = false
1716 ; user identity
1717 [user]
1718 name = "Junio C Hamano"
1719 email = "junkio@twinsun.com"</tt></pre>
1720 </div></div>
1721 <div class="paragraph"><p>Various commands read from the configuration file and adjust
1722 their operation accordingly. See <a href="git-config.html">git-config(1)</a> for a
1723 list.</p></div>
1724 </div>
1725 <h2 id="_identifier_terminology">Identifier Terminology</h2>
1726 <div class="sectionbody">
1727 <div class="dlist"><dl>
1728 <dt class="hdlist1">
1729 &lt;object&gt;
1730 </dt>
1731 <dd>
1733 Indicates the object name for any type of object.
1734 </p>
1735 </dd>
1736 <dt class="hdlist1">
1737 &lt;blob&gt;
1738 </dt>
1739 <dd>
1741 Indicates a blob object name.
1742 </p>
1743 </dd>
1744 <dt class="hdlist1">
1745 &lt;tree&gt;
1746 </dt>
1747 <dd>
1749 Indicates a tree object name.
1750 </p>
1751 </dd>
1752 <dt class="hdlist1">
1753 &lt;commit&gt;
1754 </dt>
1755 <dd>
1757 Indicates a commit object name.
1758 </p>
1759 </dd>
1760 <dt class="hdlist1">
1761 &lt;tree-ish&gt;
1762 </dt>
1763 <dd>
1765 Indicates a tree, commit or tag object name. A
1766 command that takes a &lt;tree-ish&gt; argument ultimately wants to
1767 operate on a &lt;tree&gt; object but automatically dereferences
1768 &lt;commit&gt; and &lt;tag&gt; objects that point at a &lt;tree&gt;.
1769 </p>
1770 </dd>
1771 <dt class="hdlist1">
1772 &lt;commit-ish&gt;
1773 </dt>
1774 <dd>
1776 Indicates a commit or tag object name. A
1777 command that takes a &lt;commit-ish&gt; argument ultimately wants to
1778 operate on a &lt;commit&gt; object but automatically dereferences
1779 &lt;tag&gt; objects that point at a &lt;commit&gt;.
1780 </p>
1781 </dd>
1782 <dt class="hdlist1">
1783 &lt;type&gt;
1784 </dt>
1785 <dd>
1787 Indicates that an object type is required.
1788 Currently one of: <tt>blob</tt>, <tt>tree</tt>, <tt>commit</tt>, or <tt>tag</tt>.
1789 </p>
1790 </dd>
1791 <dt class="hdlist1">
1792 &lt;file&gt;
1793 </dt>
1794 <dd>
1796 Indicates a filename - almost always relative to the
1797 root of the tree structure <tt>GIT_INDEX_FILE</tt> describes.
1798 </p>
1799 </dd>
1800 </dl></div>
1801 </div>
1802 <h2 id="_symbolic_identifiers">Symbolic Identifiers</h2>
1803 <div class="sectionbody">
1804 <div class="paragraph"><p>Any git command accepting any &lt;object&gt; can also use the following
1805 symbolic notation:</p></div>
1806 <div class="dlist"><dl>
1807 <dt class="hdlist1">
1808 HEAD
1809 </dt>
1810 <dd>
1812 indicates the head of the current branch (i.e. the
1813 contents of <tt>$GIT_DIR/HEAD</tt>).
1814 </p>
1815 </dd>
1816 <dt class="hdlist1">
1817 &lt;tag&gt;
1818 </dt>
1819 <dd>
1821 a valid tag <em>name</em>
1822 (i.e. the contents of <tt>$GIT_DIR/refs/tags/&lt;tag&gt;</tt>).
1823 </p>
1824 </dd>
1825 <dt class="hdlist1">
1826 &lt;head&gt;
1827 </dt>
1828 <dd>
1830 a valid head <em>name</em>
1831 (i.e. the contents of <tt>$GIT_DIR/refs/heads/&lt;head&gt;</tt>).
1832 </p>
1833 </dd>
1834 </dl></div>
1835 <div class="paragraph"><p>For a more complete list of ways to spell object names, see
1836 "SPECIFYING REVISIONS" section in <a href="gitrevisions.html">gitrevisions(7)</a>.</p></div>
1837 </div>
1838 <h2 id="_file_directory_structure">File/Directory Structure</h2>
1839 <div class="sectionbody">
1840 <div class="paragraph"><p>Please see the <a href="gitrepository-layout.html">gitrepository-layout(5)</a> document.</p></div>
1841 <div class="paragraph"><p>Read <a href="githooks.html">githooks(5)</a> for more details about each hook.</p></div>
1842 <div class="paragraph"><p>Higher level SCMs may provide and manage additional information in the
1843 <tt>$GIT_DIR</tt>.</p></div>
1844 </div>
1845 <h2 id="_terminology">Terminology</h2>
1846 <div class="sectionbody">
1847 <div class="paragraph"><p>Please see <a href="gitglossary.html">gitglossary(7)</a>.</p></div>
1848 </div>
1849 <h2 id="_environment_variables">Environment Variables</h2>
1850 <div class="sectionbody">
1851 <div class="paragraph"><p>Various git commands use the following environment variables:</p></div>
1852 <h3 id="_the_git_repository">The git Repository</h3><div style="clear:left"></div>
1853 <div class="paragraph"><p>These environment variables apply to <em>all</em> core git commands. Nb: it
1854 is worth noting that they may be used/overridden by SCMS sitting above
1855 git so take care if using Cogito etc.</p></div>
1856 <div class="dlist"><dl>
1857 <dt class="hdlist1">
1858 <em>GIT_INDEX_FILE</em>
1859 </dt>
1860 <dd>
1862 This environment allows the specification of an alternate
1863 index file. If not specified, the default of <tt>$GIT_DIR/index</tt>
1864 is used.
1865 </p>
1866 </dd>
1867 <dt class="hdlist1">
1868 <em>GIT_OBJECT_DIRECTORY</em>
1869 </dt>
1870 <dd>
1872 If the object storage directory is specified via this
1873 environment variable then the sha1 directories are created
1874 underneath - otherwise the default <tt>$GIT_DIR/objects</tt>
1875 directory is used.
1876 </p>
1877 </dd>
1878 <dt class="hdlist1">
1879 <em>GIT_ALTERNATE_OBJECT_DIRECTORIES</em>
1880 </dt>
1881 <dd>
1883 Due to the immutable nature of git objects, old objects can be
1884 archived into shared, read-only directories. This variable
1885 specifies a ":" separated (on Windows ";" separated) list
1886 of git object directories which can be used to search for git
1887 objects. New objects will not be written to these directories.
1888 </p>
1889 </dd>
1890 <dt class="hdlist1">
1891 <em>GIT_DIR</em>
1892 </dt>
1893 <dd>
1895 If the <em>GIT_DIR</em> environment variable is set then it
1896 specifies a path to use instead of the default <tt>.git</tt>
1897 for the base of the repository.
1898 </p>
1899 </dd>
1900 <dt class="hdlist1">
1901 <em>GIT_WORK_TREE</em>
1902 </dt>
1903 <dd>
1905 Set the path to the working tree. The value will not be
1906 used in combination with repositories found automatically in
1907 a .git directory (i.e. $GIT_DIR is not set).
1908 This can also be controlled by the <em>--work-tree</em> command line
1909 option and the core.worktree configuration variable.
1910 </p>
1911 </dd>
1912 <dt class="hdlist1">
1913 <em>GIT_CEILING_DIRECTORIES</em>
1914 </dt>
1915 <dd>
1917 This should be a colon-separated list of absolute paths.
1918 If set, it is a list of directories that git should not chdir
1919 up into while looking for a repository directory.
1920 It will not exclude the current working directory or
1921 a GIT_DIR set on the command line or in the environment.
1922 (Useful for excluding slow-loading network directories.)
1923 </p>
1924 </dd>
1925 <dt class="hdlist1">
1926 <em>GIT_DISCOVERY_ACROSS_FILESYSTEM</em>
1927 </dt>
1928 <dd>
1930 When run in a directory that does not have ".git" repository
1931 directory, git tries to find such a directory in the parent
1932 directories to find the top of the working tree, but by default it
1933 does not cross filesystem boundaries. This environment variable
1934 can be set to true to tell git not to stop at filesystem
1935 boundaries. Like <em>GIT_CEILING_DIRECTORIES</em>, this will not affect
1936 an explicit repository directory set via <em>GIT_DIR</em> or on the
1937 command line.
1938 </p>
1939 </dd>
1940 </dl></div>
1941 <h3 id="_git_commits">git Commits</h3><div style="clear:left"></div>
1942 <div class="dlist"><dl>
1943 <dt class="hdlist1">
1944 <em>GIT_AUTHOR_NAME</em>
1945 </dt>
1946 <dt class="hdlist1">
1947 <em>GIT_AUTHOR_EMAIL</em>
1948 </dt>
1949 <dt class="hdlist1">
1950 <em>GIT_AUTHOR_DATE</em>
1951 </dt>
1952 <dt class="hdlist1">
1953 <em>GIT_COMMITTER_NAME</em>
1954 </dt>
1955 <dt class="hdlist1">
1956 <em>GIT_COMMITTER_EMAIL</em>
1957 </dt>
1958 <dt class="hdlist1">
1959 <em>GIT_COMMITTER_DATE</em>
1960 </dt>
1961 <dt class="hdlist1">
1962 <em>EMAIL</em>
1963 </dt>
1964 <dd>
1966 see <a href="git-commit-tree.html">git-commit-tree(1)</a>
1967 </p>
1968 </dd>
1969 </dl></div>
1970 <h3 id="_git_diffs">git Diffs</h3><div style="clear:left"></div>
1971 <div class="dlist"><dl>
1972 <dt class="hdlist1">
1973 <em>GIT_DIFF_OPTS</em>
1974 </dt>
1975 <dd>
1977 Only valid setting is "--unified=??" or "-u??" to set the
1978 number of context lines shown when a unified diff is created.
1979 This takes precedence over any "-U" or "--unified" option
1980 value passed on the git diff command line.
1981 </p>
1982 </dd>
1983 <dt class="hdlist1">
1984 <em>GIT_EXTERNAL_DIFF</em>
1985 </dt>
1986 <dd>
1988 When the environment variable <em>GIT_EXTERNAL_DIFF</em> is set, the
1989 program named by it is called, instead of the diff invocation
1990 described above. For a path that is added, removed, or modified,
1991 <em>GIT_EXTERNAL_DIFF</em> is called with 7 parameters:
1992 </p>
1993 <div class="literalblock">
1994 <div class="content">
1995 <pre><tt>path old-file old-hex old-mode new-file new-hex new-mode</tt></pre>
1996 </div></div>
1997 <div class="paragraph"><p>where:</p></div>
1998 </dd>
1999 <dt class="hdlist1">
2000 &lt;old|new&gt;-file
2001 </dt>
2002 <dd>
2004 are files GIT_EXTERNAL_DIFF can use to read the
2005 contents of &lt;old|new&gt;,
2006 </p>
2007 </dd>
2008 <dt class="hdlist1">
2009 &lt;old|new&gt;-hex
2010 </dt>
2011 <dd>
2013 are the 40-hexdigit SHA1 hashes,
2014 </p>
2015 </dd>
2016 <dt class="hdlist1">
2017 &lt;old|new&gt;-mode
2018 </dt>
2019 <dd>
2021 are the octal representation of the file modes.
2022 </p>
2023 <div class="paragraph"><p>The file parameters can point at the user&#8217;s working file
2024 (e.g. <tt>new-file</tt> in "git-diff-files"), <tt>/dev/null</tt> (e.g. <tt>old-file</tt>
2025 when a new file is added), or a temporary file (e.g. <tt>old-file</tt> in the
2026 index). <em>GIT_EXTERNAL_DIFF</em> should not worry about unlinking the
2027 temporary file --- it is removed when <em>GIT_EXTERNAL_DIFF</em> exits.</p></div>
2028 <div class="paragraph"><p>For a path that is unmerged, <em>GIT_EXTERNAL_DIFF</em> is called with 1
2029 parameter, &lt;path&gt;.</p></div>
2030 </dd>
2031 </dl></div>
2032 <h3 id="_other">other</h3><div style="clear:left"></div>
2033 <div class="dlist"><dl>
2034 <dt class="hdlist1">
2035 <em>GIT_MERGE_VERBOSITY</em>
2036 </dt>
2037 <dd>
2039 A number controlling the amount of output shown by
2040 the recursive merge strategy. Overrides merge.verbosity.
2041 See <a href="git-merge.html">git-merge(1)</a>
2042 </p>
2043 </dd>
2044 <dt class="hdlist1">
2045 <em>GIT_PAGER</em>
2046 </dt>
2047 <dd>
2049 This environment variable overrides <tt>$PAGER</tt>. If it is set
2050 to an empty string or to the value "cat", git will not launch
2051 a pager. See also the <tt>core.pager</tt> option in
2052 <a href="git-config.html">git-config(1)</a>.
2053 </p>
2054 </dd>
2055 <dt class="hdlist1">
2056 <em>GIT_SSH</em>
2057 </dt>
2058 <dd>
2060 If this environment variable is set then <em>git fetch</em>
2061 and <em>git push</em> will use this command instead
2062 of <em>ssh</em> when they need to connect to a remote system.
2063 The <em>$GIT_SSH</em> command will be given exactly two arguments:
2064 the <em>username@host</em> (or just <em>host</em>) from the URL and the
2065 shell command to execute on that remote system.
2066 </p>
2067 <div class="paragraph"><p>To pass options to the program that you want to list in GIT_SSH
2068 you will need to wrap the program and options into a shell script,
2069 then set GIT_SSH to refer to the shell script.</p></div>
2070 <div class="paragraph"><p>Usually it is easier to configure any desired options through your
2071 personal <tt>.ssh/config</tt> file. Please consult your ssh documentation
2072 for further details.</p></div>
2073 </dd>
2074 <dt class="hdlist1">
2075 <em>GIT_ASKPASS</em>
2076 </dt>
2077 <dd>
2079 If this environment variable is set, then git commands which need to
2080 acquire passwords or passphrases (e.g. for HTTP or IMAP authentication)
2081 will call this program with a suitable prompt as command line argument
2082 and read the password from its STDOUT. See also the <em>core.askpass</em>
2083 option in <a href="git-config.html">git-config(1)</a>.
2084 </p>
2085 </dd>
2086 <dt class="hdlist1">
2087 <em>GIT_FLUSH</em>
2088 </dt>
2089 <dd>
2091 If this environment variable is set to "1", then commands such
2092 as <em>git blame</em> (in incremental mode), <em>git rev-list</em>, <em>git log</em>,
2093 and <em>git whatchanged</em> will force a flush of the output stream
2094 after each commit-oriented record have been flushed. If this
2095 variable is set to "0", the output of these commands will be done
2096 using completely buffered I/O. If this environment variable is
2097 not set, git will choose buffered or record-oriented flushing
2098 based on whether stdout appears to be redirected to a file or not.
2099 </p>
2100 </dd>
2101 <dt class="hdlist1">
2102 <em>GIT_TRACE</em>
2103 </dt>
2104 <dd>
2106 If this variable is set to "1", "2" or "true" (comparison
2107 is case insensitive), git will print <tt>trace:</tt> messages on
2108 stderr telling about alias expansion, built-in command
2109 execution and external command execution.
2110 If this variable is set to an integer value greater than 1
2111 and lower than 10 (strictly) then git will interpret this
2112 value as an open file descriptor and will try to write the
2113 trace messages into this file descriptor.
2114 Alternatively, if this variable is set to an absolute path
2115 (starting with a <em>/</em> character), git will interpret this
2116 as a file path and will try to write the trace messages
2117 into it.
2118 </p>
2119 </dd>
2120 </dl></div>
2121 </div>
2122 <h2 id="_discussion_a_id_discussion_a">Discussion<a id="Discussion"></a></h2>
2123 <div class="sectionbody">
2124 <div class="paragraph"><p>More detail on the following is available from the
2125 <a href="user-manual.html#git-concepts">git concepts chapter of the
2126 user-manual</a> and <a href="gitcore-tutorial.html">gitcore-tutorial(7)</a>.</p></div>
2127 <div class="paragraph"><p>A git project normally consists of a working directory with a ".git"
2128 subdirectory at the top level. The .git directory contains, among other
2129 things, a compressed object database representing the complete history
2130 of the project, an "index" file which links that history to the current
2131 contents of the working tree, and named pointers into that history such
2132 as tags and branch heads.</p></div>
2133 <div class="paragraph"><p>The object database contains objects of three main types: blobs, which
2134 hold file data; trees, which point to blobs and other trees to build up
2135 directory hierarchies; and commits, which each reference a single tree
2136 and some number of parent commits.</p></div>
2137 <div class="paragraph"><p>The commit, equivalent to what other systems call a "changeset" or
2138 "version", represents a step in the project&#8217;s history, and each parent
2139 represents an immediately preceding step. Commits with more than one
2140 parent represent merges of independent lines of development.</p></div>
2141 <div class="paragraph"><p>All objects are named by the SHA1 hash of their contents, normally
2142 written as a string of 40 hex digits. Such names are globally unique.
2143 The entire history leading up to a commit can be vouched for by signing
2144 just that commit. A fourth object type, the tag, is provided for this
2145 purpose.</p></div>
2146 <div class="paragraph"><p>When first created, objects are stored in individual files, but for
2147 efficiency may later be compressed together into "pack files".</p></div>
2148 <div class="paragraph"><p>Named pointers called refs mark interesting points in history. A ref
2149 may contain the SHA1 name of an object or the name of another ref. Refs
2150 with names beginning <tt>ref/head/</tt> contain the SHA1 name of the most
2151 recent commit (or "head") of a branch under development. SHA1 names of
2152 tags of interest are stored under <tt>ref/tags/</tt>. A special ref named
2153 <tt>HEAD</tt> contains the name of the currently checked-out branch.</p></div>
2154 <div class="paragraph"><p>The index file is initialized with a list of all paths and, for each
2155 path, a blob object and a set of attributes. The blob object represents
2156 the contents of the file as of the head of the current branch. The
2157 attributes (last modified time, size, etc.) are taken from the
2158 corresponding file in the working tree. Subsequent changes to the
2159 working tree can be found by comparing these attributes. The index may
2160 be updated with new content, and new commits may be created from the
2161 content stored in the index.</p></div>
2162 <div class="paragraph"><p>The index is also capable of storing multiple entries (called "stages")
2163 for a given pathname. These stages are used to hold the various
2164 unmerged version of a file when a merge is in progress.</p></div>
2165 </div>
2166 <h2 id="_authors">Authors</h2>
2167 <div class="sectionbody">
2168 <div class="paragraph"><p>Git was started by Linus Torvalds, and is currently maintained by Junio
2169 C Hamano. Numerous contributions have come from the git mailing list
2170 &lt;<a href="mailto:git@vger.kernel.org">git@vger.kernel.org</a>&gt;. For a more complete list of contributors, see
2171 <a href="http://git-scm.com/about">http://git-scm.com/about</a>. If you have a clone of git.git itself, the
2172 output of <a href="git-shortlog.html">git-shortlog(1)</a> and <a href="git-blame.html">git-blame(1)</a> can show you
2173 the authors for specific parts of the project.</p></div>
2174 </div>
2175 <h2 id="_reporting_bugs">Reporting Bugs</h2>
2176 <div class="sectionbody">
2177 <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
2178 development and maintenance is primarily done. You do not have to be
2179 subscribed to the list to send a message there.</p></div>
2180 </div>
2181 <h2 id="_see_also">SEE ALSO</h2>
2182 <div class="sectionbody">
2183 <div class="paragraph"><p><a href="gittutorial.html">gittutorial(7)</a>, <a href="gittutorial-2.html">gittutorial-2(7)</a>,
2184 <a href="everyday.html">Everyday Git</a>, <a href="gitcvs-migration.html">gitcvs-migration(7)</a>,
2185 <a href="gitglossary.html">gitglossary(7)</a>, <a href="gitcore-tutorial.html">gitcore-tutorial(7)</a>,
2186 <a href="gitcli.html">gitcli(7)</a>, <a href="user-manual.html">The Git User&#8217;s Manual</a>,
2187 <a href="gitworkflows.html">gitworkflows(7)</a></p></div>
2188 </div>
2189 <h2 id="_git">GIT</h2>
2190 <div class="sectionbody">
2191 <div class="paragraph"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
2192 </div>
2193 <div id="footer">
2194 <div id="footer-text">
2195 Last updated 2011-04-24 18:05:57 UTC
2196 </div>
2197 </div>
2198 </body>
2199 </html>