Autogenerated HTML docs for v1.7.1
[git/jnareb-git.git] / git.html
blob409227bd2545afe0fdd34ffb7d3693e99eee683a
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.2.5" />
7 <style type="text/css">
8 /* Debug borders */
9 p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
11 border: 1px solid red;
15 body {
16 margin: 1em 5% 1em 5%;
19 a {
20 color: blue;
21 text-decoration: underline;
23 a:visited {
24 color: fuchsia;
27 em {
28 font-style: italic;
31 strong {
32 font-weight: bold;
35 tt {
36 color: navy;
39 h1, h2, h3, h4, h5, h6 {
40 color: #527bbd;
41 font-family: sans-serif;
42 margin-top: 1.2em;
43 margin-bottom: 0.5em;
44 line-height: 1.3;
47 h1, h2, h3 {
48 border-bottom: 2px solid silver;
50 h2 {
51 padding-top: 0.5em;
53 h3 {
54 float: left;
56 h3 + * {
57 clear: left;
60 div.sectionbody {
61 font-family: serif;
62 margin-left: 0;
65 hr {
66 border: 1px solid silver;
69 p {
70 margin-top: 0.5em;
71 margin-bottom: 0.5em;
74 pre {
75 padding: 0;
76 margin: 0;
79 span#author {
80 color: #527bbd;
81 font-family: sans-serif;
82 font-weight: bold;
83 font-size: 1.1em;
85 span#email {
87 span#revision {
88 font-family: sans-serif;
91 div#footer {
92 font-family: sans-serif;
93 font-size: small;
94 border-top: 2px solid silver;
95 padding-top: 0.5em;
96 margin-top: 4.0em;
98 div#footer-text {
99 float: left;
100 padding-bottom: 0.5em;
102 div#footer-badges {
103 float: right;
104 padding-bottom: 0.5em;
107 div#preamble,
108 div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
109 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
110 div.admonitionblock {
111 margin-right: 10%;
112 margin-top: 1.5em;
113 margin-bottom: 1.5em;
115 div.admonitionblock {
116 margin-top: 2.5em;
117 margin-bottom: 2.5em;
120 div.content { /* Block element content. */
121 padding: 0;
124 /* Block element titles. */
125 div.title, caption.title {
126 font-family: sans-serif;
127 font-weight: bold;
128 text-align: left;
129 margin-top: 1.0em;
130 margin-bottom: 0.5em;
132 div.title + * {
133 margin-top: 0;
136 td div.title:first-child {
137 margin-top: 0.0em;
139 div.content div.title:first-child {
140 margin-top: 0.0em;
142 div.content + div.title {
143 margin-top: 0.0em;
146 div.sidebarblock > div.content {
147 background: #ffffee;
148 border: 1px solid silver;
149 padding: 0.5em;
152 div.listingblock {
153 margin-right: 0%;
155 div.listingblock > div.content {
156 border: 1px solid silver;
157 background: #f4f4f4;
158 padding: 0.5em;
161 div.quoteblock > div.content {
162 padding-left: 2.0em;
165 div.attribution {
166 text-align: right;
168 div.verseblock + div.attribution {
169 text-align: left;
172 div.admonitionblock .icon {
173 vertical-align: top;
174 font-size: 1.1em;
175 font-weight: bold;
176 text-decoration: underline;
177 color: #527bbd;
178 padding-right: 0.5em;
180 div.admonitionblock td.content {
181 padding-left: 0.5em;
182 border-left: 2px solid silver;
185 div.exampleblock > div.content {
186 border-left: 2px solid silver;
187 padding: 0.5em;
190 div.verseblock div.content {
191 white-space: pre;
194 div.imageblock div.content { padding-left: 0; }
195 div.imageblock img { border: 1px solid silver; }
196 span.image img { border-style: none; }
198 dl {
199 margin-top: 0.8em;
200 margin-bottom: 0.8em;
202 dt {
203 margin-top: 0.5em;
204 margin-bottom: 0;
205 font-style: italic;
207 dd > *:first-child {
208 margin-top: 0;
211 ul, ol {
212 list-style-position: outside;
214 div.olist2 ol {
215 list-style-type: lower-alpha;
218 div.tableblock > table {
219 border: 3px solid #527bbd;
221 thead {
222 font-family: sans-serif;
223 font-weight: bold;
225 tfoot {
226 font-weight: bold;
229 div.hlist {
230 margin-top: 0.8em;
231 margin-bottom: 0.8em;
233 div.hlist td {
234 padding-bottom: 5px;
236 td.hlist1 {
237 vertical-align: top;
238 font-style: italic;
239 padding-right: 0.8em;
241 td.hlist2 {
242 vertical-align: top;
245 @media print {
246 div#footer-badges { display: none; }
249 div#toctitle {
250 color: #527bbd;
251 font-family: sans-serif;
252 font-size: 1.1em;
253 font-weight: bold;
254 margin-top: 1.0em;
255 margin-bottom: 0.1em;
258 div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
259 margin-top: 0;
260 margin-bottom: 0;
262 div.toclevel2 {
263 margin-left: 2em;
264 font-size: 0.9em;
266 div.toclevel3 {
267 margin-left: 4em;
268 font-size: 0.9em;
270 div.toclevel4 {
271 margin-left: 6em;
272 font-size: 0.9em;
274 include1::./stylesheets/xhtml11-manpage.css[]
275 /* Workarounds for IE6's broken and incomplete CSS2. */
277 div.sidebar-content {
278 background: #ffffee;
279 border: 1px solid silver;
280 padding: 0.5em;
282 div.sidebar-title, div.image-title {
283 font-family: sans-serif;
284 font-weight: bold;
285 margin-top: 0.0em;
286 margin-bottom: 0.5em;
289 div.listingblock div.content {
290 border: 1px solid silver;
291 background: #f4f4f4;
292 padding: 0.5em;
295 div.quoteblock-content {
296 padding-left: 2.0em;
299 div.exampleblock-content {
300 border-left: 2px solid silver;
301 padding-left: 0.5em;
304 /* IE6 sets dynamically generated links as visited. */
305 div#toc a:visited { color: blue; }
306 </style>
307 <title>git(1)</title>
308 </head>
309 <body>
310 <div id="header">
311 <h1>
312 git(1) Manual Page
313 </h1>
314 <h2>NAME</h2>
315 <div class="sectionbody">
316 <p>git -
317 the stupid content tracker
318 </p>
319 </div>
320 </div>
321 <h2>SYNOPSIS</h2>
322 <div class="sectionbody">
323 <div class="verseblock">
324 <div class="content"><em>git</em> [--version] [--exec-path[=GIT_EXEC_PATH]] [--html-path]
325 [-p|--paginate|--no-pager] [--no-replace-objects]
326 [--bare] [--git-dir=GIT_DIR] [--work-tree=GIT_WORK_TREE]
327 [--help] COMMAND [ARGS]</div></div>
328 </div>
329 <h2 id="_description">DESCRIPTION</h2>
330 <div class="sectionbody">
331 <div class="para"><p>Git is a fast, scalable, distributed revision control system with an
332 unusually rich command set that provides both high-level operations
333 and full access to internals.</p></div>
334 <div class="para"><p>See <a href="gittutorial.html">gittutorial(7)</a> to get started, then see
335 <a href="everyday.html">Everyday Git</a> for a useful minimum set of commands, and
336 "man git-commandname" for documentation of each command. CVS users may
337 also want to read <a href="gitcvs-migration.html">gitcvs-migration(7)</a>. See
338 the <a href="user-manual.html">Git User's Manual</a> for a more in-depth
339 introduction.</p></div>
340 <div class="para"><p>The COMMAND is either a name of a Git command (see below) or an alias
341 as defined in the configuration file (see <a href="git-config.html">git-config(1)</a>).</p></div>
342 <div class="para"><p>Formatted and hyperlinked version of the latest git
343 documentation can be viewed at
344 <tt>http://www.kernel.org/pub/software/scm/git/docs/</tt>.</p></div>
345 </div>
346 <h2 id="_options">OPTIONS</h2>
347 <div class="sectionbody">
348 <div class="vlist"><dl>
349 <dt>
350 --version
351 </dt>
352 <dd>
354 Prints the git suite version that the <em>git</em> program came from.
355 </p>
356 </dd>
357 <dt>
358 --help
359 </dt>
360 <dd>
362 Prints the synopsis and a list of the most commonly used
363 commands. If the option <em>--all</em> or <em>-a</em> is given then all
364 available commands are printed. If a git command is named this
365 option will bring up the manual page for that command.
366 </p>
367 <div class="para"><p>Other options are available to control how the manual page is
368 displayed. See <a href="git-help.html">git-help(1)</a> for more information,
369 because <tt>git --help &#8230;</tt> is converted internally into <tt>git
370 help &#8230;</tt>.</p></div>
371 </dd>
372 <dt>
373 --exec-path
374 </dt>
375 <dd>
377 Path to wherever your core git programs are installed.
378 This can also be controlled by setting the GIT_EXEC_PATH
379 environment variable. If no path is given, <em>git</em> will print
380 the current setting and then exit.
381 </p>
382 </dd>
383 <dt>
384 --html-path
385 </dt>
386 <dd>
388 Print the path to wherever your git HTML documentation is installed
389 and exit.
390 </p>
391 </dd>
392 <dt>
394 </dt>
395 <dt>
396 --paginate
397 </dt>
398 <dd>
400 Pipe all output into <em>less</em> (or if set, $PAGER) if standard
401 output is a terminal. This overrides the <tt>pager.&lt;cmd&gt;</tt>
402 configuration options (see the "Configuration Mechanism" section
403 below).
404 </p>
405 </dd>
406 <dt>
407 --no-pager
408 </dt>
409 <dd>
411 Do not pipe git output into a pager.
412 </p>
413 </dd>
414 <dt>
415 --git-dir=&lt;path&gt;
416 </dt>
417 <dd>
419 Set the path to the repository. This can also be controlled by
420 setting the GIT_DIR environment variable. It can be an absolute
421 path or relative path to current working directory.
422 </p>
423 </dd>
424 <dt>
425 --work-tree=&lt;path&gt;
426 </dt>
427 <dd>
429 Set the path to the working tree. The value will not be
430 used in combination with repositories found automatically in
431 a .git directory (i.e. $GIT_DIR is not set).
432 This can also be controlled by setting the GIT_WORK_TREE
433 environment variable and the core.worktree configuration
434 variable. It can be an absolute path or relative path to
435 the directory specified by --git-dir or GIT_DIR.
436 Note: If --git-dir or GIT_DIR are specified but none of
437 --work-tree, GIT_WORK_TREE and core.worktree is specified,
438 the current working directory is regarded as the top directory
439 of your working tree.
440 </p>
441 </dd>
442 <dt>
443 --bare
444 </dt>
445 <dd>
447 Treat the repository as a bare repository. If GIT_DIR
448 environment is not set, it is set to the current working
449 directory.
450 </p>
451 </dd>
452 <dt>
453 --no-replace-objects
454 </dt>
455 <dd>
457 Do not use replacement refs to replace git objects. See
458 <a href="git-replace.html">git-replace(1)</a> for more information.
459 </p>
460 </dd>
461 </dl></div>
462 </div>
463 <h2 id="_further_documentation">FURTHER DOCUMENTATION</h2>
464 <div class="sectionbody">
465 <div class="para"><p>See the references above to get started using git. The following is
466 probably more detail than necessary for a first-time user.</p></div>
467 <div class="para"><p>The <a href="user-manual.html#git-concepts">git concepts chapter of the
468 user-manual</a> and <a href="gitcore-tutorial.html">gitcore-tutorial(7)</a> both provide
469 introductions to the underlying git architecture.</p></div>
470 <div class="para"><p>See <a href="gitworkflows.html">gitworkflows(7)</a> for an overview of recommended workflows.</p></div>
471 <div class="para"><p>See also the <a href="howto-index.html">howto</a> documents for some useful
472 examples.</p></div>
473 <div class="para"><p>The internals are documented in the
474 <a href="technical/api-index.html">GIT API documentation</a>.</p></div>
475 </div>
476 <h2 id="_git_commands">GIT COMMANDS</h2>
477 <div class="sectionbody">
478 <div class="para"><p>We divide git into high level ("porcelain") commands and low level
479 ("plumbing") commands.</p></div>
480 </div>
481 <h2 id="_high_level_commands_porcelain">High-level commands (porcelain)</h2>
482 <div class="sectionbody">
483 <div class="para"><p>We separate the porcelain commands into the main commands and some
484 ancillary user utilities.</p></div>
485 <h3 id="_main_porcelain_commands">Main porcelain commands</h3><div style="clear:left"></div>
486 <div class="vlist"><dl>
487 <dt>
488 <a href="git-add.html">git-add(1)</a>
489 </dt>
490 <dd>
492 Add file contents to the index.
493 </p>
494 </dd>
495 <dt>
496 <a href="git-am.html">git-am(1)</a>
497 </dt>
498 <dd>
500 Apply a series of patches from a mailbox.
501 </p>
502 </dd>
503 <dt>
504 <a href="git-archive.html">git-archive(1)</a>
505 </dt>
506 <dd>
508 Create an archive of files from a named tree.
509 </p>
510 </dd>
511 <dt>
512 <a href="git-bisect.html">git-bisect(1)</a>
513 </dt>
514 <dd>
516 Find by binary search the change that introduced a bug.
517 </p>
518 </dd>
519 <dt>
520 <a href="git-branch.html">git-branch(1)</a>
521 </dt>
522 <dd>
524 List, create, or delete branches.
525 </p>
526 </dd>
527 <dt>
528 <a href="git-bundle.html">git-bundle(1)</a>
529 </dt>
530 <dd>
532 Move objects and refs by archive.
533 </p>
534 </dd>
535 <dt>
536 <a href="git-checkout.html">git-checkout(1)</a>
537 </dt>
538 <dd>
540 Checkout a branch or paths to the working tree.
541 </p>
542 </dd>
543 <dt>
544 <a href="git-cherry-pick.html">git-cherry-pick(1)</a>
545 </dt>
546 <dd>
548 Apply the change introduced by an existing commit.
549 </p>
550 </dd>
551 <dt>
552 <a href="git-citool.html">git-citool(1)</a>
553 </dt>
554 <dd>
556 Graphical alternative to git-commit.
557 </p>
558 </dd>
559 <dt>
560 <a href="git-clean.html">git-clean(1)</a>
561 </dt>
562 <dd>
564 Remove untracked files from the working tree.
565 </p>
566 </dd>
567 <dt>
568 <a href="git-clone.html">git-clone(1)</a>
569 </dt>
570 <dd>
572 Clone a repository into a new directory.
573 </p>
574 </dd>
575 <dt>
576 <a href="git-commit.html">git-commit(1)</a>
577 </dt>
578 <dd>
580 Record changes to the repository.
581 </p>
582 </dd>
583 <dt>
584 <a href="git-describe.html">git-describe(1)</a>
585 </dt>
586 <dd>
588 Show the most recent tag that is reachable from a commit.
589 </p>
590 </dd>
591 <dt>
592 <a href="git-diff.html">git-diff(1)</a>
593 </dt>
594 <dd>
596 Show changes between commits, commit and working tree, etc.
597 </p>
598 </dd>
599 <dt>
600 <a href="git-fetch.html">git-fetch(1)</a>
601 </dt>
602 <dd>
604 Download objects and refs from another repository.
605 </p>
606 </dd>
607 <dt>
608 <a href="git-format-patch.html">git-format-patch(1)</a>
609 </dt>
610 <dd>
612 Prepare patches for e-mail submission.
613 </p>
614 </dd>
615 <dt>
616 <a href="git-gc.html">git-gc(1)</a>
617 </dt>
618 <dd>
620 Cleanup unnecessary files and optimize the local repository.
621 </p>
622 </dd>
623 <dt>
624 <a href="git-grep.html">git-grep(1)</a>
625 </dt>
626 <dd>
628 Print lines matching a pattern.
629 </p>
630 </dd>
631 <dt>
632 <a href="git-gui.html">git-gui(1)</a>
633 </dt>
634 <dd>
636 A portable graphical interface to Git.
637 </p>
638 </dd>
639 <dt>
640 <a href="git-init.html">git-init(1)</a>
641 </dt>
642 <dd>
644 Create an empty git repository or reinitialize an existing one.
645 </p>
646 </dd>
647 <dt>
648 <a href="git-log.html">git-log(1)</a>
649 </dt>
650 <dd>
652 Show commit logs.
653 </p>
654 </dd>
655 <dt>
656 <a href="git-merge.html">git-merge(1)</a>
657 </dt>
658 <dd>
660 Join two or more development histories together.
661 </p>
662 </dd>
663 <dt>
664 <a href="git-mv.html">git-mv(1)</a>
665 </dt>
666 <dd>
668 Move or rename a file, a directory, or a symlink.
669 </p>
670 </dd>
671 <dt>
672 <a href="git-notes.html">git-notes(1)</a>
673 </dt>
674 <dd>
676 Add/inspect object notes.
677 </p>
678 </dd>
679 <dt>
680 <a href="git-pull.html">git-pull(1)</a>
681 </dt>
682 <dd>
684 Fetch from and merge with another repository or a local branch.
685 </p>
686 </dd>
687 <dt>
688 <a href="git-push.html">git-push(1)</a>
689 </dt>
690 <dd>
692 Update remote refs along with associated objects.
693 </p>
694 </dd>
695 <dt>
696 <a href="git-rebase.html">git-rebase(1)</a>
697 </dt>
698 <dd>
700 Forward-port local commits to the updated upstream head.
701 </p>
702 </dd>
703 <dt>
704 <a href="git-reset.html">git-reset(1)</a>
705 </dt>
706 <dd>
708 Reset current HEAD to the specified state.
709 </p>
710 </dd>
711 <dt>
712 <a href="git-revert.html">git-revert(1)</a>
713 </dt>
714 <dd>
716 Revert an existing commit.
717 </p>
718 </dd>
719 <dt>
720 <a href="git-rm.html">git-rm(1)</a>
721 </dt>
722 <dd>
724 Remove files from the working tree and from the index.
725 </p>
726 </dd>
727 <dt>
728 <a href="git-shortlog.html">git-shortlog(1)</a>
729 </dt>
730 <dd>
732 Summarize <em>git log</em> output.
733 </p>
734 </dd>
735 <dt>
736 <a href="git-show.html">git-show(1)</a>
737 </dt>
738 <dd>
740 Show various types of objects.
741 </p>
742 </dd>
743 <dt>
744 <a href="git-stash.html">git-stash(1)</a>
745 </dt>
746 <dd>
748 Stash the changes in a dirty working directory away.
749 </p>
750 </dd>
751 <dt>
752 <a href="git-status.html">git-status(1)</a>
753 </dt>
754 <dd>
756 Show the working tree status.
757 </p>
758 </dd>
759 <dt>
760 <a href="git-submodule.html">git-submodule(1)</a>
761 </dt>
762 <dd>
764 Initialize, update or inspect submodules.
765 </p>
766 </dd>
767 <dt>
768 <a href="git-tag.html">git-tag(1)</a>
769 </dt>
770 <dd>
772 Create, list, delete or verify a tag object signed with GPG.
773 </p>
774 </dd>
775 <dt>
776 <a href="gitk.html">gitk(1)</a>
777 </dt>
778 <dd>
780 The git repository browser.
781 </p>
782 </dd>
783 </dl></div>
784 <h3 id="_ancillary_commands">Ancillary Commands</h3><div style="clear:left"></div>
785 <div class="para"><p>Manipulators:</p></div>
786 <div class="vlist"><dl>
787 <dt>
788 <a href="git-config.html">git-config(1)</a>
789 </dt>
790 <dd>
792 Get and set repository or global options.
793 </p>
794 </dd>
795 <dt>
796 <a href="git-fast-export.html">git-fast-export(1)</a>
797 </dt>
798 <dd>
800 Git data exporter.
801 </p>
802 </dd>
803 <dt>
804 <a href="git-fast-import.html">git-fast-import(1)</a>
805 </dt>
806 <dd>
808 Backend for fast Git data importers.
809 </p>
810 </dd>
811 <dt>
812 <a href="git-filter-branch.html">git-filter-branch(1)</a>
813 </dt>
814 <dd>
816 Rewrite branches.
817 </p>
818 </dd>
819 <dt>
820 <a href="git-lost-found.html">git-lost-found(1)</a>
821 </dt>
822 <dd>
824 (deprecated) Recover lost refs that luckily have not yet been pruned.
825 </p>
826 </dd>
827 <dt>
828 <a href="git-mergetool.html">git-mergetool(1)</a>
829 </dt>
830 <dd>
832 Run merge conflict resolution tools to resolve merge conflicts.
833 </p>
834 </dd>
835 <dt>
836 <a href="git-pack-refs.html">git-pack-refs(1)</a>
837 </dt>
838 <dd>
840 Pack heads and tags for efficient repository access.
841 </p>
842 </dd>
843 <dt>
844 <a href="git-prune.html">git-prune(1)</a>
845 </dt>
846 <dd>
848 Prune all unreachable objects from the object database.
849 </p>
850 </dd>
851 <dt>
852 <a href="git-reflog.html">git-reflog(1)</a>
853 </dt>
854 <dd>
856 Manage reflog information.
857 </p>
858 </dd>
859 <dt>
860 <a href="git-relink.html">git-relink(1)</a>
861 </dt>
862 <dd>
864 Hardlink common objects in local repositories.
865 </p>
866 </dd>
867 <dt>
868 <a href="git-remote.html">git-remote(1)</a>
869 </dt>
870 <dd>
872 manage set of tracked repositories.
873 </p>
874 </dd>
875 <dt>
876 <a href="git-repack.html">git-repack(1)</a>
877 </dt>
878 <dd>
880 Pack unpacked objects in a repository.
881 </p>
882 </dd>
883 <dt>
884 <a href="git-replace.html">git-replace(1)</a>
885 </dt>
886 <dd>
888 Create, list, delete refs to replace objects.
889 </p>
890 </dd>
891 <dt>
892 <a href="git-repo-config.html">git-repo-config(1)</a>
893 </dt>
894 <dd>
896 (deprecated) Get and set repository or global options.
897 </p>
898 </dd>
899 </dl></div>
900 <div class="para"><p>Interrogators:</p></div>
901 <div class="vlist"><dl>
902 <dt>
903 <a href="git-annotate.html">git-annotate(1)</a>
904 </dt>
905 <dd>
907 Annotate file lines with commit information.
908 </p>
909 </dd>
910 <dt>
911 <a href="git-blame.html">git-blame(1)</a>
912 </dt>
913 <dd>
915 Show what revision and author last modified each line of a file.
916 </p>
917 </dd>
918 <dt>
919 <a href="git-cherry.html">git-cherry(1)</a>
920 </dt>
921 <dd>
923 Find commits not merged upstream.
924 </p>
925 </dd>
926 <dt>
927 <a href="git-count-objects.html">git-count-objects(1)</a>
928 </dt>
929 <dd>
931 Count unpacked number of objects and their disk consumption.
932 </p>
933 </dd>
934 <dt>
935 <a href="git-difftool.html">git-difftool(1)</a>
936 </dt>
937 <dd>
939 Show changes using common diff tools.
940 </p>
941 </dd>
942 <dt>
943 <a href="git-fsck.html">git-fsck(1)</a>
944 </dt>
945 <dd>
947 Verifies the connectivity and validity of the objects in the database.
948 </p>
949 </dd>
950 <dt>
951 <a href="git-get-tar-commit-id.html">git-get-tar-commit-id(1)</a>
952 </dt>
953 <dd>
955 Extract commit ID from an archive created using git-archive.
956 </p>
957 </dd>
958 <dt>
959 <a href="git-help.html">git-help(1)</a>
960 </dt>
961 <dd>
963 display help information about git.
964 </p>
965 </dd>
966 <dt>
967 <a href="git-instaweb.html">git-instaweb(1)</a>
968 </dt>
969 <dd>
971 Instantly browse your working repository in gitweb.
972 </p>
973 </dd>
974 <dt>
975 <a href="git-merge-tree.html">git-merge-tree(1)</a>
976 </dt>
977 <dd>
979 Show three-way merge without touching index.
980 </p>
981 </dd>
982 <dt>
983 <a href="git-rerere.html">git-rerere(1)</a>
984 </dt>
985 <dd>
987 Reuse recorded resolution of conflicted merges.
988 </p>
989 </dd>
990 <dt>
991 <a href="git-rev-parse.html">git-rev-parse(1)</a>
992 </dt>
993 <dd>
995 Pick out and massage parameters.
996 </p>
997 </dd>
998 <dt>
999 <a href="git-show-branch.html">git-show-branch(1)</a>
1000 </dt>
1001 <dd>
1003 Show branches and their commits.
1004 </p>
1005 </dd>
1006 <dt>
1007 <a href="git-verify-tag.html">git-verify-tag(1)</a>
1008 </dt>
1009 <dd>
1011 Check the GPG signature of tags.
1012 </p>
1013 </dd>
1014 <dt>
1015 <a href="git-whatchanged.html">git-whatchanged(1)</a>
1016 </dt>
1017 <dd>
1019 Show logs with difference each commit introduces.
1020 </p>
1021 </dd>
1022 </dl></div>
1023 <h3 id="_interacting_with_others">Interacting with Others</h3><div style="clear:left"></div>
1024 <div class="para"><p>These commands are to interact with foreign SCM and with other
1025 people via patch over e-mail.</p></div>
1026 <div class="vlist"><dl>
1027 <dt>
1028 <a href="git-archimport.html">git-archimport(1)</a>
1029 </dt>
1030 <dd>
1032 Import an Arch repository into git.
1033 </p>
1034 </dd>
1035 <dt>
1036 <a href="git-cvsexportcommit.html">git-cvsexportcommit(1)</a>
1037 </dt>
1038 <dd>
1040 Export a single commit to a CVS checkout.
1041 </p>
1042 </dd>
1043 <dt>
1044 <a href="git-cvsimport.html">git-cvsimport(1)</a>
1045 </dt>
1046 <dd>
1048 Salvage your data out of another SCM people love to hate.
1049 </p>
1050 </dd>
1051 <dt>
1052 <a href="git-cvsserver.html">git-cvsserver(1)</a>
1053 </dt>
1054 <dd>
1056 A CVS server emulator for git.
1057 </p>
1058 </dd>
1059 <dt>
1060 <a href="git-imap-send.html">git-imap-send(1)</a>
1061 </dt>
1062 <dd>
1064 Send a collection of patches from stdin to an IMAP folder.
1065 </p>
1066 </dd>
1067 <dt>
1068 <a href="git-quiltimport.html">git-quiltimport(1)</a>
1069 </dt>
1070 <dd>
1072 Applies a quilt patchset onto the current branch.
1073 </p>
1074 </dd>
1075 <dt>
1076 <a href="git-request-pull.html">git-request-pull(1)</a>
1077 </dt>
1078 <dd>
1080 Generates a summary of pending changes.
1081 </p>
1082 </dd>
1083 <dt>
1084 <a href="git-send-email.html">git-send-email(1)</a>
1085 </dt>
1086 <dd>
1088 Send a collection of patches as emails.
1089 </p>
1090 </dd>
1091 <dt>
1092 <a href="git-svn.html">git-svn(1)</a>
1093 </dt>
1094 <dd>
1096 Bidirectional operation between a Subversion repository and git.
1097 </p>
1098 </dd>
1099 </dl></div>
1100 </div>
1101 <h2 id="_low_level_commands_plumbing">Low-level commands (plumbing)</h2>
1102 <div class="sectionbody">
1103 <div class="para"><p>Although git includes its
1104 own porcelain layer, its low-level commands are sufficient to support
1105 development of alternative porcelains. Developers of such porcelains
1106 might start by reading about <a href="git-update-index.html">git-update-index(1)</a> and
1107 <a href="git-read-tree.html">git-read-tree(1)</a>.</p></div>
1108 <div class="para"><p>The interface (input, output, set of options and the semantics)
1109 to these low-level commands are meant to be a lot more stable
1110 than Porcelain level commands, because these commands are
1111 primarily for scripted use. The interface to Porcelain commands
1112 on the other hand are subject to change in order to improve the
1113 end user experience.</p></div>
1114 <div class="para"><p>The following description divides
1115 the low-level commands into commands that manipulate objects (in
1116 the repository, index, and working tree), commands that interrogate and
1117 compare objects, and commands that move objects and references between
1118 repositories.</p></div>
1119 <h3 id="_manipulation_commands">Manipulation commands</h3><div style="clear:left"></div>
1120 <div class="vlist"><dl>
1121 <dt>
1122 <a href="git-apply.html">git-apply(1)</a>
1123 </dt>
1124 <dd>
1126 Apply a patch to files and/or to the index.
1127 </p>
1128 </dd>
1129 <dt>
1130 <a href="git-checkout-index.html">git-checkout-index(1)</a>
1131 </dt>
1132 <dd>
1134 Copy files from the index to the working tree.
1135 </p>
1136 </dd>
1137 <dt>
1138 <a href="git-commit-tree.html">git-commit-tree(1)</a>
1139 </dt>
1140 <dd>
1142 Create a new commit object.
1143 </p>
1144 </dd>
1145 <dt>
1146 <a href="git-hash-object.html">git-hash-object(1)</a>
1147 </dt>
1148 <dd>
1150 Compute object ID and optionally creates a blob from a file.
1151 </p>
1152 </dd>
1153 <dt>
1154 <a href="git-index-pack.html">git-index-pack(1)</a>
1155 </dt>
1156 <dd>
1158 Build pack index file for an existing packed archive.
1159 </p>
1160 </dd>
1161 <dt>
1162 <a href="git-merge-file.html">git-merge-file(1)</a>
1163 </dt>
1164 <dd>
1166 Run a three-way file merge.
1167 </p>
1168 </dd>
1169 <dt>
1170 <a href="git-merge-index.html">git-merge-index(1)</a>
1171 </dt>
1172 <dd>
1174 Run a merge for files needing merging.
1175 </p>
1176 </dd>
1177 <dt>
1178 <a href="git-mktag.html">git-mktag(1)</a>
1179 </dt>
1180 <dd>
1182 Creates a tag object.
1183 </p>
1184 </dd>
1185 <dt>
1186 <a href="git-mktree.html">git-mktree(1)</a>
1187 </dt>
1188 <dd>
1190 Build a tree-object from ls-tree formatted text.
1191 </p>
1192 </dd>
1193 <dt>
1194 <a href="git-pack-objects.html">git-pack-objects(1)</a>
1195 </dt>
1196 <dd>
1198 Create a packed archive of objects.
1199 </p>
1200 </dd>
1201 <dt>
1202 <a href="git-prune-packed.html">git-prune-packed(1)</a>
1203 </dt>
1204 <dd>
1206 Remove extra objects that are already in pack files.
1207 </p>
1208 </dd>
1209 <dt>
1210 <a href="git-read-tree.html">git-read-tree(1)</a>
1211 </dt>
1212 <dd>
1214 Reads tree information into the index.
1215 </p>
1216 </dd>
1217 <dt>
1218 <a href="git-symbolic-ref.html">git-symbolic-ref(1)</a>
1219 </dt>
1220 <dd>
1222 Read and modify symbolic refs.
1223 </p>
1224 </dd>
1225 <dt>
1226 <a href="git-unpack-objects.html">git-unpack-objects(1)</a>
1227 </dt>
1228 <dd>
1230 Unpack objects from a packed archive.
1231 </p>
1232 </dd>
1233 <dt>
1234 <a href="git-update-index.html">git-update-index(1)</a>
1235 </dt>
1236 <dd>
1238 Register file contents in the working tree to the index.
1239 </p>
1240 </dd>
1241 <dt>
1242 <a href="git-update-ref.html">git-update-ref(1)</a>
1243 </dt>
1244 <dd>
1246 Update the object name stored in a ref safely.
1247 </p>
1248 </dd>
1249 <dt>
1250 <a href="git-write-tree.html">git-write-tree(1)</a>
1251 </dt>
1252 <dd>
1254 Create a tree object from the current index.
1255 </p>
1256 </dd>
1257 </dl></div>
1258 <h3 id="_interrogation_commands">Interrogation commands</h3><div style="clear:left"></div>
1259 <div class="vlist"><dl>
1260 <dt>
1261 <a href="git-cat-file.html">git-cat-file(1)</a>
1262 </dt>
1263 <dd>
1265 Provide content or type and size information for repository objects.
1266 </p>
1267 </dd>
1268 <dt>
1269 <a href="git-diff-files.html">git-diff-files(1)</a>
1270 </dt>
1271 <dd>
1273 Compares files in the working tree and the index.
1274 </p>
1275 </dd>
1276 <dt>
1277 <a href="git-diff-index.html">git-diff-index(1)</a>
1278 </dt>
1279 <dd>
1281 Compares content and mode of blobs between the index and repository.
1282 </p>
1283 </dd>
1284 <dt>
1285 <a href="git-diff-tree.html">git-diff-tree(1)</a>
1286 </dt>
1287 <dd>
1289 Compares the content and mode of blobs found via two tree objects.
1290 </p>
1291 </dd>
1292 <dt>
1293 <a href="git-for-each-ref.html">git-for-each-ref(1)</a>
1294 </dt>
1295 <dd>
1297 Output information on each ref.
1298 </p>
1299 </dd>
1300 <dt>
1301 <a href="git-ls-files.html">git-ls-files(1)</a>
1302 </dt>
1303 <dd>
1305 Show information about files in the index and the working tree.
1306 </p>
1307 </dd>
1308 <dt>
1309 <a href="git-ls-remote.html">git-ls-remote(1)</a>
1310 </dt>
1311 <dd>
1313 List references in a remote repository.
1314 </p>
1315 </dd>
1316 <dt>
1317 <a href="git-ls-tree.html">git-ls-tree(1)</a>
1318 </dt>
1319 <dd>
1321 List the contents of a tree object.
1322 </p>
1323 </dd>
1324 <dt>
1325 <a href="git-merge-base.html">git-merge-base(1)</a>
1326 </dt>
1327 <dd>
1329 Find as good common ancestors as possible for a merge.
1330 </p>
1331 </dd>
1332 <dt>
1333 <a href="git-name-rev.html">git-name-rev(1)</a>
1334 </dt>
1335 <dd>
1337 Find symbolic names for given revs.
1338 </p>
1339 </dd>
1340 <dt>
1341 <a href="git-pack-redundant.html">git-pack-redundant(1)</a>
1342 </dt>
1343 <dd>
1345 Find redundant pack files.
1346 </p>
1347 </dd>
1348 <dt>
1349 <a href="git-rev-list.html">git-rev-list(1)</a>
1350 </dt>
1351 <dd>
1353 Lists commit objects in reverse chronological order.
1354 </p>
1355 </dd>
1356 <dt>
1357 <a href="git-show-index.html">git-show-index(1)</a>
1358 </dt>
1359 <dd>
1361 Show packed archive index.
1362 </p>
1363 </dd>
1364 <dt>
1365 <a href="git-show-ref.html">git-show-ref(1)</a>
1366 </dt>
1367 <dd>
1369 List references in a local repository.
1370 </p>
1371 </dd>
1372 <dt>
1373 <a href="git-tar-tree.html">git-tar-tree(1)</a>
1374 </dt>
1375 <dd>
1377 (deprecated) Create a tar archive of the files in the named tree object.
1378 </p>
1379 </dd>
1380 <dt>
1381 <a href="git-unpack-file.html">git-unpack-file(1)</a>
1382 </dt>
1383 <dd>
1385 Creates a temporary file with a blob's contents.
1386 </p>
1387 </dd>
1388 <dt>
1389 <a href="git-var.html">git-var(1)</a>
1390 </dt>
1391 <dd>
1393 Show a git logical variable.
1394 </p>
1395 </dd>
1396 <dt>
1397 <a href="git-verify-pack.html">git-verify-pack(1)</a>
1398 </dt>
1399 <dd>
1401 Validate packed git archive files.
1402 </p>
1403 </dd>
1404 </dl></div>
1405 <div class="para"><p>In general, the interrogate commands do not touch the files in
1406 the working tree.</p></div>
1407 <h3 id="_synching_repositories">Synching repositories</h3><div style="clear:left"></div>
1408 <div class="vlist"><dl>
1409 <dt>
1410 <a href="git-daemon.html">git-daemon(1)</a>
1411 </dt>
1412 <dd>
1414 A really simple server for git repositories.
1415 </p>
1416 </dd>
1417 <dt>
1418 <a href="git-fetch-pack.html">git-fetch-pack(1)</a>
1419 </dt>
1420 <dd>
1422 Receive missing objects from another repository.
1423 </p>
1424 </dd>
1425 <dt>
1426 <a href="git-http-backend.html">git-http-backend(1)</a>
1427 </dt>
1428 <dd>
1430 Server side implementation of Git over HTTP.
1431 </p>
1432 </dd>
1433 <dt>
1434 <a href="git-send-pack.html">git-send-pack(1)</a>
1435 </dt>
1436 <dd>
1438 Push objects over git protocol to another repository.
1439 </p>
1440 </dd>
1441 <dt>
1442 <a href="git-update-server-info.html">git-update-server-info(1)</a>
1443 </dt>
1444 <dd>
1446 Update auxiliary info file to help dumb servers.
1447 </p>
1448 </dd>
1449 </dl></div>
1450 <div class="para"><p>The following are helper commands used by the above; end users
1451 typically do not use them directly.</p></div>
1452 <div class="vlist"><dl>
1453 <dt>
1454 <a href="git-http-fetch.html">git-http-fetch(1)</a>
1455 </dt>
1456 <dd>
1458 Download from a remote git repository via HTTP.
1459 </p>
1460 </dd>
1461 <dt>
1462 <a href="git-http-push.html">git-http-push(1)</a>
1463 </dt>
1464 <dd>
1466 Push objects over HTTP/DAV to another repository.
1467 </p>
1468 </dd>
1469 <dt>
1470 <a href="git-parse-remote.html">git-parse-remote(1)</a>
1471 </dt>
1472 <dd>
1474 Routines to help parsing remote repository access parameters.
1475 </p>
1476 </dd>
1477 <dt>
1478 <a href="git-receive-pack.html">git-receive-pack(1)</a>
1479 </dt>
1480 <dd>
1482 Receive what is pushed into the repository.
1483 </p>
1484 </dd>
1485 <dt>
1486 <a href="git-shell.html">git-shell(1)</a>
1487 </dt>
1488 <dd>
1490 Restricted login shell for GIT-only SSH access.
1491 </p>
1492 </dd>
1493 <dt>
1494 <a href="git-upload-archive.html">git-upload-archive(1)</a>
1495 </dt>
1496 <dd>
1498 Send archive back to git-archive.
1499 </p>
1500 </dd>
1501 <dt>
1502 <a href="git-upload-pack.html">git-upload-pack(1)</a>
1503 </dt>
1504 <dd>
1506 Send objects packed back to git-fetch-pack.
1507 </p>
1508 </dd>
1509 </dl></div>
1510 <h3 id="_internal_helper_commands">Internal helper commands</h3><div style="clear:left"></div>
1511 <div class="para"><p>These are internal helper commands used by other commands; end
1512 users typically do not use them directly.</p></div>
1513 <div class="vlist"><dl>
1514 <dt>
1515 <a href="git-check-attr.html">git-check-attr(1)</a>
1516 </dt>
1517 <dd>
1519 Display gitattributes information.
1520 </p>
1521 </dd>
1522 <dt>
1523 <a href="git-check-ref-format.html">git-check-ref-format(1)</a>
1524 </dt>
1525 <dd>
1527 Ensures that a reference name is well formed.
1528 </p>
1529 </dd>
1530 <dt>
1531 <a href="git-fmt-merge-msg.html">git-fmt-merge-msg(1)</a>
1532 </dt>
1533 <dd>
1535 Produce a merge commit message.
1536 </p>
1537 </dd>
1538 <dt>
1539 <a href="git-mailinfo.html">git-mailinfo(1)</a>
1540 </dt>
1541 <dd>
1543 Extracts patch and authorship from a single e-mail message.
1544 </p>
1545 </dd>
1546 <dt>
1547 <a href="git-mailsplit.html">git-mailsplit(1)</a>
1548 </dt>
1549 <dd>
1551 Simple UNIX mbox splitter program.
1552 </p>
1553 </dd>
1554 <dt>
1555 <a href="git-merge-one-file.html">git-merge-one-file(1)</a>
1556 </dt>
1557 <dd>
1559 The standard helper program to use with git-merge-index.
1560 </p>
1561 </dd>
1562 <dt>
1563 <a href="git-patch-id.html">git-patch-id(1)</a>
1564 </dt>
1565 <dd>
1567 Compute unique ID for a patch.
1568 </p>
1569 </dd>
1570 <dt>
1571 <a href="git-peek-remote.html">git-peek-remote(1)</a>
1572 </dt>
1573 <dd>
1575 (deprecated) List the references in a remote repository.
1576 </p>
1577 </dd>
1578 <dt>
1579 <a href="git-sh-setup.html">git-sh-setup(1)</a>
1580 </dt>
1581 <dd>
1583 Common git shell script setup code.
1584 </p>
1585 </dd>
1586 <dt>
1587 <a href="git-stripspace.html">git-stripspace(1)</a>
1588 </dt>
1589 <dd>
1591 Filter out empty lines.
1592 </p>
1593 </dd>
1594 </dl></div>
1595 </div>
1596 <h2 id="_configuration_mechanism">Configuration Mechanism</h2>
1597 <div class="sectionbody">
1598 <div class="para"><p>Starting from 0.99.9 (actually mid 0.99.8.GIT), <tt>.git/config</tt> file
1599 is used to hold per-repository configuration options. It is a
1600 simple text file modeled after <tt>.ini</tt> format familiar to some
1601 people. Here is an example:</p></div>
1602 <div class="listingblock">
1603 <div class="content">
1604 <pre><tt>#
1605 # A '#' or ';' character indicates a comment.
1608 ; core variables
1609 [core]
1610 ; Don't trust file modes
1611 filemode = false
1613 ; user identity
1614 [user]
1615 name = "Junio C Hamano"
1616 email = "junkio@twinsun.com"
1617 </tt></pre>
1618 </div></div>
1619 <div class="para"><p>Various commands read from the configuration file and adjust
1620 their operation accordingly. See <a href="git-config.html">git-config(1)</a> for a
1621 list.</p></div>
1622 </div>
1623 <h2 id="_identifier_terminology">Identifier Terminology</h2>
1624 <div class="sectionbody">
1625 <div class="vlist"><dl>
1626 <dt>
1627 &lt;object&gt;
1628 </dt>
1629 <dd>
1631 Indicates the object name for any type of object.
1632 </p>
1633 </dd>
1634 <dt>
1635 &lt;blob&gt;
1636 </dt>
1637 <dd>
1639 Indicates a blob object name.
1640 </p>
1641 </dd>
1642 <dt>
1643 &lt;tree&gt;
1644 </dt>
1645 <dd>
1647 Indicates a tree object name.
1648 </p>
1649 </dd>
1650 <dt>
1651 &lt;commit&gt;
1652 </dt>
1653 <dd>
1655 Indicates a commit object name.
1656 </p>
1657 </dd>
1658 <dt>
1659 &lt;tree-ish&gt;
1660 </dt>
1661 <dd>
1663 Indicates a tree, commit or tag object name. A
1664 command that takes a &lt;tree-ish&gt; argument ultimately wants to
1665 operate on a &lt;tree&gt; object but automatically dereferences
1666 &lt;commit&gt; and &lt;tag&gt; objects that point at a &lt;tree&gt;.
1667 </p>
1668 </dd>
1669 <dt>
1670 &lt;commit-ish&gt;
1671 </dt>
1672 <dd>
1674 Indicates a commit or tag object name. A
1675 command that takes a &lt;commit-ish&gt; argument ultimately wants to
1676 operate on a &lt;commit&gt; object but automatically dereferences
1677 &lt;tag&gt; objects that point at a &lt;commit&gt;.
1678 </p>
1679 </dd>
1680 <dt>
1681 &lt;type&gt;
1682 </dt>
1683 <dd>
1685 Indicates that an object type is required.
1686 Currently one of: <tt>blob</tt>, <tt>tree</tt>, <tt>commit</tt>, or <tt>tag</tt>.
1687 </p>
1688 </dd>
1689 <dt>
1690 &lt;file&gt;
1691 </dt>
1692 <dd>
1694 Indicates a filename - almost always relative to the
1695 root of the tree structure <tt>GIT_INDEX_FILE</tt> describes.
1696 </p>
1697 </dd>
1698 </dl></div>
1699 </div>
1700 <h2 id="_symbolic_identifiers">Symbolic Identifiers</h2>
1701 <div class="sectionbody">
1702 <div class="para"><p>Any git command accepting any &lt;object&gt; can also use the following
1703 symbolic notation:</p></div>
1704 <div class="vlist"><dl>
1705 <dt>
1706 HEAD
1707 </dt>
1708 <dd>
1710 indicates the head of the current branch (i.e. the
1711 contents of <tt>$GIT_DIR/HEAD</tt>).
1712 </p>
1713 </dd>
1714 <dt>
1715 &lt;tag&gt;
1716 </dt>
1717 <dd>
1719 a valid tag <em>name</em>
1720 (i.e. the contents of <tt>$GIT_DIR/refs/tags/&lt;tag&gt;</tt>).
1721 </p>
1722 </dd>
1723 <dt>
1724 &lt;head&gt;
1725 </dt>
1726 <dd>
1728 a valid head <em>name</em>
1729 (i.e. the contents of <tt>$GIT_DIR/refs/heads/&lt;head&gt;</tt>).
1730 </p>
1731 </dd>
1732 </dl></div>
1733 <div class="para"><p>For a more complete list of ways to spell object names, see
1734 "SPECIFYING REVISIONS" section in <a href="git-rev-parse.html">git-rev-parse(1)</a>.</p></div>
1735 </div>
1736 <h2 id="_file_directory_structure">File/Directory Structure</h2>
1737 <div class="sectionbody">
1738 <div class="para"><p>Please see the <a href="gitrepository-layout.html">gitrepository-layout(5)</a> document.</p></div>
1739 <div class="para"><p>Read <a href="githooks.html">githooks(5)</a> for more details about each hook.</p></div>
1740 <div class="para"><p>Higher level SCMs may provide and manage additional information in the
1741 <tt>$GIT_DIR</tt>.</p></div>
1742 </div>
1743 <h2 id="_terminology">Terminology</h2>
1744 <div class="sectionbody">
1745 <div class="para"><p>Please see <a href="gitglossary.html">gitglossary(7)</a>.</p></div>
1746 </div>
1747 <h2 id="_environment_variables">Environment Variables</h2>
1748 <div class="sectionbody">
1749 <div class="para"><p>Various git commands use the following environment variables:</p></div>
1750 <h3 id="_the_git_repository">The git Repository</h3><div style="clear:left"></div>
1751 <div class="para"><p>These environment variables apply to <em>all</em> core git commands. Nb: it
1752 is worth noting that they may be used/overridden by SCMS sitting above
1753 git so take care if using Cogito etc.</p></div>
1754 <div class="vlist"><dl>
1755 <dt>
1756 <em>GIT_INDEX_FILE</em>
1757 </dt>
1758 <dd>
1760 This environment allows the specification of an alternate
1761 index file. If not specified, the default of <tt>$GIT_DIR/index</tt>
1762 is used.
1763 </p>
1764 </dd>
1765 <dt>
1766 <em>GIT_OBJECT_DIRECTORY</em>
1767 </dt>
1768 <dd>
1770 If the object storage directory is specified via this
1771 environment variable then the sha1 directories are created
1772 underneath - otherwise the default <tt>$GIT_DIR/objects</tt>
1773 directory is used.
1774 </p>
1775 </dd>
1776 <dt>
1777 <em>GIT_ALTERNATE_OBJECT_DIRECTORIES</em>
1778 </dt>
1779 <dd>
1781 Due to the immutable nature of git objects, old objects can be
1782 archived into shared, read-only directories. This variable
1783 specifies a ":" separated (on Windows ";" separated) list
1784 of git object directories which can be used to search for git
1785 objects. New objects will not be written to these directories.
1786 </p>
1787 </dd>
1788 <dt>
1789 <em>GIT_DIR</em>
1790 </dt>
1791 <dd>
1793 If the <em>GIT_DIR</em> environment variable is set then it
1794 specifies a path to use instead of the default <tt>.git</tt>
1795 for the base of the repository.
1796 </p>
1797 </dd>
1798 <dt>
1799 <em>GIT_WORK_TREE</em>
1800 </dt>
1801 <dd>
1803 Set the path to the working tree. The value will not be
1804 used in combination with repositories found automatically in
1805 a .git directory (i.e. $GIT_DIR is not set).
1806 This can also be controlled by the <em>--work-tree</em> command line
1807 option and the core.worktree configuration variable.
1808 </p>
1809 </dd>
1810 <dt>
1811 <em>GIT_CEILING_DIRECTORIES</em>
1812 </dt>
1813 <dd>
1815 This should be a colon-separated list of absolute paths.
1816 If set, it is a list of directories that git should not chdir
1817 up into while looking for a repository directory.
1818 It will not exclude the current working directory or
1819 a GIT_DIR set on the command line or in the environment.
1820 (Useful for excluding slow-loading network directories.)
1821 </p>
1822 </dd>
1823 </dl></div>
1824 <h3 id="_git_commits">git Commits</h3><div style="clear:left"></div>
1825 <div class="vlist"><dl>
1826 <dt>
1827 <em>GIT_AUTHOR_NAME</em>
1828 </dt>
1829 <dt>
1830 <em>GIT_AUTHOR_EMAIL</em>
1831 </dt>
1832 <dt>
1833 <em>GIT_AUTHOR_DATE</em>
1834 </dt>
1835 <dt>
1836 <em>GIT_COMMITTER_NAME</em>
1837 </dt>
1838 <dt>
1839 <em>GIT_COMMITTER_EMAIL</em>
1840 </dt>
1841 <dt>
1842 <em>GIT_COMMITTER_DATE</em>
1843 </dt>
1844 <dt>
1845 <em>EMAIL</em>
1846 </dt>
1847 <dd>
1849 see <a href="git-commit-tree.html">git-commit-tree(1)</a>
1850 </p>
1851 </dd>
1852 </dl></div>
1853 <h3 id="_git_diffs">git Diffs</h3><div style="clear:left"></div>
1854 <div class="vlist"><dl>
1855 <dt>
1856 <em>GIT_DIFF_OPTS</em>
1857 </dt>
1858 <dd>
1860 Only valid setting is "--unified=??" or "-u??" to set the
1861 number of context lines shown when a unified diff is created.
1862 This takes precedence over any "-U" or "--unified" option
1863 value passed on the git diff command line.
1864 </p>
1865 </dd>
1866 <dt>
1867 <em>GIT_EXTERNAL_DIFF</em>
1868 </dt>
1869 <dd>
1871 When the environment variable <em>GIT_EXTERNAL_DIFF</em> is set, the
1872 program named by it is called, instead of the diff invocation
1873 described above. For a path that is added, removed, or modified,
1874 <em>GIT_EXTERNAL_DIFF</em> is called with 7 parameters:
1875 </p>
1876 <div class="literalblock">
1877 <div class="content">
1878 <pre><tt>path old-file old-hex old-mode new-file new-hex new-mode</tt></pre>
1879 </div></div>
1880 <div class="para"><p>where:</p></div>
1881 <div class="hlist"><table>
1882 <tr>
1883 <td class="hlist1">
1884 &lt;old|new&gt;-file
1885 </td>
1886 <td class="hlist2">
1887 are files GIT_EXTERNAL_DIFF can use to read the
1888 contents of &lt;old|new&gt;,
1889 </td>
1890 </tr>
1891 <tr>
1892 <td class="hlist1">
1893 &lt;old|new&gt;-hex
1894 </td>
1895 <td class="hlist2">
1896 are the 40-hexdigit SHA1 hashes,
1897 </td>
1898 </tr>
1899 <tr>
1900 <td class="hlist1">
1901 &lt;old|new&gt;-mode
1902 </td>
1903 <td class="hlist2">
1904 are the octal representation of the file modes.
1905 </td>
1906 </tr>
1907 </table></div>
1908 <div class="para"><p>The file parameters can point at the user's working file
1909 (e.g. <tt>new-file</tt> in "git-diff-files"), <tt>/dev/null</tt> (e.g. <tt>old-file</tt>
1910 when a new file is added), or a temporary file (e.g. <tt>old-file</tt> in the
1911 index). <em>GIT_EXTERNAL_DIFF</em> should not worry about unlinking the
1912 temporary file --- it is removed when <em>GIT_EXTERNAL_DIFF</em> exits.</p></div>
1913 <div class="para"><p>For a path that is unmerged, <em>GIT_EXTERNAL_DIFF</em> is called with 1
1914 parameter, &lt;path&gt;.</p></div>
1915 </dd>
1916 </dl></div>
1917 <h3 id="_other">other</h3><div style="clear:left"></div>
1918 <div class="vlist"><dl>
1919 <dt>
1920 <em>GIT_MERGE_VERBOSITY</em>
1921 </dt>
1922 <dd>
1924 A number controlling the amount of output shown by
1925 the recursive merge strategy. Overrides merge.verbosity.
1926 See <a href="git-merge.html">git-merge(1)</a>
1927 </p>
1928 </dd>
1929 <dt>
1930 <em>GIT_PAGER</em>
1931 </dt>
1932 <dd>
1934 This environment variable overrides <tt>$PAGER</tt>. If it is set
1935 to an empty string or to the value "cat", git will not launch
1936 a pager. See also the <tt>core.pager</tt> option in
1937 <a href="git-config.html">git-config(1)</a>.
1938 </p>
1939 </dd>
1940 <dt>
1941 <em>GIT_SSH</em>
1942 </dt>
1943 <dd>
1945 If this environment variable is set then <em>git fetch</em>
1946 and <em>git push</em> will use this command instead
1947 of <em>ssh</em> when they need to connect to a remote system.
1948 The <em>$GIT_SSH</em> command will be given exactly two arguments:
1949 the <em>username@host</em> (or just <em>host</em>) from the URL and the
1950 shell command to execute on that remote system.
1951 </p>
1952 <div class="para"><p>To pass options to the program that you want to list in GIT_SSH
1953 you will need to wrap the program and options into a shell script,
1954 then set GIT_SSH to refer to the shell script.</p></div>
1955 <div class="para"><p>Usually it is easier to configure any desired options through your
1956 personal <tt>.ssh/config</tt> file. Please consult your ssh documentation
1957 for further details.</p></div>
1958 </dd>
1959 <dt>
1960 <em>GIT_FLUSH</em>
1961 </dt>
1962 <dd>
1964 If this environment variable is set to "1", then commands such
1965 as <em>git blame</em> (in incremental mode), <em>git rev-list</em>, <em>git log</em>,
1966 and <em>git whatchanged</em> will force a flush of the output stream
1967 after each commit-oriented record have been flushed. If this
1968 variable is set to "0", the output of these commands will be done
1969 using completely buffered I/O. If this environment variable is
1970 not set, git will choose buffered or record-oriented flushing
1971 based on whether stdout appears to be redirected to a file or not.
1972 </p>
1973 </dd>
1974 <dt>
1975 <em>GIT_TRACE</em>
1976 </dt>
1977 <dd>
1979 If this variable is set to "1", "2" or "true" (comparison
1980 is case insensitive), git will print <tt>trace:</tt> messages on
1981 stderr telling about alias expansion, built-in command
1982 execution and external command execution.
1983 If this variable is set to an integer value greater than 1
1984 and lower than 10 (strictly) then git will interpret this
1985 value as an open file descriptor and will try to write the
1986 trace messages into this file descriptor.
1987 Alternatively, if this variable is set to an absolute path
1988 (starting with a <em>/</em> character), git will interpret this
1989 as a file path and will try to write the trace messages
1990 into it.
1991 </p>
1992 </dd>
1993 </dl></div>
1994 </div>
1995 <h2 id="_discussion_a_id_discussion_a">Discussion<a id="Discussion"></a></h2>
1996 <div class="sectionbody">
1997 <div class="para"><p>More detail on the following is available from the
1998 <a href="user-manual.html#git-concepts">git concepts chapter of the
1999 user-manual</a> and <a href="gitcore-tutorial.html">gitcore-tutorial(7)</a>.</p></div>
2000 <div class="para"><p>A git project normally consists of a working directory with a ".git"
2001 subdirectory at the top level. The .git directory contains, among other
2002 things, a compressed object database representing the complete history
2003 of the project, an "index" file which links that history to the current
2004 contents of the working tree, and named pointers into that history such
2005 as tags and branch heads.</p></div>
2006 <div class="para"><p>The object database contains objects of three main types: blobs, which
2007 hold file data; trees, which point to blobs and other trees to build up
2008 directory hierarchies; and commits, which each reference a single tree
2009 and some number of parent commits.</p></div>
2010 <div class="para"><p>The commit, equivalent to what other systems call a "changeset" or
2011 "version", represents a step in the project's history, and each parent
2012 represents an immediately preceding step. Commits with more than one
2013 parent represent merges of independent lines of development.</p></div>
2014 <div class="para"><p>All objects are named by the SHA1 hash of their contents, normally
2015 written as a string of 40 hex digits. Such names are globally unique.
2016 The entire history leading up to a commit can be vouched for by signing
2017 just that commit. A fourth object type, the tag, is provided for this
2018 purpose.</p></div>
2019 <div class="para"><p>When first created, objects are stored in individual files, but for
2020 efficiency may later be compressed together into "pack files".</p></div>
2021 <div class="para"><p>Named pointers called refs mark interesting points in history. A ref
2022 may contain the SHA1 name of an object or the name of another ref. Refs
2023 with names beginning <tt>ref/head/</tt> contain the SHA1 name of the most
2024 recent commit (or "head") of a branch under development. SHA1 names of
2025 tags of interest are stored under <tt>ref/tags/</tt>. A special ref named
2026 <tt>HEAD</tt> contains the name of the currently checked-out branch.</p></div>
2027 <div class="para"><p>The index file is initialized with a list of all paths and, for each
2028 path, a blob object and a set of attributes. The blob object represents
2029 the contents of the file as of the head of the current branch. The
2030 attributes (last modified time, size, etc.) are taken from the
2031 corresponding file in the working tree. Subsequent changes to the
2032 working tree can be found by comparing these attributes. The index may
2033 be updated with new content, and new commits may be created from the
2034 content stored in the index.</p></div>
2035 <div class="para"><p>The index is also capable of storing multiple entries (called "stages")
2036 for a given pathname. These stages are used to hold the various
2037 unmerged version of a file when a merge is in progress.</p></div>
2038 </div>
2039 <h2 id="_authors">Authors</h2>
2040 <div class="sectionbody">
2041 <div class="ilist"><ul>
2042 <li>
2044 git's founding father is Linus Torvalds &lt;torvalds@osdl.org&gt;.
2045 </p>
2046 </li>
2047 <li>
2049 The current git nurse is Junio C Hamano &lt;gitster@pobox.com&gt;.
2050 </p>
2051 </li>
2052 <li>
2054 The git potty was written by Andreas Ericsson &lt;ae@op5.se&gt;.
2055 </p>
2056 </li>
2057 <li>
2059 General upbringing is handled by the git-list &lt;git@vger.kernel.org&gt;.
2060 </p>
2061 </li>
2062 </ul></div>
2063 </div>
2064 <h2 id="_documentation">Documentation</h2>
2065 <div class="sectionbody">
2066 <div class="para"><p>The documentation for git suite was started by David Greaves
2067 &lt;david@dgreaves.com&gt;, and later enhanced greatly by the
2068 contributors on the git-list &lt;git@vger.kernel.org&gt;.</p></div>
2069 </div>
2070 <h2 id="_see_also">SEE ALSO</h2>
2071 <div class="sectionbody">
2072 <div class="para"><p><a href="gittutorial.html">gittutorial(7)</a>, <a href="gittutorial-2.html">gittutorial-2(7)</a>,
2073 <a href="everyday.html">Everyday Git</a>, <a href="gitcvs-migration.html">gitcvs-migration(7)</a>,
2074 <a href="gitglossary.html">gitglossary(7)</a>, <a href="gitcore-tutorial.html">gitcore-tutorial(7)</a>,
2075 <a href="gitcli.html">gitcli(7)</a>, <a href="user-manual.html">The Git User's Manual</a>,
2076 <a href="gitworkflows.html">gitworkflows(7)</a></p></div>
2077 </div>
2078 <h2 id="_git">GIT</h2>
2079 <div class="sectionbody">
2080 <div class="para"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
2081 </div>
2082 <div id="footer">
2083 <div id="footer-text">
2084 Last updated 2010-04-24 02:56:23 UTC
2085 </div>
2086 </div>
2087 </body>
2088 </html>