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