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