Autogenerated HTML docs for v2.43.0-334-gd4dbc
[git-htmldocs.git] / git.html
blobb21b81a0650dacd16e2071b84266558c132d95db
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
3 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
5 <head>
6 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
7 <meta name="generator" content="AsciiDoc 10.2.0" />
8 <title>git(1)</title>
9 <style type="text/css">
10 /* Shared CSS for AsciiDoc xhtml11 and html5 backends */
12 /* Default font. */
13 body {
14 font-family: Georgia,serif;
17 /* Title font. */
18 h1, h2, h3, h4, h5, h6,
19 div.title, caption.title,
20 thead, p.table.header,
21 #toctitle,
22 #author, #revnumber, #revdate, #revremark,
23 #footer {
24 font-family: Arial,Helvetica,sans-serif;
27 body {
28 margin: 1em 5% 1em 5%;
31 a {
32 color: blue;
33 text-decoration: underline;
35 a:visited {
36 color: fuchsia;
39 em {
40 font-style: italic;
41 color: navy;
44 strong {
45 font-weight: bold;
46 color: #083194;
49 h1, h2, h3, h4, h5, h6 {
50 color: #527bbd;
51 margin-top: 1.2em;
52 margin-bottom: 0.5em;
53 line-height: 1.3;
56 h1, h2, h3 {
57 border-bottom: 2px solid silver;
59 h2 {
60 padding-top: 0.5em;
62 h3 {
63 float: left;
65 h3 + * {
66 clear: left;
68 h5 {
69 font-size: 1.0em;
72 div.sectionbody {
73 margin-left: 0;
76 hr {
77 border: 1px solid silver;
80 p {
81 margin-top: 0.5em;
82 margin-bottom: 0.5em;
85 ul, ol, li > p {
86 margin-top: 0;
88 ul > li { color: #aaa; }
89 ul > li > * { color: black; }
91 .monospaced, code, pre {
92 font-family: "Courier New", Courier, monospace;
93 font-size: inherit;
94 color: navy;
95 padding: 0;
96 margin: 0;
98 pre {
99 white-space: pre-wrap;
102 #author {
103 color: #527bbd;
104 font-weight: bold;
105 font-size: 1.1em;
107 #email {
109 #revnumber, #revdate, #revremark {
112 #footer {
113 font-size: small;
114 border-top: 2px solid silver;
115 padding-top: 0.5em;
116 margin-top: 4.0em;
118 #footer-text {
119 float: left;
120 padding-bottom: 0.5em;
122 #footer-badges {
123 float: right;
124 padding-bottom: 0.5em;
127 #preamble {
128 margin-top: 1.5em;
129 margin-bottom: 1.5em;
131 div.imageblock, div.exampleblock, div.verseblock,
132 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
133 div.admonitionblock {
134 margin-top: 1.0em;
135 margin-bottom: 1.5em;
137 div.admonitionblock {
138 margin-top: 2.0em;
139 margin-bottom: 2.0em;
140 margin-right: 10%;
141 color: #606060;
144 div.content { /* Block element content. */
145 padding: 0;
148 /* Block element titles. */
149 div.title, caption.title {
150 color: #527bbd;
151 font-weight: bold;
152 text-align: left;
153 margin-top: 1.0em;
154 margin-bottom: 0.5em;
156 div.title + * {
157 margin-top: 0;
160 td div.title:first-child {
161 margin-top: 0.0em;
163 div.content div.title:first-child {
164 margin-top: 0.0em;
166 div.content + div.title {
167 margin-top: 0.0em;
170 div.sidebarblock > div.content {
171 background: #ffffee;
172 border: 1px solid #dddddd;
173 border-left: 4px solid #f0f0f0;
174 padding: 0.5em;
177 div.listingblock > div.content {
178 border: 1px solid #dddddd;
179 border-left: 5px solid #f0f0f0;
180 background: #f8f8f8;
181 padding: 0.5em;
184 div.quoteblock, div.verseblock {
185 padding-left: 1.0em;
186 margin-left: 1.0em;
187 margin-right: 10%;
188 border-left: 5px solid #f0f0f0;
189 color: #888;
192 div.quoteblock > div.attribution {
193 padding-top: 0.5em;
194 text-align: right;
197 div.verseblock > pre.content {
198 font-family: inherit;
199 font-size: inherit;
201 div.verseblock > div.attribution {
202 padding-top: 0.75em;
203 text-align: left;
205 /* DEPRECATED: Pre version 8.2.7 verse style literal block. */
206 div.verseblock + div.attribution {
207 text-align: left;
210 div.admonitionblock .icon {
211 vertical-align: top;
212 font-size: 1.1em;
213 font-weight: bold;
214 text-decoration: underline;
215 color: #527bbd;
216 padding-right: 0.5em;
218 div.admonitionblock td.content {
219 padding-left: 0.5em;
220 border-left: 3px solid #dddddd;
223 div.exampleblock > div.content {
224 border-left: 3px solid #dddddd;
225 padding-left: 0.5em;
228 div.imageblock div.content { padding-left: 0; }
229 span.image img { border-style: none; vertical-align: text-bottom; }
230 a.image:visited { color: white; }
232 dl {
233 margin-top: 0.8em;
234 margin-bottom: 0.8em;
236 dt {
237 margin-top: 0.5em;
238 margin-bottom: 0;
239 font-style: normal;
240 color: navy;
242 dd > *:first-child {
243 margin-top: 0.1em;
246 ul, ol {
247 list-style-position: outside;
249 ol.arabic {
250 list-style-type: decimal;
252 ol.loweralpha {
253 list-style-type: lower-alpha;
255 ol.upperalpha {
256 list-style-type: upper-alpha;
258 ol.lowerroman {
259 list-style-type: lower-roman;
261 ol.upperroman {
262 list-style-type: upper-roman;
265 div.compact ul, div.compact ol,
266 div.compact p, div.compact p,
267 div.compact div, div.compact div {
268 margin-top: 0.1em;
269 margin-bottom: 0.1em;
272 tfoot {
273 font-weight: bold;
275 td > div.verse {
276 white-space: pre;
279 div.hdlist {
280 margin-top: 0.8em;
281 margin-bottom: 0.8em;
283 div.hdlist tr {
284 padding-bottom: 15px;
286 dt.hdlist1.strong, td.hdlist1.strong {
287 font-weight: bold;
289 td.hdlist1 {
290 vertical-align: top;
291 font-style: normal;
292 padding-right: 0.8em;
293 color: navy;
295 td.hdlist2 {
296 vertical-align: top;
298 div.hdlist.compact tr {
299 margin: 0;
300 padding-bottom: 0;
303 .comment {
304 background: yellow;
307 .footnote, .footnoteref {
308 font-size: 0.8em;
311 span.footnote, span.footnoteref {
312 vertical-align: super;
315 #footnotes {
316 margin: 20px 0 20px 0;
317 padding: 7px 0 0 0;
320 #footnotes div.footnote {
321 margin: 0 0 5px 0;
324 #footnotes hr {
325 border: none;
326 border-top: 1px solid silver;
327 height: 1px;
328 text-align: left;
329 margin-left: 0;
330 width: 20%;
331 min-width: 100px;
334 div.colist td {
335 padding-right: 0.5em;
336 padding-bottom: 0.3em;
337 vertical-align: top;
339 div.colist td img {
340 margin-top: 0.3em;
343 @media print {
344 #footer-badges { display: none; }
347 #toc {
348 margin-bottom: 2.5em;
351 #toctitle {
352 color: #527bbd;
353 font-size: 1.1em;
354 font-weight: bold;
355 margin-top: 1.0em;
356 margin-bottom: 0.1em;
359 div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
360 margin-top: 0;
361 margin-bottom: 0;
363 div.toclevel2 {
364 margin-left: 2em;
365 font-size: 0.9em;
367 div.toclevel3 {
368 margin-left: 4em;
369 font-size: 0.9em;
371 div.toclevel4 {
372 margin-left: 6em;
373 font-size: 0.9em;
376 span.aqua { color: aqua; }
377 span.black { color: black; }
378 span.blue { color: blue; }
379 span.fuchsia { color: fuchsia; }
380 span.gray { color: gray; }
381 span.green { color: green; }
382 span.lime { color: lime; }
383 span.maroon { color: maroon; }
384 span.navy { color: navy; }
385 span.olive { color: olive; }
386 span.purple { color: purple; }
387 span.red { color: red; }
388 span.silver { color: silver; }
389 span.teal { color: teal; }
390 span.white { color: white; }
391 span.yellow { color: yellow; }
393 span.aqua-background { background: aqua; }
394 span.black-background { background: black; }
395 span.blue-background { background: blue; }
396 span.fuchsia-background { background: fuchsia; }
397 span.gray-background { background: gray; }
398 span.green-background { background: green; }
399 span.lime-background { background: lime; }
400 span.maroon-background { background: maroon; }
401 span.navy-background { background: navy; }
402 span.olive-background { background: olive; }
403 span.purple-background { background: purple; }
404 span.red-background { background: red; }
405 span.silver-background { background: silver; }
406 span.teal-background { background: teal; }
407 span.white-background { background: white; }
408 span.yellow-background { background: yellow; }
410 span.big { font-size: 2em; }
411 span.small { font-size: 0.6em; }
413 span.underline { text-decoration: underline; }
414 span.overline { text-decoration: overline; }
415 span.line-through { text-decoration: line-through; }
417 div.unbreakable { page-break-inside: avoid; }
421 * xhtml11 specific
423 * */
425 div.tableblock {
426 margin-top: 1.0em;
427 margin-bottom: 1.5em;
429 div.tableblock > table {
430 border: 3px solid #527bbd;
432 thead, p.table.header {
433 font-weight: bold;
434 color: #527bbd;
436 p.table {
437 margin-top: 0;
439 /* Because the table frame attribute is overridden by CSS in most browsers. */
440 div.tableblock > table[frame="void"] {
441 border-style: none;
443 div.tableblock > table[frame="hsides"] {
444 border-left-style: none;
445 border-right-style: none;
447 div.tableblock > table[frame="vsides"] {
448 border-top-style: none;
449 border-bottom-style: none;
454 * html5 specific
456 * */
458 table.tableblock {
459 margin-top: 1.0em;
460 margin-bottom: 1.5em;
462 thead, p.tableblock.header {
463 font-weight: bold;
464 color: #527bbd;
466 p.tableblock {
467 margin-top: 0;
469 table.tableblock {
470 border-width: 3px;
471 border-spacing: 0px;
472 border-style: solid;
473 border-color: #527bbd;
474 border-collapse: collapse;
476 th.tableblock, td.tableblock {
477 border-width: 1px;
478 padding: 4px;
479 border-style: solid;
480 border-color: #527bbd;
483 table.tableblock.frame-topbot {
484 border-left-style: hidden;
485 border-right-style: hidden;
487 table.tableblock.frame-sides {
488 border-top-style: hidden;
489 border-bottom-style: hidden;
491 table.tableblock.frame-none {
492 border-style: hidden;
495 th.tableblock.halign-left, td.tableblock.halign-left {
496 text-align: left;
498 th.tableblock.halign-center, td.tableblock.halign-center {
499 text-align: center;
501 th.tableblock.halign-right, td.tableblock.halign-right {
502 text-align: right;
505 th.tableblock.valign-top, td.tableblock.valign-top {
506 vertical-align: top;
508 th.tableblock.valign-middle, td.tableblock.valign-middle {
509 vertical-align: middle;
511 th.tableblock.valign-bottom, td.tableblock.valign-bottom {
512 vertical-align: bottom;
517 * manpage specific
519 * */
521 body.manpage h1 {
522 padding-top: 0.5em;
523 padding-bottom: 0.5em;
524 border-top: 2px solid silver;
525 border-bottom: 2px solid silver;
527 body.manpage h2 {
528 border-style: none;
530 body.manpage div.sectionbody {
531 margin-left: 3em;
534 @media print {
535 body.manpage div#toc { display: none; }
539 </style>
540 <script type="text/javascript">
541 /*<![CDATA[*/
542 var asciidoc = { // Namespace.
544 /////////////////////////////////////////////////////////////////////
545 // Table Of Contents generator
546 /////////////////////////////////////////////////////////////////////
548 /* Author: Mihai Bazon, September 2002
549 * http://students.infoiasi.ro/~mishoo
551 * Table Of Content generator
552 * Version: 0.4
554 * Feel free to use this script under the terms of the GNU General Public
555 * License, as long as you do not remove or alter this notice.
558 /* modified by Troy D. Hanson, September 2006. License: GPL */
559 /* modified by Stuart Rackham, 2006, 2009. License: GPL */
561 // toclevels = 1..4.
562 toc: function (toclevels) {
564 function getText(el) {
565 var text = "";
566 for (var i = el.firstChild; i != null; i = i.nextSibling) {
567 if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
568 text += i.data;
569 else if (i.firstChild != null)
570 text += getText(i);
572 return text;
575 function TocEntry(el, text, toclevel) {
576 this.element = el;
577 this.text = text;
578 this.toclevel = toclevel;
581 function tocEntries(el, toclevels) {
582 var result = new Array;
583 var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');
584 // Function that scans the DOM tree for header elements (the DOM2
585 // nodeIterator API would be a better technique but not supported by all
586 // browsers).
587 var iterate = function (el) {
588 for (var i = el.firstChild; i != null; i = i.nextSibling) {
589 if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
590 var mo = re.exec(i.tagName);
591 if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
592 result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
594 iterate(i);
598 iterate(el);
599 return result;
602 var toc = document.getElementById("toc");
603 if (!toc) {
604 return;
607 // Delete existing TOC entries in case we're reloading the TOC.
608 var tocEntriesToRemove = [];
609 var i;
610 for (i = 0; i < toc.childNodes.length; i++) {
611 var entry = toc.childNodes[i];
612 if (entry.nodeName.toLowerCase() == 'div'
613 && entry.getAttribute("class")
614 && entry.getAttribute("class").match(/^toclevel/))
615 tocEntriesToRemove.push(entry);
617 for (i = 0; i < tocEntriesToRemove.length; i++) {
618 toc.removeChild(tocEntriesToRemove[i]);
621 // Rebuild TOC entries.
622 var entries = tocEntries(document.getElementById("content"), toclevels);
623 for (var i = 0; i < entries.length; ++i) {
624 var entry = entries[i];
625 if (entry.element.id == "")
626 entry.element.id = "_toc_" + i;
627 var a = document.createElement("a");
628 a.href = "#" + entry.element.id;
629 a.appendChild(document.createTextNode(entry.text));
630 var div = document.createElement("div");
631 div.appendChild(a);
632 div.className = "toclevel" + entry.toclevel;
633 toc.appendChild(div);
635 if (entries.length == 0)
636 toc.parentNode.removeChild(toc);
640 /////////////////////////////////////////////////////////////////////
641 // Footnotes generator
642 /////////////////////////////////////////////////////////////////////
644 /* Based on footnote generation code from:
645 * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
648 footnotes: function () {
649 // Delete existing footnote entries in case we're reloading the footnodes.
650 var i;
651 var noteholder = document.getElementById("footnotes");
652 if (!noteholder) {
653 return;
655 var entriesToRemove = [];
656 for (i = 0; i < noteholder.childNodes.length; i++) {
657 var entry = noteholder.childNodes[i];
658 if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
659 entriesToRemove.push(entry);
661 for (i = 0; i < entriesToRemove.length; i++) {
662 noteholder.removeChild(entriesToRemove[i]);
665 // Rebuild footnote entries.
666 var cont = document.getElementById("content");
667 var spans = cont.getElementsByTagName("span");
668 var refs = {};
669 var n = 0;
670 for (i=0; i<spans.length; i++) {
671 if (spans[i].className == "footnote") {
672 n++;
673 var note = spans[i].getAttribute("data-note");
674 if (!note) {
675 // Use [\s\S] in place of . so multi-line matches work.
676 // Because JavaScript has no s (dotall) regex flag.
677 note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
678 spans[i].innerHTML =
679 "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
680 "' title='View footnote' class='footnote'>" + n + "</a>]";
681 spans[i].setAttribute("data-note", note);
683 noteholder.innerHTML +=
684 "<div class='footnote' id='_footnote_" + n + "'>" +
685 "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
686 n + "</a>. " + note + "</div>";
687 var id =spans[i].getAttribute("id");
688 if (id != null) refs["#"+id] = n;
691 if (n == 0)
692 noteholder.parentNode.removeChild(noteholder);
693 else {
694 // Process footnoterefs.
695 for (i=0; i<spans.length; i++) {
696 if (spans[i].className == "footnoteref") {
697 var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
698 href = href.match(/#.*/)[0]; // Because IE return full URL.
699 n = refs[href];
700 spans[i].innerHTML =
701 "[<a href='#_footnote_" + n +
702 "' title='View footnote' class='footnote'>" + n + "</a>]";
708 install: function(toclevels) {
709 var timerId;
711 function reinstall() {
712 asciidoc.footnotes();
713 if (toclevels) {
714 asciidoc.toc(toclevels);
718 function reinstallAndRemoveTimer() {
719 clearInterval(timerId);
720 reinstall();
723 timerId = setInterval(reinstall, 500);
724 if (document.addEventListener)
725 document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
726 else
727 window.onload = reinstallAndRemoveTimer;
731 asciidoc.install();
732 /*]]>*/
733 </script>
734 </head>
735 <body class="manpage">
736 <div id="header">
737 <h1>
738 git(1) Manual Page
739 </h1>
740 <h2>NAME</h2>
741 <div class="sectionbody">
742 <p>git -
743 the stupid content tracker
744 </p>
745 </div>
746 </div>
747 <div id="content">
748 <div class="sect1">
749 <h2 id="_synopsis">SYNOPSIS</h2>
750 <div class="sectionbody">
751 <div class="verseblock">
752 <pre class="content"><em>git</em> [-v | --version] [-h | --help] [-C &lt;path&gt;] [-c &lt;name&gt;=&lt;value&gt;]
753 [--exec-path[=&lt;path&gt;]] [--html-path] [--man-path] [--info-path]
754 [-p|--paginate|-P|--no-pager] [--no-replace-objects] [--bare]
755 [--git-dir=&lt;path&gt;] [--work-tree=&lt;path&gt;] [--namespace=&lt;name&gt;]
756 [--config-env=&lt;name&gt;=&lt;envvar&gt;] &lt;command&gt; [&lt;args&gt;]</pre>
757 <div class="attribution">
758 </div></div>
759 </div>
760 </div>
761 <div class="sect1">
762 <h2 id="_description">DESCRIPTION</h2>
763 <div class="sectionbody">
764 <div class="paragraph"><p>Git is a fast, scalable, distributed revision control system with an
765 unusually rich command set that provides both high-level operations
766 and full access to internals.</p></div>
767 <div class="paragraph"><p>See <a href="gittutorial.html">gittutorial(7)</a> to get started, then see
768 <a href="giteveryday.html">giteveryday(7)</a> for a useful minimum set of
769 commands. The <a href="user-manual.html">Git User&#8217;s Manual</a> has a more
770 in-depth introduction.</p></div>
771 <div class="paragraph"><p>After you mastered the basic concepts, you can come back to this
772 page to learn what commands Git offers. You can learn more about
773 individual Git commands with "git help command". <a href="gitcli.html">gitcli(7)</a>
774 manual page gives you an overview of the command-line command syntax.</p></div>
775 <div class="paragraph"><p>A formatted and hyperlinked copy of the latest Git documentation
776 can be viewed at <a href="https://git.github.io/htmldocs/git.html">https://git.github.io/htmldocs/git.html</a>
777 or <a href="https://git-scm.com/docs">https://git-scm.com/docs</a>.</p></div>
778 </div>
779 </div>
780 <div class="sect1">
781 <h2 id="_options">OPTIONS</h2>
782 <div class="sectionbody">
783 <div class="dlist"><dl>
784 <dt class="hdlist1">
786 </dt>
787 <dt class="hdlist1">
788 --version
789 </dt>
790 <dd>
792 Prints the Git suite version that the <em>git</em> program came from.
793 </p>
794 <div class="paragraph"><p>This option is internally converted to <code>git version ...</code> and accepts
795 the same options as the <a href="git-version.html">git-version(1)</a> command. If <code>--help</code> is
796 also given, it takes precedence over <code>--version</code>.</p></div>
797 </dd>
798 <dt class="hdlist1">
800 </dt>
801 <dt class="hdlist1">
802 --help
803 </dt>
804 <dd>
806 Prints the synopsis and a list of the most commonly used
807 commands. If the option <code>--all</code> or <code>-a</code> is given then all
808 available commands are printed. If a Git command is named this
809 option will bring up the manual page for that command.
810 </p>
811 <div class="paragraph"><p>Other options are available to control how the manual page is
812 displayed. See <a href="git-help.html">git-help(1)</a> for more information,
813 because <code>git --help ...</code> is converted internally into <code>git
814 help ...</code>.</p></div>
815 </dd>
816 <dt class="hdlist1">
817 -C &lt;path&gt;
818 </dt>
819 <dd>
821 Run as if git was started in <em>&lt;path&gt;</em> instead of the current working
822 directory. When multiple <code>-C</code> options are given, each subsequent
823 non-absolute <code>-C &lt;path&gt;</code> is interpreted relative to the preceding <code>-C
824 &lt;path&gt;</code>. If <em>&lt;path&gt;</em> is present but empty, e.g. <code>-C ""</code>, then the
825 current working directory is left unchanged.
826 </p>
827 <div class="paragraph"><p>This option affects options that expect path name like <code>--git-dir</code> and
828 <code>--work-tree</code> in that their interpretations of the path names would be
829 made relative to the working directory caused by the <code>-C</code> option. For
830 example the following invocations are equivalent:</p></div>
831 <div class="literalblock">
832 <div class="content">
833 <pre><code>git --git-dir=a.git --work-tree=b -C c status
834 git --git-dir=c/a.git --work-tree=c/b status</code></pre>
835 </div></div>
836 </dd>
837 <dt class="hdlist1">
838 -c &lt;name&gt;=&lt;value&gt;
839 </dt>
840 <dd>
842 Pass a configuration parameter to the command. The value
843 given will override values from configuration files.
844 The &lt;name&gt; is expected in the same format as listed by
845 <em>git config</em> (subkeys separated by dots).
846 </p>
847 <div class="paragraph"><p>Note that omitting the <code>=</code> in <code>git -c foo.bar ...</code> is allowed and sets
848 <code>foo.bar</code> to the boolean true value (just like <code>[foo]bar</code> would in a
849 config file). Including the equals but with an empty value (like <code>git -c
850 foo.bar= ...</code>) sets <code>foo.bar</code> to the empty string which <code>git config
851 --type=bool</code> will convert to <code>false</code>.</p></div>
852 </dd>
853 <dt class="hdlist1">
854 --config-env=&lt;name&gt;=&lt;envvar&gt;
855 </dt>
856 <dd>
858 Like <code>-c &lt;name&gt;=&lt;value&gt;</code>, give configuration variable
859 <em>&lt;name&gt;</em> a value, where &lt;envvar&gt; is the name of an
860 environment variable from which to retrieve the value. Unlike
861 <code>-c</code> there is no shortcut for directly setting the value to an
862 empty string, instead the environment variable itself must be
863 set to the empty string. It is an error if the <code>&lt;envvar&gt;</code> does not exist
864 in the environment. <code>&lt;envvar&gt;</code> may not contain an equals sign
865 to avoid ambiguity with <code>&lt;name&gt;</code> containing one.
866 </p>
867 <div class="paragraph"><p>This is useful for cases where you want to pass transitory
868 configuration options to git, but are doing so on operating systems
869 where other processes might be able to read your command line
870 (e.g. <code>/proc/self/cmdline</code>), but not your environment
871 (e.g. <code>/proc/self/environ</code>). That behavior is the default on
872 Linux, but may not be on your system.</p></div>
873 <div class="paragraph"><p>Note that this might add security for variables such as
874 <code>http.extraHeader</code> where the sensitive information is part of
875 the value, but not e.g. <code>url.&lt;base&gt;.insteadOf</code> where the
876 sensitive information can be part of the key.</p></div>
877 </dd>
878 <dt class="hdlist1">
879 --exec-path[=&lt;path&gt;]
880 </dt>
881 <dd>
883 Path to wherever your core Git programs are installed.
884 This can also be controlled by setting the GIT_EXEC_PATH
885 environment variable. If no path is given, <em>git</em> will print
886 the current setting and then exit.
887 </p>
888 </dd>
889 <dt class="hdlist1">
890 --html-path
891 </dt>
892 <dd>
894 Print the path, without trailing slash, where Git&#8217;s HTML
895 documentation is installed and exit.
896 </p>
897 </dd>
898 <dt class="hdlist1">
899 --man-path
900 </dt>
901 <dd>
903 Print the manpath (see <code>man(1)</code>) for the man pages for
904 this version of Git and exit.
905 </p>
906 </dd>
907 <dt class="hdlist1">
908 --info-path
909 </dt>
910 <dd>
912 Print the path where the Info files documenting this
913 version of Git are installed and exit.
914 </p>
915 </dd>
916 <dt class="hdlist1">
918 </dt>
919 <dt class="hdlist1">
920 --paginate
921 </dt>
922 <dd>
924 Pipe all output into <em>less</em> (or if set, $PAGER) if standard
925 output is a terminal. This overrides the <code>pager.&lt;cmd&gt;</code>
926 configuration options (see the "Configuration Mechanism" section
927 below).
928 </p>
929 </dd>
930 <dt class="hdlist1">
932 </dt>
933 <dt class="hdlist1">
934 --no-pager
935 </dt>
936 <dd>
938 Do not pipe Git output into a pager.
939 </p>
940 </dd>
941 <dt class="hdlist1">
942 --git-dir=&lt;path&gt;
943 </dt>
944 <dd>
946 Set the path to the repository (".git" directory). This can also be
947 controlled by setting the <code>GIT_DIR</code> environment variable. It can be
948 an absolute path or relative path to current working directory.
949 </p>
950 <div class="paragraph"><p>Specifying the location of the ".git" directory using this
951 option (or <code>GIT_DIR</code> environment variable) turns off the
952 repository discovery that tries to find a directory with
953 ".git" subdirectory (which is how the repository and the
954 top-level of the working tree are discovered), and tells Git
955 that you are at the top level of the working tree. If you
956 are not at the top-level directory of the working tree, you
957 should tell Git where the top-level of the working tree is,
958 with the <code>--work-tree=&lt;path&gt;</code> option (or <code>GIT_WORK_TREE</code>
959 environment variable)</p></div>
960 <div class="paragraph"><p>If you just want to run git as if it was started in <code>&lt;path&gt;</code> then use
961 <code>git -C &lt;path&gt;</code>.</p></div>
962 </dd>
963 <dt class="hdlist1">
964 --work-tree=&lt;path&gt;
965 </dt>
966 <dd>
968 Set the path to the working tree. It can be an absolute path
969 or a path relative to the current working directory.
970 This can also be controlled by setting the GIT_WORK_TREE
971 environment variable and the core.worktree configuration
972 variable (see core.worktree in <a href="git-config.html">git-config(1)</a> for a
973 more detailed discussion).
974 </p>
975 </dd>
976 <dt class="hdlist1">
977 --namespace=&lt;path&gt;
978 </dt>
979 <dd>
981 Set the Git namespace. See <a href="gitnamespaces.html">gitnamespaces(7)</a> for more
982 details. Equivalent to setting the <code>GIT_NAMESPACE</code> environment
983 variable.
984 </p>
985 </dd>
986 <dt class="hdlist1">
987 --bare
988 </dt>
989 <dd>
991 Treat the repository as a bare repository. If GIT_DIR
992 environment is not set, it is set to the current working
993 directory.
994 </p>
995 </dd>
996 <dt class="hdlist1">
997 --no-replace-objects
998 </dt>
999 <dd>
1001 Do not use replacement refs to replace Git objects. See
1002 <a href="git-replace.html">git-replace(1)</a> for more information.
1003 </p>
1004 </dd>
1005 <dt class="hdlist1">
1006 --literal-pathspecs
1007 </dt>
1008 <dd>
1010 Treat pathspecs literally (i.e. no globbing, no pathspec magic).
1011 This is equivalent to setting the <code>GIT_LITERAL_PATHSPECS</code> environment
1012 variable to <code>1</code>.
1013 </p>
1014 </dd>
1015 <dt class="hdlist1">
1016 --glob-pathspecs
1017 </dt>
1018 <dd>
1020 Add "glob" magic to all pathspec. This is equivalent to setting
1021 the <code>GIT_GLOB_PATHSPECS</code> environment variable to <code>1</code>. Disabling
1022 globbing on individual pathspecs can be done using pathspec
1023 magic ":(literal)"
1024 </p>
1025 </dd>
1026 <dt class="hdlist1">
1027 --noglob-pathspecs
1028 </dt>
1029 <dd>
1031 Add "literal" magic to all pathspec. This is equivalent to setting
1032 the <code>GIT_NOGLOB_PATHSPECS</code> environment variable to <code>1</code>. Enabling
1033 globbing on individual pathspecs can be done using pathspec
1034 magic ":(glob)"
1035 </p>
1036 </dd>
1037 <dt class="hdlist1">
1038 --icase-pathspecs
1039 </dt>
1040 <dd>
1042 Add "icase" magic to all pathspec. This is equivalent to setting
1043 the <code>GIT_ICASE_PATHSPECS</code> environment variable to <code>1</code>.
1044 </p>
1045 </dd>
1046 <dt class="hdlist1">
1047 --no-optional-locks
1048 </dt>
1049 <dd>
1051 Do not perform optional operations that require locks. This is
1052 equivalent to setting the <code>GIT_OPTIONAL_LOCKS</code> to <code>0</code>.
1053 </p>
1054 </dd>
1055 <dt class="hdlist1">
1056 --list-cmds=group[,group&#8230;]
1057 </dt>
1058 <dd>
1060 List commands by group. This is an internal/experimental
1061 option and may change or be removed in the future. Supported
1062 groups are: builtins, parseopt (builtin commands that use
1063 parse-options), main (all commands in libexec directory),
1064 others (all other commands in <code>$PATH</code> that have git- prefix),
1065 list-&lt;category&gt; (see categories in command-list.txt),
1066 nohelpers (exclude helper commands), alias and config
1067 (retrieve command list from config variable completion.commands)
1068 </p>
1069 </dd>
1070 <dt class="hdlist1">
1071 --attr-source=&lt;tree-ish&gt;
1072 </dt>
1073 <dd>
1075 Read gitattributes from &lt;tree-ish&gt; instead of the worktree. See
1076 <a href="gitattributes.html">gitattributes(5)</a>. This is equivalent to setting the
1077 <code>GIT_ATTR_SOURCE</code> environment variable.
1078 </p>
1079 </dd>
1080 </dl></div>
1081 </div>
1082 </div>
1083 <div class="sect1">
1084 <h2 id="_git_commands">GIT COMMANDS</h2>
1085 <div class="sectionbody">
1086 <div class="paragraph"><p>We divide Git into high level ("porcelain") commands and low level
1087 ("plumbing") commands.</p></div>
1088 </div>
1089 </div>
1090 <div class="sect1">
1091 <h2 id="_high_level_commands_porcelain">High-level commands (porcelain)</h2>
1092 <div class="sectionbody">
1093 <div class="paragraph"><p>We separate the porcelain commands into the main commands and some
1094 ancillary user utilities.</p></div>
1095 <div class="sect2">
1096 <h3 id="_main_porcelain_commands">Main porcelain commands</h3>
1097 <div class="dlist"><dl>
1098 <dt class="hdlist1">
1099 <a href="git-add.html">git-add(1)</a>
1100 </dt>
1101 <dd>
1103 Add file contents to the index.
1104 </p>
1105 </dd>
1106 <dt class="hdlist1">
1107 <a href="git-am.html">git-am(1)</a>
1108 </dt>
1109 <dd>
1111 Apply a series of patches from a mailbox.
1112 </p>
1113 </dd>
1114 <dt class="hdlist1">
1115 <a href="git-archive.html">git-archive(1)</a>
1116 </dt>
1117 <dd>
1119 Create an archive of files from a named tree.
1120 </p>
1121 </dd>
1122 <dt class="hdlist1">
1123 <a href="git-bisect.html">git-bisect(1)</a>
1124 </dt>
1125 <dd>
1127 Use binary search to find the commit that introduced a bug.
1128 </p>
1129 </dd>
1130 <dt class="hdlist1">
1131 <a href="git-branch.html">git-branch(1)</a>
1132 </dt>
1133 <dd>
1135 List, create, or delete branches.
1136 </p>
1137 </dd>
1138 <dt class="hdlist1">
1139 <a href="git-bundle.html">git-bundle(1)</a>
1140 </dt>
1141 <dd>
1143 Move objects and refs by archive.
1144 </p>
1145 </dd>
1146 <dt class="hdlist1">
1147 <a href="git-checkout.html">git-checkout(1)</a>
1148 </dt>
1149 <dd>
1151 Switch branches or restore working tree files.
1152 </p>
1153 </dd>
1154 <dt class="hdlist1">
1155 <a href="git-cherry-pick.html">git-cherry-pick(1)</a>
1156 </dt>
1157 <dd>
1159 Apply the changes introduced by some existing commits.
1160 </p>
1161 </dd>
1162 <dt class="hdlist1">
1163 <a href="git-citool.html">git-citool(1)</a>
1164 </dt>
1165 <dd>
1167 Graphical alternative to git-commit.
1168 </p>
1169 </dd>
1170 <dt class="hdlist1">
1171 <a href="git-clean.html">git-clean(1)</a>
1172 </dt>
1173 <dd>
1175 Remove untracked files from the working tree.
1176 </p>
1177 </dd>
1178 <dt class="hdlist1">
1179 <a href="git-clone.html">git-clone(1)</a>
1180 </dt>
1181 <dd>
1183 Clone a repository into a new directory.
1184 </p>
1185 </dd>
1186 <dt class="hdlist1">
1187 <a href="git-commit.html">git-commit(1)</a>
1188 </dt>
1189 <dd>
1191 Record changes to the repository.
1192 </p>
1193 </dd>
1194 <dt class="hdlist1">
1195 <a href="git-describe.html">git-describe(1)</a>
1196 </dt>
1197 <dd>
1199 Give an object a human readable name based on an available ref.
1200 </p>
1201 </dd>
1202 <dt class="hdlist1">
1203 <a href="git-diff.html">git-diff(1)</a>
1204 </dt>
1205 <dd>
1207 Show changes between commits, commit and working tree, etc.
1208 </p>
1209 </dd>
1210 <dt class="hdlist1">
1211 <a href="git-fetch.html">git-fetch(1)</a>
1212 </dt>
1213 <dd>
1215 Download objects and refs from another repository.
1216 </p>
1217 </dd>
1218 <dt class="hdlist1">
1219 <a href="git-format-patch.html">git-format-patch(1)</a>
1220 </dt>
1221 <dd>
1223 Prepare patches for e-mail submission.
1224 </p>
1225 </dd>
1226 <dt class="hdlist1">
1227 <a href="git-gc.html">git-gc(1)</a>
1228 </dt>
1229 <dd>
1231 Cleanup unnecessary files and optimize the local repository.
1232 </p>
1233 </dd>
1234 <dt class="hdlist1">
1235 <a href="git-grep.html">git-grep(1)</a>
1236 </dt>
1237 <dd>
1239 Print lines matching a pattern.
1240 </p>
1241 </dd>
1242 <dt class="hdlist1">
1243 <a href="git-gui.html">git-gui(1)</a>
1244 </dt>
1245 <dd>
1247 A portable graphical interface to Git.
1248 </p>
1249 </dd>
1250 <dt class="hdlist1">
1251 <a href="git-init.html">git-init(1)</a>
1252 </dt>
1253 <dd>
1255 Create an empty Git repository or reinitialize an existing one.
1256 </p>
1257 </dd>
1258 <dt class="hdlist1">
1259 <a href="git-log.html">git-log(1)</a>
1260 </dt>
1261 <dd>
1263 Show commit logs.
1264 </p>
1265 </dd>
1266 <dt class="hdlist1">
1267 <a href="git-maintenance.html">git-maintenance(1)</a>
1268 </dt>
1269 <dd>
1271 Run tasks to optimize Git repository data.
1272 </p>
1273 </dd>
1274 <dt class="hdlist1">
1275 <a href="git-merge.html">git-merge(1)</a>
1276 </dt>
1277 <dd>
1279 Join two or more development histories together.
1280 </p>
1281 </dd>
1282 <dt class="hdlist1">
1283 <a href="git-mv.html">git-mv(1)</a>
1284 </dt>
1285 <dd>
1287 Move or rename a file, a directory, or a symlink.
1288 </p>
1289 </dd>
1290 <dt class="hdlist1">
1291 <a href="git-notes.html">git-notes(1)</a>
1292 </dt>
1293 <dd>
1295 Add or inspect object notes.
1296 </p>
1297 </dd>
1298 <dt class="hdlist1">
1299 <a href="git-pull.html">git-pull(1)</a>
1300 </dt>
1301 <dd>
1303 Fetch from and integrate with another repository or a local branch.
1304 </p>
1305 </dd>
1306 <dt class="hdlist1">
1307 <a href="git-push.html">git-push(1)</a>
1308 </dt>
1309 <dd>
1311 Update remote refs along with associated objects.
1312 </p>
1313 </dd>
1314 <dt class="hdlist1">
1315 <a href="git-range-diff.html">git-range-diff(1)</a>
1316 </dt>
1317 <dd>
1319 Compare two commit ranges (e.g. two versions of a branch).
1320 </p>
1321 </dd>
1322 <dt class="hdlist1">
1323 <a href="git-rebase.html">git-rebase(1)</a>
1324 </dt>
1325 <dd>
1327 Reapply commits on top of another base tip.
1328 </p>
1329 </dd>
1330 <dt class="hdlist1">
1331 <a href="git-reset.html">git-reset(1)</a>
1332 </dt>
1333 <dd>
1335 Reset current HEAD to the specified state.
1336 </p>
1337 </dd>
1338 <dt class="hdlist1">
1339 <a href="git-restore.html">git-restore(1)</a>
1340 </dt>
1341 <dd>
1343 Restore working tree files.
1344 </p>
1345 </dd>
1346 <dt class="hdlist1">
1347 <a href="git-revert.html">git-revert(1)</a>
1348 </dt>
1349 <dd>
1351 Revert some existing commits.
1352 </p>
1353 </dd>
1354 <dt class="hdlist1">
1355 <a href="git-rm.html">git-rm(1)</a>
1356 </dt>
1357 <dd>
1359 Remove files from the working tree and from the index.
1360 </p>
1361 </dd>
1362 <dt class="hdlist1">
1363 <a href="git-shortlog.html">git-shortlog(1)</a>
1364 </dt>
1365 <dd>
1367 Summarize <em>git log</em> output.
1368 </p>
1369 </dd>
1370 <dt class="hdlist1">
1371 <a href="git-show.html">git-show(1)</a>
1372 </dt>
1373 <dd>
1375 Show various types of objects.
1376 </p>
1377 </dd>
1378 <dt class="hdlist1">
1379 <a href="git-sparse-checkout.html">git-sparse-checkout(1)</a>
1380 </dt>
1381 <dd>
1383 Reduce your working tree to a subset of tracked files.
1384 </p>
1385 </dd>
1386 <dt class="hdlist1">
1387 <a href="git-stash.html">git-stash(1)</a>
1388 </dt>
1389 <dd>
1391 Stash the changes in a dirty working directory away.
1392 </p>
1393 </dd>
1394 <dt class="hdlist1">
1395 <a href="git-status.html">git-status(1)</a>
1396 </dt>
1397 <dd>
1399 Show the working tree status.
1400 </p>
1401 </dd>
1402 <dt class="hdlist1">
1403 <a href="git-submodule.html">git-submodule(1)</a>
1404 </dt>
1405 <dd>
1407 Initialize, update or inspect submodules.
1408 </p>
1409 </dd>
1410 <dt class="hdlist1">
1411 <a href="git-switch.html">git-switch(1)</a>
1412 </dt>
1413 <dd>
1415 Switch branches.
1416 </p>
1417 </dd>
1418 <dt class="hdlist1">
1419 <a href="git-tag.html">git-tag(1)</a>
1420 </dt>
1421 <dd>
1423 Create, list, delete or verify a tag object signed with GPG.
1424 </p>
1425 </dd>
1426 <dt class="hdlist1">
1427 <a href="git-worktree.html">git-worktree(1)</a>
1428 </dt>
1429 <dd>
1431 Manage multiple working trees.
1432 </p>
1433 </dd>
1434 <dt class="hdlist1">
1435 <a href="gitk.html">gitk(1)</a>
1436 </dt>
1437 <dd>
1439 The Git repository browser.
1440 </p>
1441 </dd>
1442 <dt class="hdlist1">
1443 <a href="scalar.html">scalar(1)</a>
1444 </dt>
1445 <dd>
1447 A tool for managing large Git repositories.
1448 </p>
1449 </dd>
1450 </dl></div>
1451 </div>
1452 <div class="sect2">
1453 <h3 id="_ancillary_commands">Ancillary Commands</h3>
1454 <div class="paragraph"><p>Manipulators:</p></div>
1455 <div class="dlist"><dl>
1456 <dt class="hdlist1">
1457 <a href="git-config.html">git-config(1)</a>
1458 </dt>
1459 <dd>
1461 Get and set repository or global options.
1462 </p>
1463 </dd>
1464 <dt class="hdlist1">
1465 <a href="git-fast-export.html">git-fast-export(1)</a>
1466 </dt>
1467 <dd>
1469 Git data exporter.
1470 </p>
1471 </dd>
1472 <dt class="hdlist1">
1473 <a href="git-fast-import.html">git-fast-import(1)</a>
1474 </dt>
1475 <dd>
1477 Backend for fast Git data importers.
1478 </p>
1479 </dd>
1480 <dt class="hdlist1">
1481 <a href="git-filter-branch.html">git-filter-branch(1)</a>
1482 </dt>
1483 <dd>
1485 Rewrite branches.
1486 </p>
1487 </dd>
1488 <dt class="hdlist1">
1489 <a href="git-mergetool.html">git-mergetool(1)</a>
1490 </dt>
1491 <dd>
1493 Run merge conflict resolution tools to resolve merge conflicts.
1494 </p>
1495 </dd>
1496 <dt class="hdlist1">
1497 <a href="git-pack-refs.html">git-pack-refs(1)</a>
1498 </dt>
1499 <dd>
1501 Pack heads and tags for efficient repository access.
1502 </p>
1503 </dd>
1504 <dt class="hdlist1">
1505 <a href="git-prune.html">git-prune(1)</a>
1506 </dt>
1507 <dd>
1509 Prune all unreachable objects from the object database.
1510 </p>
1511 </dd>
1512 <dt class="hdlist1">
1513 <a href="git-reflog.html">git-reflog(1)</a>
1514 </dt>
1515 <dd>
1517 Manage reflog information.
1518 </p>
1519 </dd>
1520 <dt class="hdlist1">
1521 <a href="git-remote.html">git-remote(1)</a>
1522 </dt>
1523 <dd>
1525 Manage set of tracked repositories.
1526 </p>
1527 </dd>
1528 <dt class="hdlist1">
1529 <a href="git-repack.html">git-repack(1)</a>
1530 </dt>
1531 <dd>
1533 Pack unpacked objects in a repository.
1534 </p>
1535 </dd>
1536 <dt class="hdlist1">
1537 <a href="git-replace.html">git-replace(1)</a>
1538 </dt>
1539 <dd>
1541 Create, list, delete refs to replace objects.
1542 </p>
1543 </dd>
1544 </dl></div>
1545 <div class="paragraph"><p>Interrogators:</p></div>
1546 <div class="dlist"><dl>
1547 <dt class="hdlist1">
1548 <a href="git-annotate.html">git-annotate(1)</a>
1549 </dt>
1550 <dd>
1552 Annotate file lines with commit information.
1553 </p>
1554 </dd>
1555 <dt class="hdlist1">
1556 <a href="git-blame.html">git-blame(1)</a>
1557 </dt>
1558 <dd>
1560 Show what revision and author last modified each line of a file.
1561 </p>
1562 </dd>
1563 <dt class="hdlist1">
1564 <a href="git-bugreport.html">git-bugreport(1)</a>
1565 </dt>
1566 <dd>
1568 Collect information for user to file a bug report.
1569 </p>
1570 </dd>
1571 <dt class="hdlist1">
1572 <a href="git-count-objects.html">git-count-objects(1)</a>
1573 </dt>
1574 <dd>
1576 Count unpacked number of objects and their disk consumption.
1577 </p>
1578 </dd>
1579 <dt class="hdlist1">
1580 <a href="git-diagnose.html">git-diagnose(1)</a>
1581 </dt>
1582 <dd>
1584 Generate a zip archive of diagnostic information.
1585 </p>
1586 </dd>
1587 <dt class="hdlist1">
1588 <a href="git-difftool.html">git-difftool(1)</a>
1589 </dt>
1590 <dd>
1592 Show changes using common diff tools.
1593 </p>
1594 </dd>
1595 <dt class="hdlist1">
1596 <a href="git-fsck.html">git-fsck(1)</a>
1597 </dt>
1598 <dd>
1600 Verifies the connectivity and validity of the objects in the database.
1601 </p>
1602 </dd>
1603 <dt class="hdlist1">
1604 <a href="git-help.html">git-help(1)</a>
1605 </dt>
1606 <dd>
1608 Display help information about Git.
1609 </p>
1610 </dd>
1611 <dt class="hdlist1">
1612 <a href="git-instaweb.html">git-instaweb(1)</a>
1613 </dt>
1614 <dd>
1616 Instantly browse your working repository in gitweb.
1617 </p>
1618 </dd>
1619 <dt class="hdlist1">
1620 <a href="git-merge-tree.html">git-merge-tree(1)</a>
1621 </dt>
1622 <dd>
1624 Perform merge without touching index or working tree.
1625 </p>
1626 </dd>
1627 <dt class="hdlist1">
1628 <a href="git-rerere.html">git-rerere(1)</a>
1629 </dt>
1630 <dd>
1632 Reuse recorded resolution of conflicted merges.
1633 </p>
1634 </dd>
1635 <dt class="hdlist1">
1636 <a href="git-show-branch.html">git-show-branch(1)</a>
1637 </dt>
1638 <dd>
1640 Show branches and their commits.
1641 </p>
1642 </dd>
1643 <dt class="hdlist1">
1644 <a href="git-verify-commit.html">git-verify-commit(1)</a>
1645 </dt>
1646 <dd>
1648 Check the GPG signature of commits.
1649 </p>
1650 </dd>
1651 <dt class="hdlist1">
1652 <a href="git-verify-tag.html">git-verify-tag(1)</a>
1653 </dt>
1654 <dd>
1656 Check the GPG signature of tags.
1657 </p>
1658 </dd>
1659 <dt class="hdlist1">
1660 <a href="git-version.html">git-version(1)</a>
1661 </dt>
1662 <dd>
1664 Display version information about Git.
1665 </p>
1666 </dd>
1667 <dt class="hdlist1">
1668 <a href="git-whatchanged.html">git-whatchanged(1)</a>
1669 </dt>
1670 <dd>
1672 Show logs with differences each commit introduces.
1673 </p>
1674 </dd>
1675 <dt class="hdlist1">
1676 <a href="gitweb.html">gitweb(1)</a>
1677 </dt>
1678 <dd>
1680 Git web interface (web frontend to Git repositories).
1681 </p>
1682 </dd>
1683 </dl></div>
1684 </div>
1685 <div class="sect2">
1686 <h3 id="_interacting_with_others">Interacting with Others</h3>
1687 <div class="paragraph"><p>These commands are to interact with foreign SCM and with other
1688 people via patch over e-mail.</p></div>
1689 <div class="dlist"><dl>
1690 <dt class="hdlist1">
1691 <a href="git-archimport.html">git-archimport(1)</a>
1692 </dt>
1693 <dd>
1695 Import a GNU Arch repository into Git.
1696 </p>
1697 </dd>
1698 <dt class="hdlist1">
1699 <a href="git-cvsexportcommit.html">git-cvsexportcommit(1)</a>
1700 </dt>
1701 <dd>
1703 Export a single commit to a CVS checkout.
1704 </p>
1705 </dd>
1706 <dt class="hdlist1">
1707 <a href="git-cvsimport.html">git-cvsimport(1)</a>
1708 </dt>
1709 <dd>
1711 Salvage your data out of another SCM people love to hate.
1712 </p>
1713 </dd>
1714 <dt class="hdlist1">
1715 <a href="git-cvsserver.html">git-cvsserver(1)</a>
1716 </dt>
1717 <dd>
1719 A CVS server emulator for Git.
1720 </p>
1721 </dd>
1722 <dt class="hdlist1">
1723 <a href="git-imap-send.html">git-imap-send(1)</a>
1724 </dt>
1725 <dd>
1727 Send a collection of patches from stdin to an IMAP folder.
1728 </p>
1729 </dd>
1730 <dt class="hdlist1">
1731 <a href="git-p4.html">git-p4(1)</a>
1732 </dt>
1733 <dd>
1735 Import from and submit to Perforce repositories.
1736 </p>
1737 </dd>
1738 <dt class="hdlist1">
1739 <a href="git-quiltimport.html">git-quiltimport(1)</a>
1740 </dt>
1741 <dd>
1743 Applies a quilt patchset onto the current branch.
1744 </p>
1745 </dd>
1746 <dt class="hdlist1">
1747 <a href="git-request-pull.html">git-request-pull(1)</a>
1748 </dt>
1749 <dd>
1751 Generates a summary of pending changes.
1752 </p>
1753 </dd>
1754 <dt class="hdlist1">
1755 <a href="git-send-email.html">git-send-email(1)</a>
1756 </dt>
1757 <dd>
1759 Send a collection of patches as emails.
1760 </p>
1761 </dd>
1762 <dt class="hdlist1">
1763 <a href="git-svn.html">git-svn(1)</a>
1764 </dt>
1765 <dd>
1767 Bidirectional operation between a Subversion repository and Git.
1768 </p>
1769 </dd>
1770 </dl></div>
1771 </div>
1772 <div class="sect2">
1773 <h3 id="_reset_restore_and_revert">Reset, restore and revert</h3>
1774 <div class="paragraph"><p>There are three commands with similar names: <code>git reset</code>,
1775 <code>git restore</code> and <code>git revert</code>.</p></div>
1776 <div class="ulist"><ul>
1777 <li>
1779 <a href="git-revert.html">git-revert(1)</a> is about making a new commit that reverts the
1780 changes made by other commits.
1781 </p>
1782 </li>
1783 <li>
1785 <a href="git-restore.html">git-restore(1)</a> is about restoring files in the working tree
1786 from either the index or another commit. This command does not
1787 update your branch. The command can also be used to restore files in
1788 the index from another commit.
1789 </p>
1790 </li>
1791 <li>
1793 <a href="git-reset.html">git-reset(1)</a> is about updating your branch, moving the tip
1794 in order to add or remove commits from the branch. This operation
1795 changes the commit history.
1796 </p>
1797 <div class="paragraph"><p><code>git reset</code> can also be used to restore the index, overlapping with
1798 <code>git restore</code>.</p></div>
1799 </li>
1800 </ul></div>
1801 </div>
1802 </div>
1803 </div>
1804 <div class="sect1">
1805 <h2 id="_low_level_commands_plumbing">Low-level commands (plumbing)</h2>
1806 <div class="sectionbody">
1807 <div class="paragraph"><p>Although Git includes its
1808 own porcelain layer, its low-level commands are sufficient to support
1809 development of alternative porcelains. Developers of such porcelains
1810 might start by reading about <a href="git-update-index.html">git-update-index(1)</a> and
1811 <a href="git-read-tree.html">git-read-tree(1)</a>.</p></div>
1812 <div class="paragraph"><p>The interface (input, output, set of options and the semantics)
1813 to these low-level commands are meant to be a lot more stable
1814 than Porcelain level commands, because these commands are
1815 primarily for scripted use. The interface to Porcelain commands
1816 on the other hand are subject to change in order to improve the
1817 end user experience.</p></div>
1818 <div class="paragraph"><p>The following description divides
1819 the low-level commands into commands that manipulate objects (in
1820 the repository, index, and working tree), commands that interrogate and
1821 compare objects, and commands that move objects and references between
1822 repositories.</p></div>
1823 <div class="sect2">
1824 <h3 id="_manipulation_commands">Manipulation commands</h3>
1825 <div class="dlist"><dl>
1826 <dt class="hdlist1">
1827 <a href="git-apply.html">git-apply(1)</a>
1828 </dt>
1829 <dd>
1831 Apply a patch to files and/or to the index.
1832 </p>
1833 </dd>
1834 <dt class="hdlist1">
1835 <a href="git-checkout-index.html">git-checkout-index(1)</a>
1836 </dt>
1837 <dd>
1839 Copy files from the index to the working tree.
1840 </p>
1841 </dd>
1842 <dt class="hdlist1">
1843 <a href="git-commit-graph.html">git-commit-graph(1)</a>
1844 </dt>
1845 <dd>
1847 Write and verify Git commit-graph files.
1848 </p>
1849 </dd>
1850 <dt class="hdlist1">
1851 <a href="git-commit-tree.html">git-commit-tree(1)</a>
1852 </dt>
1853 <dd>
1855 Create a new commit object.
1856 </p>
1857 </dd>
1858 <dt class="hdlist1">
1859 <a href="git-hash-object.html">git-hash-object(1)</a>
1860 </dt>
1861 <dd>
1863 Compute object ID and optionally create an object from a file.
1864 </p>
1865 </dd>
1866 <dt class="hdlist1">
1867 <a href="git-index-pack.html">git-index-pack(1)</a>
1868 </dt>
1869 <dd>
1871 Build pack index file for an existing packed archive.
1872 </p>
1873 </dd>
1874 <dt class="hdlist1">
1875 <a href="git-merge-file.html">git-merge-file(1)</a>
1876 </dt>
1877 <dd>
1879 Run a three-way file merge.
1880 </p>
1881 </dd>
1882 <dt class="hdlist1">
1883 <a href="git-merge-index.html">git-merge-index(1)</a>
1884 </dt>
1885 <dd>
1887 Run a merge for files needing merging.
1888 </p>
1889 </dd>
1890 <dt class="hdlist1">
1891 <a href="git-mktag.html">git-mktag(1)</a>
1892 </dt>
1893 <dd>
1895 Creates a tag object with extra validation.
1896 </p>
1897 </dd>
1898 <dt class="hdlist1">
1899 <a href="git-mktree.html">git-mktree(1)</a>
1900 </dt>
1901 <dd>
1903 Build a tree-object from ls-tree formatted text.
1904 </p>
1905 </dd>
1906 <dt class="hdlist1">
1907 <a href="git-multi-pack-index.html">git-multi-pack-index(1)</a>
1908 </dt>
1909 <dd>
1911 Write and verify multi-pack-indexes.
1912 </p>
1913 </dd>
1914 <dt class="hdlist1">
1915 <a href="git-pack-objects.html">git-pack-objects(1)</a>
1916 </dt>
1917 <dd>
1919 Create a packed archive of objects.
1920 </p>
1921 </dd>
1922 <dt class="hdlist1">
1923 <a href="git-prune-packed.html">git-prune-packed(1)</a>
1924 </dt>
1925 <dd>
1927 Remove extra objects that are already in pack files.
1928 </p>
1929 </dd>
1930 <dt class="hdlist1">
1931 <a href="git-read-tree.html">git-read-tree(1)</a>
1932 </dt>
1933 <dd>
1935 Reads tree information into the index.
1936 </p>
1937 </dd>
1938 <dt class="hdlist1">
1939 <a href="git-replay.html">git-replay(1)</a>
1940 </dt>
1941 <dd>
1943 EXPERIMENTAL: Replay commits on a new base, works with bare repos too.
1944 </p>
1945 </dd>
1946 <dt class="hdlist1">
1947 <a href="git-symbolic-ref.html">git-symbolic-ref(1)</a>
1948 </dt>
1949 <dd>
1951 Read, modify and delete symbolic refs.
1952 </p>
1953 </dd>
1954 <dt class="hdlist1">
1955 <a href="git-unpack-objects.html">git-unpack-objects(1)</a>
1956 </dt>
1957 <dd>
1959 Unpack objects from a packed archive.
1960 </p>
1961 </dd>
1962 <dt class="hdlist1">
1963 <a href="git-update-index.html">git-update-index(1)</a>
1964 </dt>
1965 <dd>
1967 Register file contents in the working tree to the index.
1968 </p>
1969 </dd>
1970 <dt class="hdlist1">
1971 <a href="git-update-ref.html">git-update-ref(1)</a>
1972 </dt>
1973 <dd>
1975 Update the object name stored in a ref safely.
1976 </p>
1977 </dd>
1978 <dt class="hdlist1">
1979 <a href="git-write-tree.html">git-write-tree(1)</a>
1980 </dt>
1981 <dd>
1983 Create a tree object from the current index.
1984 </p>
1985 </dd>
1986 </dl></div>
1987 </div>
1988 <div class="sect2">
1989 <h3 id="_interrogation_commands">Interrogation commands</h3>
1990 <div class="dlist"><dl>
1991 <dt class="hdlist1">
1992 <a href="git-cat-file.html">git-cat-file(1)</a>
1993 </dt>
1994 <dd>
1996 Provide contents or details of repository objects.
1997 </p>
1998 </dd>
1999 <dt class="hdlist1">
2000 <a href="git-cherry.html">git-cherry(1)</a>
2001 </dt>
2002 <dd>
2004 Find commits yet to be applied to upstream.
2005 </p>
2006 </dd>
2007 <dt class="hdlist1">
2008 <a href="git-diff-files.html">git-diff-files(1)</a>
2009 </dt>
2010 <dd>
2012 Compares files in the working tree and the index.
2013 </p>
2014 </dd>
2015 <dt class="hdlist1">
2016 <a href="git-diff-index.html">git-diff-index(1)</a>
2017 </dt>
2018 <dd>
2020 Compare a tree to the working tree or index.
2021 </p>
2022 </dd>
2023 <dt class="hdlist1">
2024 <a href="git-diff-tree.html">git-diff-tree(1)</a>
2025 </dt>
2026 <dd>
2028 Compares the content and mode of blobs found via two tree objects.
2029 </p>
2030 </dd>
2031 <dt class="hdlist1">
2032 <a href="git-for-each-ref.html">git-for-each-ref(1)</a>
2033 </dt>
2034 <dd>
2036 Output information on each ref.
2037 </p>
2038 </dd>
2039 <dt class="hdlist1">
2040 <a href="git-for-each-repo.html">git-for-each-repo(1)</a>
2041 </dt>
2042 <dd>
2044 Run a Git command on a list of repositories.
2045 </p>
2046 </dd>
2047 <dt class="hdlist1">
2048 <a href="git-get-tar-commit-id.html">git-get-tar-commit-id(1)</a>
2049 </dt>
2050 <dd>
2052 Extract commit ID from an archive created using git-archive.
2053 </p>
2054 </dd>
2055 <dt class="hdlist1">
2056 <a href="git-ls-files.html">git-ls-files(1)</a>
2057 </dt>
2058 <dd>
2060 Show information about files in the index and the working tree.
2061 </p>
2062 </dd>
2063 <dt class="hdlist1">
2064 <a href="git-ls-remote.html">git-ls-remote(1)</a>
2065 </dt>
2066 <dd>
2068 List references in a remote repository.
2069 </p>
2070 </dd>
2071 <dt class="hdlist1">
2072 <a href="git-ls-tree.html">git-ls-tree(1)</a>
2073 </dt>
2074 <dd>
2076 List the contents of a tree object.
2077 </p>
2078 </dd>
2079 <dt class="hdlist1">
2080 <a href="git-merge-base.html">git-merge-base(1)</a>
2081 </dt>
2082 <dd>
2084 Find as good common ancestors as possible for a merge.
2085 </p>
2086 </dd>
2087 <dt class="hdlist1">
2088 <a href="git-name-rev.html">git-name-rev(1)</a>
2089 </dt>
2090 <dd>
2092 Find symbolic names for given revs.
2093 </p>
2094 </dd>
2095 <dt class="hdlist1">
2096 <a href="git-pack-redundant.html">git-pack-redundant(1)</a>
2097 </dt>
2098 <dd>
2100 Find redundant pack files.
2101 </p>
2102 </dd>
2103 <dt class="hdlist1">
2104 <a href="git-rev-list.html">git-rev-list(1)</a>
2105 </dt>
2106 <dd>
2108 Lists commit objects in reverse chronological order.
2109 </p>
2110 </dd>
2111 <dt class="hdlist1">
2112 <a href="git-rev-parse.html">git-rev-parse(1)</a>
2113 </dt>
2114 <dd>
2116 Pick out and massage parameters.
2117 </p>
2118 </dd>
2119 <dt class="hdlist1">
2120 <a href="git-show-index.html">git-show-index(1)</a>
2121 </dt>
2122 <dd>
2124 Show packed archive index.
2125 </p>
2126 </dd>
2127 <dt class="hdlist1">
2128 <a href="git-show-ref.html">git-show-ref(1)</a>
2129 </dt>
2130 <dd>
2132 List references in a local repository.
2133 </p>
2134 </dd>
2135 <dt class="hdlist1">
2136 <a href="git-unpack-file.html">git-unpack-file(1)</a>
2137 </dt>
2138 <dd>
2140 Creates a temporary file with a blob&#8217;s contents.
2141 </p>
2142 </dd>
2143 <dt class="hdlist1">
2144 <a href="git-var.html">git-var(1)</a>
2145 </dt>
2146 <dd>
2148 Show a Git logical variable.
2149 </p>
2150 </dd>
2151 <dt class="hdlist1">
2152 <a href="git-verify-pack.html">git-verify-pack(1)</a>
2153 </dt>
2154 <dd>
2156 Validate packed Git archive files.
2157 </p>
2158 </dd>
2159 </dl></div>
2160 <div class="paragraph"><p>In general, the interrogate commands do not touch the files in
2161 the working tree.</p></div>
2162 </div>
2163 <div class="sect2">
2164 <h3 id="_syncing_repositories">Syncing repositories</h3>
2165 <div class="dlist"><dl>
2166 <dt class="hdlist1">
2167 <a href="git-daemon.html">git-daemon(1)</a>
2168 </dt>
2169 <dd>
2171 A really simple server for Git repositories.
2172 </p>
2173 </dd>
2174 <dt class="hdlist1">
2175 <a href="git-fetch-pack.html">git-fetch-pack(1)</a>
2176 </dt>
2177 <dd>
2179 Receive missing objects from another repository.
2180 </p>
2181 </dd>
2182 <dt class="hdlist1">
2183 <a href="git-http-backend.html">git-http-backend(1)</a>
2184 </dt>
2185 <dd>
2187 Server side implementation of Git over HTTP.
2188 </p>
2189 </dd>
2190 <dt class="hdlist1">
2191 <a href="git-send-pack.html">git-send-pack(1)</a>
2192 </dt>
2193 <dd>
2195 Push objects over Git protocol to another repository.
2196 </p>
2197 </dd>
2198 <dt class="hdlist1">
2199 <a href="git-update-server-info.html">git-update-server-info(1)</a>
2200 </dt>
2201 <dd>
2203 Update auxiliary info file to help dumb servers.
2204 </p>
2205 </dd>
2206 </dl></div>
2207 <div class="paragraph"><p>The following are helper commands used by the above; end users
2208 typically do not use them directly.</p></div>
2209 <div class="dlist"><dl>
2210 <dt class="hdlist1">
2211 <a href="git-http-fetch.html">git-http-fetch(1)</a>
2212 </dt>
2213 <dd>
2215 Download from a remote Git repository via HTTP.
2216 </p>
2217 </dd>
2218 <dt class="hdlist1">
2219 <a href="git-http-push.html">git-http-push(1)</a>
2220 </dt>
2221 <dd>
2223 Push objects over HTTP/DAV to another repository.
2224 </p>
2225 </dd>
2226 <dt class="hdlist1">
2227 <a href="git-receive-pack.html">git-receive-pack(1)</a>
2228 </dt>
2229 <dd>
2231 Receive what is pushed into the repository.
2232 </p>
2233 </dd>
2234 <dt class="hdlist1">
2235 <a href="git-shell.html">git-shell(1)</a>
2236 </dt>
2237 <dd>
2239 Restricted login shell for Git-only SSH access.
2240 </p>
2241 </dd>
2242 <dt class="hdlist1">
2243 <a href="git-upload-archive.html">git-upload-archive(1)</a>
2244 </dt>
2245 <dd>
2247 Send archive back to git-archive.
2248 </p>
2249 </dd>
2250 <dt class="hdlist1">
2251 <a href="git-upload-pack.html">git-upload-pack(1)</a>
2252 </dt>
2253 <dd>
2255 Send objects packed back to git-fetch-pack.
2256 </p>
2257 </dd>
2258 </dl></div>
2259 </div>
2260 <div class="sect2">
2261 <h3 id="_internal_helper_commands">Internal helper commands</h3>
2262 <div class="paragraph"><p>These are internal helper commands used by other commands; end
2263 users typically do not use them directly.</p></div>
2264 <div class="dlist"><dl>
2265 <dt class="hdlist1">
2266 <a href="git-check-attr.html">git-check-attr(1)</a>
2267 </dt>
2268 <dd>
2270 Display gitattributes information.
2271 </p>
2272 </dd>
2273 <dt class="hdlist1">
2274 <a href="git-check-ignore.html">git-check-ignore(1)</a>
2275 </dt>
2276 <dd>
2278 Debug gitignore / exclude files.
2279 </p>
2280 </dd>
2281 <dt class="hdlist1">
2282 <a href="git-check-mailmap.html">git-check-mailmap(1)</a>
2283 </dt>
2284 <dd>
2286 Show canonical names and email addresses of contacts.
2287 </p>
2288 </dd>
2289 <dt class="hdlist1">
2290 <a href="git-check-ref-format.html">git-check-ref-format(1)</a>
2291 </dt>
2292 <dd>
2294 Ensures that a reference name is well formed.
2295 </p>
2296 </dd>
2297 <dt class="hdlist1">
2298 <a href="git-column.html">git-column(1)</a>
2299 </dt>
2300 <dd>
2302 Display data in columns.
2303 </p>
2304 </dd>
2305 <dt class="hdlist1">
2306 <a href="git-credential.html">git-credential(1)</a>
2307 </dt>
2308 <dd>
2310 Retrieve and store user credentials.
2311 </p>
2312 </dd>
2313 <dt class="hdlist1">
2314 <a href="git-credential-cache.html">git-credential-cache(1)</a>
2315 </dt>
2316 <dd>
2318 Helper to temporarily store passwords in memory.
2319 </p>
2320 </dd>
2321 <dt class="hdlist1">
2322 <a href="git-credential-store.html">git-credential-store(1)</a>
2323 </dt>
2324 <dd>
2326 Helper to store credentials on disk.
2327 </p>
2328 </dd>
2329 <dt class="hdlist1">
2330 <a href="git-fmt-merge-msg.html">git-fmt-merge-msg(1)</a>
2331 </dt>
2332 <dd>
2334 Produce a merge commit message.
2335 </p>
2336 </dd>
2337 <dt class="hdlist1">
2338 <a href="git-hook.html">git-hook(1)</a>
2339 </dt>
2340 <dd>
2342 Run git hooks.
2343 </p>
2344 </dd>
2345 <dt class="hdlist1">
2346 <a href="git-interpret-trailers.html">git-interpret-trailers(1)</a>
2347 </dt>
2348 <dd>
2350 Add or parse structured information in commit messages.
2351 </p>
2352 </dd>
2353 <dt class="hdlist1">
2354 <a href="git-mailinfo.html">git-mailinfo(1)</a>
2355 </dt>
2356 <dd>
2358 Extracts patch and authorship from a single e-mail message.
2359 </p>
2360 </dd>
2361 <dt class="hdlist1">
2362 <a href="git-mailsplit.html">git-mailsplit(1)</a>
2363 </dt>
2364 <dd>
2366 Simple UNIX mbox splitter program.
2367 </p>
2368 </dd>
2369 <dt class="hdlist1">
2370 <a href="git-merge-one-file.html">git-merge-one-file(1)</a>
2371 </dt>
2372 <dd>
2374 The standard helper program to use with git-merge-index.
2375 </p>
2376 </dd>
2377 <dt class="hdlist1">
2378 <a href="git-patch-id.html">git-patch-id(1)</a>
2379 </dt>
2380 <dd>
2382 Compute unique ID for a patch.
2383 </p>
2384 </dd>
2385 <dt class="hdlist1">
2386 <a href="git-sh-i18n.html">git-sh-i18n(1)</a>
2387 </dt>
2388 <dd>
2390 Git&#8217;s i18n setup code for shell scripts.
2391 </p>
2392 </dd>
2393 <dt class="hdlist1">
2394 <a href="git-sh-setup.html">git-sh-setup(1)</a>
2395 </dt>
2396 <dd>
2398 Common Git shell script setup code.
2399 </p>
2400 </dd>
2401 <dt class="hdlist1">
2402 <a href="git-stripspace.html">git-stripspace(1)</a>
2403 </dt>
2404 <dd>
2406 Remove unnecessary whitespace.
2407 </p>
2408 </dd>
2409 </dl></div>
2410 </div>
2411 </div>
2412 </div>
2413 <div class="sect1">
2414 <h2 id="_guides">Guides</h2>
2415 <div class="sectionbody">
2416 <div class="paragraph"><p>The following documentation pages are guides about Git concepts.</p></div>
2417 <div class="dlist"><dl>
2418 <dt class="hdlist1">
2419 <a href="gitcore-tutorial.html">gitcore-tutorial(7)</a>
2420 </dt>
2421 <dd>
2423 A Git core tutorial for developers.
2424 </p>
2425 </dd>
2426 <dt class="hdlist1">
2427 <a href="gitcredentials.html">gitcredentials(7)</a>
2428 </dt>
2429 <dd>
2431 Providing usernames and passwords to Git.
2432 </p>
2433 </dd>
2434 <dt class="hdlist1">
2435 <a href="gitcvs-migration.html">gitcvs-migration(7)</a>
2436 </dt>
2437 <dd>
2439 Git for CVS users.
2440 </p>
2441 </dd>
2442 <dt class="hdlist1">
2443 <a href="gitdiffcore.html">gitdiffcore(7)</a>
2444 </dt>
2445 <dd>
2447 Tweaking diff output.
2448 </p>
2449 </dd>
2450 <dt class="hdlist1">
2451 <a href="giteveryday.html">giteveryday(7)</a>
2452 </dt>
2453 <dd>
2455 A useful minimum set of commands for Everyday Git.
2456 </p>
2457 </dd>
2458 <dt class="hdlist1">
2459 <a href="gitfaq.html">gitfaq(7)</a>
2460 </dt>
2461 <dd>
2463 Frequently asked questions about using Git.
2464 </p>
2465 </dd>
2466 <dt class="hdlist1">
2467 <a href="gitglossary.html">gitglossary(7)</a>
2468 </dt>
2469 <dd>
2471 A Git Glossary.
2472 </p>
2473 </dd>
2474 <dt class="hdlist1">
2475 <a href="gitnamespaces.html">gitnamespaces(7)</a>
2476 </dt>
2477 <dd>
2479 Git namespaces.
2480 </p>
2481 </dd>
2482 <dt class="hdlist1">
2483 <a href="gitremote-helpers.html">gitremote-helpers(7)</a>
2484 </dt>
2485 <dd>
2487 Helper programs to interact with remote repositories.
2488 </p>
2489 </dd>
2490 <dt class="hdlist1">
2491 <a href="gitsubmodules.html">gitsubmodules(7)</a>
2492 </dt>
2493 <dd>
2495 Mounting one repository inside another.
2496 </p>
2497 </dd>
2498 <dt class="hdlist1">
2499 <a href="gittutorial.html">gittutorial(7)</a>
2500 </dt>
2501 <dd>
2503 A tutorial introduction to Git.
2504 </p>
2505 </dd>
2506 <dt class="hdlist1">
2507 <a href="gittutorial-2.html">gittutorial-2(7)</a>
2508 </dt>
2509 <dd>
2511 A tutorial introduction to Git: part two.
2512 </p>
2513 </dd>
2514 <dt class="hdlist1">
2515 <a href="gitworkflows.html">gitworkflows(7)</a>
2516 </dt>
2517 <dd>
2519 An overview of recommended workflows with Git.
2520 </p>
2521 </dd>
2522 </dl></div>
2523 </div>
2524 </div>
2525 <div class="sect1">
2526 <h2 id="_repository_command_and_file_interfaces">Repository, command and file interfaces</h2>
2527 <div class="sectionbody">
2528 <div class="paragraph"><p>This documentation discusses repository and command interfaces which
2529 users are expected to interact with directly. See <code>--user-formats</code> in
2530 <a href="git-help.html">git-help(1)</a> for more details on the criteria.</p></div>
2531 <div class="dlist"><dl>
2532 <dt class="hdlist1">
2533 <a href="gitattributes.html">gitattributes(5)</a>
2534 </dt>
2535 <dd>
2537 Defining attributes per path.
2538 </p>
2539 </dd>
2540 <dt class="hdlist1">
2541 <a href="gitcli.html">gitcli(7)</a>
2542 </dt>
2543 <dd>
2545 Git command-line interface and conventions.
2546 </p>
2547 </dd>
2548 <dt class="hdlist1">
2549 <a href="githooks.html">githooks(5)</a>
2550 </dt>
2551 <dd>
2553 Hooks used by Git.
2554 </p>
2555 </dd>
2556 <dt class="hdlist1">
2557 <a href="gitignore.html">gitignore(5)</a>
2558 </dt>
2559 <dd>
2561 Specifies intentionally untracked files to ignore.
2562 </p>
2563 </dd>
2564 <dt class="hdlist1">
2565 <a href="gitmailmap.html">gitmailmap(5)</a>
2566 </dt>
2567 <dd>
2569 Map author/committer names and/or E-Mail addresses.
2570 </p>
2571 </dd>
2572 <dt class="hdlist1">
2573 <a href="gitmodules.html">gitmodules(5)</a>
2574 </dt>
2575 <dd>
2577 Defining submodule properties.
2578 </p>
2579 </dd>
2580 <dt class="hdlist1">
2581 <a href="gitrepository-layout.html">gitrepository-layout(5)</a>
2582 </dt>
2583 <dd>
2585 Git Repository Layout.
2586 </p>
2587 </dd>
2588 <dt class="hdlist1">
2589 <a href="gitrevisions.html">gitrevisions(7)</a>
2590 </dt>
2591 <dd>
2593 Specifying revisions and ranges for Git.
2594 </p>
2595 </dd>
2596 </dl></div>
2597 </div>
2598 </div>
2599 <div class="sect1">
2600 <h2 id="_file_formats_protocols_and_other_developer_interfaces">File formats, protocols and other developer interfaces</h2>
2601 <div class="sectionbody">
2602 <div class="paragraph"><p>This documentation discusses file formats, over-the-wire protocols and
2603 other git developer interfaces. See <code>--developer-interfaces</code> in
2604 <a href="git-help.html">git-help(1)</a>.</p></div>
2605 <div class="dlist"><dl>
2606 <dt class="hdlist1">
2607 <a href="gitformat-bundle.html">gitformat-bundle(5)</a>
2608 </dt>
2609 <dd>
2611 The bundle file format.
2612 </p>
2613 </dd>
2614 <dt class="hdlist1">
2615 <a href="gitformat-chunk.html">gitformat-chunk(5)</a>
2616 </dt>
2617 <dd>
2619 Chunk-based file formats.
2620 </p>
2621 </dd>
2622 <dt class="hdlist1">
2623 <a href="gitformat-commit-graph.html">gitformat-commit-graph(5)</a>
2624 </dt>
2625 <dd>
2627 Git commit-graph format.
2628 </p>
2629 </dd>
2630 <dt class="hdlist1">
2631 <a href="gitformat-index.html">gitformat-index(5)</a>
2632 </dt>
2633 <dd>
2635 Git index format.
2636 </p>
2637 </dd>
2638 <dt class="hdlist1">
2639 <a href="gitformat-pack.html">gitformat-pack(5)</a>
2640 </dt>
2641 <dd>
2643 Git pack format.
2644 </p>
2645 </dd>
2646 <dt class="hdlist1">
2647 <a href="gitformat-signature.html">gitformat-signature(5)</a>
2648 </dt>
2649 <dd>
2651 Git cryptographic signature formats.
2652 </p>
2653 </dd>
2654 <dt class="hdlist1">
2655 <a href="gitprotocol-capabilities.html">gitprotocol-capabilities(5)</a>
2656 </dt>
2657 <dd>
2659 Protocol v0 and v1 capabilities.
2660 </p>
2661 </dd>
2662 <dt class="hdlist1">
2663 <a href="gitprotocol-common.html">gitprotocol-common(5)</a>
2664 </dt>
2665 <dd>
2667 Things common to various protocols.
2668 </p>
2669 </dd>
2670 <dt class="hdlist1">
2671 <a href="gitprotocol-http.html">gitprotocol-http(5)</a>
2672 </dt>
2673 <dd>
2675 Git HTTP-based protocols.
2676 </p>
2677 </dd>
2678 <dt class="hdlist1">
2679 <a href="gitprotocol-pack.html">gitprotocol-pack(5)</a>
2680 </dt>
2681 <dd>
2683 How packs are transferred over-the-wire.
2684 </p>
2685 </dd>
2686 <dt class="hdlist1">
2687 <a href="gitprotocol-v2.html">gitprotocol-v2(5)</a>
2688 </dt>
2689 <dd>
2691 Git Wire Protocol, Version 2.
2692 </p>
2693 </dd>
2694 </dl></div>
2695 </div>
2696 </div>
2697 <div class="sect1">
2698 <h2 id="_configuration_mechanism">Configuration Mechanism</h2>
2699 <div class="sectionbody">
2700 <div class="paragraph"><p>Git uses a simple text format to store customizations that are per
2701 repository and are per user. Such a configuration file may look
2702 like this:</p></div>
2703 <div class="listingblock">
2704 <div class="content">
2705 <pre><code>#
2706 # A '#' or ';' character indicates a comment.
2709 ; core variables
2710 [core]
2711 ; Don't trust file modes
2712 filemode = false
2714 ; user identity
2715 [user]
2716 name = "Junio C Hamano"
2717 email = "gitster@pobox.com"</code></pre>
2718 </div></div>
2719 <div class="paragraph"><p>Various commands read from the configuration file and adjust
2720 their operation accordingly. See <a href="git-config.html">git-config(1)</a> for a
2721 list and more details about the configuration mechanism.</p></div>
2722 </div>
2723 </div>
2724 <div class="sect1">
2725 <h2 id="_identifier_terminology">Identifier Terminology</h2>
2726 <div class="sectionbody">
2727 <div class="dlist"><dl>
2728 <dt class="hdlist1">
2729 &lt;object&gt;
2730 </dt>
2731 <dd>
2733 Indicates the object name for any type of object.
2734 </p>
2735 </dd>
2736 <dt class="hdlist1">
2737 &lt;blob&gt;
2738 </dt>
2739 <dd>
2741 Indicates a blob object name.
2742 </p>
2743 </dd>
2744 <dt class="hdlist1">
2745 &lt;tree&gt;
2746 </dt>
2747 <dd>
2749 Indicates a tree object name.
2750 </p>
2751 </dd>
2752 <dt class="hdlist1">
2753 &lt;commit&gt;
2754 </dt>
2755 <dd>
2757 Indicates a commit object name.
2758 </p>
2759 </dd>
2760 <dt class="hdlist1">
2761 &lt;tree-ish&gt;
2762 </dt>
2763 <dd>
2765 Indicates a tree, commit or tag object name. A
2766 command that takes a &lt;tree-ish&gt; argument ultimately wants to
2767 operate on a &lt;tree&gt; object but automatically dereferences
2768 &lt;commit&gt; and &lt;tag&gt; objects that point at a &lt;tree&gt;.
2769 </p>
2770 </dd>
2771 <dt class="hdlist1">
2772 &lt;commit-ish&gt;
2773 </dt>
2774 <dd>
2776 Indicates a commit or tag object name. A
2777 command that takes a &lt;commit-ish&gt; argument ultimately wants to
2778 operate on a &lt;commit&gt; object but automatically dereferences
2779 &lt;tag&gt; objects that point at a &lt;commit&gt;.
2780 </p>
2781 </dd>
2782 <dt class="hdlist1">
2783 &lt;type&gt;
2784 </dt>
2785 <dd>
2787 Indicates that an object type is required.
2788 Currently one of: <code>blob</code>, <code>tree</code>, <code>commit</code>, or <code>tag</code>.
2789 </p>
2790 </dd>
2791 <dt class="hdlist1">
2792 &lt;file&gt;
2793 </dt>
2794 <dd>
2796 Indicates a filename - almost always relative to the
2797 root of the tree structure <code>GIT_INDEX_FILE</code> describes.
2798 </p>
2799 </dd>
2800 </dl></div>
2801 </div>
2802 </div>
2803 <div class="sect1">
2804 <h2 id="_symbolic_identifiers">Symbolic Identifiers</h2>
2805 <div class="sectionbody">
2806 <div class="paragraph"><p>Any Git command accepting any &lt;object&gt; can also use the following
2807 symbolic notation:</p></div>
2808 <div class="dlist"><dl>
2809 <dt class="hdlist1">
2810 HEAD
2811 </dt>
2812 <dd>
2814 indicates the head of the current branch.
2815 </p>
2816 </dd>
2817 <dt class="hdlist1">
2818 &lt;tag&gt;
2819 </dt>
2820 <dd>
2822 a valid tag <em>name</em>
2823 (i.e. a <code>refs/tags/&lt;tag&gt;</code> reference).
2824 </p>
2825 </dd>
2826 <dt class="hdlist1">
2827 &lt;head&gt;
2828 </dt>
2829 <dd>
2831 a valid head <em>name</em>
2832 (i.e. a <code>refs/heads/&lt;head&gt;</code> reference).
2833 </p>
2834 </dd>
2835 </dl></div>
2836 <div class="paragraph"><p>For a more complete list of ways to spell object names, see
2837 "SPECIFYING REVISIONS" section in <a href="gitrevisions.html">gitrevisions(7)</a>.</p></div>
2838 </div>
2839 </div>
2840 <div class="sect1">
2841 <h2 id="_file_directory_structure">File/Directory Structure</h2>
2842 <div class="sectionbody">
2843 <div class="paragraph"><p>Please see the <a href="gitrepository-layout.html">gitrepository-layout(5)</a> document.</p></div>
2844 <div class="paragraph"><p>Read <a href="githooks.html">githooks(5)</a> for more details about each hook.</p></div>
2845 <div class="paragraph"><p>Higher level SCMs may provide and manage additional information in the
2846 <code>$GIT_DIR</code>.</p></div>
2847 </div>
2848 </div>
2849 <div class="sect1">
2850 <h2 id="_terminology">Terminology</h2>
2851 <div class="sectionbody">
2852 <div class="paragraph"><p>Please see <a href="gitglossary.html">gitglossary(7)</a>.</p></div>
2853 </div>
2854 </div>
2855 <div class="sect1">
2856 <h2 id="_environment_variables">Environment Variables</h2>
2857 <div class="sectionbody">
2858 <div class="paragraph"><p>Various Git commands pay attention to environment variables and change
2859 their behavior. The environment variables marked as "Boolean" take
2860 their values the same way as Boolean valued configuration variables, e.g.
2861 "true", "yes", "on" and positive numbers are taken as "yes".</p></div>
2862 <div class="paragraph"><p>Here are the variables:</p></div>
2863 <div class="sect2">
2864 <h3 id="_the_git_repository">The Git Repository</h3>
2865 <div class="paragraph"><p>These environment variables apply to <em>all</em> core Git commands. Nb: it
2866 is worth noting that they may be used/overridden by SCMS sitting above
2867 Git so take care if using a foreign front-end.</p></div>
2868 <div class="dlist"><dl>
2869 <dt class="hdlist1">
2870 <code>GIT_INDEX_FILE</code>
2871 </dt>
2872 <dd>
2874 This environment variable specifies an alternate
2875 index file. If not specified, the default of <code>$GIT_DIR/index</code>
2876 is used.
2877 </p>
2878 </dd>
2879 <dt class="hdlist1">
2880 <code>GIT_INDEX_VERSION</code>
2881 </dt>
2882 <dd>
2884 This environment variable specifies what index version is used
2885 when writing the index file out. It won&#8217;t affect existing index
2886 files. By default index file version 2 or 3 is used. See
2887 <a href="git-update-index.html">git-update-index(1)</a> for more information.
2888 </p>
2889 </dd>
2890 <dt class="hdlist1">
2891 <code>GIT_OBJECT_DIRECTORY</code>
2892 </dt>
2893 <dd>
2895 If the object storage directory is specified via this
2896 environment variable then the sha1 directories are created
2897 underneath - otherwise the default <code>$GIT_DIR/objects</code>
2898 directory is used.
2899 </p>
2900 </dd>
2901 <dt class="hdlist1">
2902 <code>GIT_ALTERNATE_OBJECT_DIRECTORIES</code>
2903 </dt>
2904 <dd>
2906 Due to the immutable nature of Git objects, old objects can be
2907 archived into shared, read-only directories. This variable
2908 specifies a ":" separated (on Windows ";" separated) list
2909 of Git object directories which can be used to search for Git
2910 objects. New objects will not be written to these directories.
2911 </p>
2912 <div class="paragraph"><p>Entries that begin with <code>"</code> (double-quote) will be interpreted
2913 as C-style quoted paths, removing leading and trailing
2914 double-quotes and respecting backslash escapes. E.g., the value
2915 <code>"path-with-\"-and-:-in-it":vanilla-path</code> has two paths:
2916 <code>path-with-"-and-:-in-it</code> and <code>vanilla-path</code>.</p></div>
2917 </dd>
2918 <dt class="hdlist1">
2919 <code>GIT_DIR</code>
2920 </dt>
2921 <dd>
2923 If the <code>GIT_DIR</code> environment variable is set then it
2924 specifies a path to use instead of the default <code>.git</code>
2925 for the base of the repository.
2926 The <code>--git-dir</code> command-line option also sets this value.
2927 </p>
2928 </dd>
2929 <dt class="hdlist1">
2930 <code>GIT_WORK_TREE</code>
2931 </dt>
2932 <dd>
2934 Set the path to the root of the working tree.
2935 This can also be controlled by the <code>--work-tree</code> command-line
2936 option and the core.worktree configuration variable.
2937 </p>
2938 </dd>
2939 <dt class="hdlist1">
2940 <code>GIT_NAMESPACE</code>
2941 </dt>
2942 <dd>
2944 Set the Git namespace; see <a href="gitnamespaces.html">gitnamespaces(7)</a> for details.
2945 The <code>--namespace</code> command-line option also sets this value.
2946 </p>
2947 </dd>
2948 <dt class="hdlist1">
2949 <code>GIT_CEILING_DIRECTORIES</code>
2950 </dt>
2951 <dd>
2953 This should be a colon-separated list of absolute paths. If
2954 set, it is a list of directories that Git should not chdir up
2955 into while looking for a repository directory (useful for
2956 excluding slow-loading network directories). It will not
2957 exclude the current working directory or a GIT_DIR set on the
2958 command line or in the environment. Normally, Git has to read
2959 the entries in this list and resolve any symlink that
2960 might be present in order to compare them with the current
2961 directory. However, if even this access is slow, you
2962 can add an empty entry to the list to tell Git that the
2963 subsequent entries are not symlinks and needn&#8217;t be resolved;
2964 e.g.,
2965 <code>GIT_CEILING_DIRECTORIES=/maybe/symlink::/very/slow/non/symlink</code>.
2966 </p>
2967 </dd>
2968 <dt class="hdlist1">
2969 <code>GIT_DISCOVERY_ACROSS_FILESYSTEM</code>
2970 </dt>
2971 <dd>
2973 When run in a directory that does not have ".git" repository
2974 directory, Git tries to find such a directory in the parent
2975 directories to find the top of the working tree, but by default it
2976 does not cross filesystem boundaries. This Boolean environment variable
2977 can be set to true to tell Git not to stop at filesystem
2978 boundaries. Like <code>GIT_CEILING_DIRECTORIES</code>, this will not affect
2979 an explicit repository directory set via <code>GIT_DIR</code> or on the
2980 command line.
2981 </p>
2982 </dd>
2983 <dt class="hdlist1">
2984 <code>GIT_COMMON_DIR</code>
2985 </dt>
2986 <dd>
2988 If this variable is set to a path, non-worktree files that are
2989 normally in $GIT_DIR will be taken from this path
2990 instead. Worktree-specific files such as HEAD or index are
2991 taken from $GIT_DIR. See <a href="gitrepository-layout.html">gitrepository-layout(5)</a> and
2992 <a href="git-worktree.html">git-worktree(1)</a> for
2993 details. This variable has lower precedence than other path
2994 variables such as GIT_INDEX_FILE, GIT_OBJECT_DIRECTORY&#8230;
2995 </p>
2996 </dd>
2997 <dt class="hdlist1">
2998 <code>GIT_DEFAULT_HASH</code>
2999 </dt>
3000 <dd>
3002 If this variable is set, the default hash algorithm for new
3003 repositories will be set to this value. This value is
3004 ignored when cloning and the setting of the remote repository
3005 is always used. The default is "sha1".
3006 See <code>--object-format</code> in <a href="git-init.html">git-init(1)</a>.
3007 </p>
3008 </dd>
3009 </dl></div>
3010 </div>
3011 <div class="sect2">
3012 <h3 id="_git_commits">Git Commits</h3>
3013 <div class="dlist"><dl>
3014 <dt class="hdlist1">
3015 <code>GIT_AUTHOR_NAME</code>
3016 </dt>
3017 <dd>
3019 The human-readable name used in the author identity when creating commit or
3020 tag objects, or when writing reflogs. Overrides the <code>user.name</code> and
3021 <code>author.name</code> configuration settings.
3022 </p>
3023 </dd>
3024 <dt class="hdlist1">
3025 <code>GIT_AUTHOR_EMAIL</code>
3026 </dt>
3027 <dd>
3029 The email address used in the author identity when creating commit or
3030 tag objects, or when writing reflogs. Overrides the <code>user.email</code> and
3031 <code>author.email</code> configuration settings.
3032 </p>
3033 </dd>
3034 <dt class="hdlist1">
3035 <code>GIT_AUTHOR_DATE</code>
3036 </dt>
3037 <dd>
3039 The date used for the author identity when creating commit or tag objects, or
3040 when writing reflogs. See <a href="git-commit.html">git-commit(1)</a> for valid formats.
3041 </p>
3042 </dd>
3043 <dt class="hdlist1">
3044 <code>GIT_COMMITTER_NAME</code>
3045 </dt>
3046 <dd>
3048 The human-readable name used in the committer identity when creating commit or
3049 tag objects, or when writing reflogs. Overrides the <code>user.name</code> and
3050 <code>committer.name</code> configuration settings.
3051 </p>
3052 </dd>
3053 <dt class="hdlist1">
3054 <code>GIT_COMMITTER_EMAIL</code>
3055 </dt>
3056 <dd>
3058 The email address used in the author identity when creating commit or
3059 tag objects, or when writing reflogs. Overrides the <code>user.email</code> and
3060 <code>committer.email</code> configuration settings.
3061 </p>
3062 </dd>
3063 <dt class="hdlist1">
3064 <code>GIT_COMMITTER_DATE</code>
3065 </dt>
3066 <dd>
3068 The date used for the committer identity when creating commit or tag objects, or
3069 when writing reflogs. See <a href="git-commit.html">git-commit(1)</a> for valid formats.
3070 </p>
3071 </dd>
3072 <dt class="hdlist1">
3073 <code>EMAIL</code>
3074 </dt>
3075 <dd>
3077 The email address used in the author and committer identities if no other
3078 relevant environment variable or configuration setting has been set.
3079 </p>
3080 </dd>
3081 </dl></div>
3082 </div>
3083 <div class="sect2">
3084 <h3 id="_git_diffs">Git Diffs</h3>
3085 <div class="dlist"><dl>
3086 <dt class="hdlist1">
3087 <code>GIT_DIFF_OPTS</code>
3088 </dt>
3089 <dd>
3091 Only valid setting is "--unified=??" or "-u??" to set the
3092 number of context lines shown when a unified diff is created.
3093 This takes precedence over any "-U" or "--unified" option
3094 value passed on the Git diff command line.
3095 </p>
3096 </dd>
3097 <dt class="hdlist1">
3098 <code>GIT_EXTERNAL_DIFF</code>
3099 </dt>
3100 <dd>
3102 When the environment variable <code>GIT_EXTERNAL_DIFF</code> is set, the
3103 program named by it is called to generate diffs, and Git
3104 does not use its builtin diff machinery.
3105 For a path that is added, removed, or modified,
3106 <code>GIT_EXTERNAL_DIFF</code> is called with 7 parameters:
3107 </p>
3108 <div class="literalblock">
3109 <div class="content">
3110 <pre><code>path old-file old-hex old-mode new-file new-hex new-mode</code></pre>
3111 </div></div>
3112 <div class="paragraph"><p>where:</p></div>
3113 </dd>
3114 <dt class="hdlist1">
3115 &lt;old|new&gt;-file
3116 </dt>
3117 <dd>
3119 are files GIT_EXTERNAL_DIFF can use to read the
3120 contents of &lt;old|new&gt;,
3121 </p>
3122 </dd>
3123 <dt class="hdlist1">
3124 &lt;old|new&gt;-hex
3125 </dt>
3126 <dd>
3128 are the 40-hexdigit SHA-1 hashes,
3129 </p>
3130 </dd>
3131 <dt class="hdlist1">
3132 &lt;old|new&gt;-mode
3133 </dt>
3134 <dd>
3136 are the octal representation of the file modes.
3137 </p>
3138 <div class="paragraph"><p>The file parameters can point at the user&#8217;s working file
3139 (e.g. <code>new-file</code> in "git-diff-files"), <code>/dev/null</code> (e.g. <code>old-file</code>
3140 when a new file is added), or a temporary file (e.g. <code>old-file</code> in the
3141 index). <code>GIT_EXTERNAL_DIFF</code> should not worry about unlinking the
3142 temporary file&#8201;&#8212;&#8201;it is removed when <code>GIT_EXTERNAL_DIFF</code> exits.</p></div>
3143 <div class="paragraph"><p>For a path that is unmerged, <code>GIT_EXTERNAL_DIFF</code> is called with 1
3144 parameter, &lt;path&gt;.</p></div>
3145 <div class="paragraph"><p>For each path <code>GIT_EXTERNAL_DIFF</code> is called, two environment variables,
3146 <code>GIT_DIFF_PATH_COUNTER</code> and <code>GIT_DIFF_PATH_TOTAL</code> are set.</p></div>
3147 </dd>
3148 <dt class="hdlist1">
3149 <code>GIT_DIFF_PATH_COUNTER</code>
3150 </dt>
3151 <dd>
3153 A 1-based counter incremented by one for every path.
3154 </p>
3155 </dd>
3156 <dt class="hdlist1">
3157 <code>GIT_DIFF_PATH_TOTAL</code>
3158 </dt>
3159 <dd>
3161 The total number of paths.
3162 </p>
3163 </dd>
3164 </dl></div>
3165 </div>
3166 <div class="sect2">
3167 <h3 id="_other">other</h3>
3168 <div class="dlist"><dl>
3169 <dt class="hdlist1">
3170 <code>GIT_MERGE_VERBOSITY</code>
3171 </dt>
3172 <dd>
3174 A number controlling the amount of output shown by
3175 the recursive merge strategy. Overrides merge.verbosity.
3176 See <a href="git-merge.html">git-merge(1)</a>
3177 </p>
3178 </dd>
3179 <dt class="hdlist1">
3180 <code>GIT_PAGER</code>
3181 </dt>
3182 <dd>
3184 This environment variable overrides <code>$PAGER</code>. If it is set
3185 to an empty string or to the value "cat", Git will not launch
3186 a pager. See also the <code>core.pager</code> option in
3187 <a href="git-config.html">git-config(1)</a>.
3188 </p>
3189 </dd>
3190 <dt class="hdlist1">
3191 <code>GIT_PROGRESS_DELAY</code>
3192 </dt>
3193 <dd>
3195 A number controlling how many seconds to delay before showing
3196 optional progress indicators. Defaults to 2.
3197 </p>
3198 </dd>
3199 <dt class="hdlist1">
3200 <code>GIT_EDITOR</code>
3201 </dt>
3202 <dd>
3204 This environment variable overrides <code>$EDITOR</code> and <code>$VISUAL</code>.
3205 It is used by several Git commands when, on interactive mode,
3206 an editor is to be launched. See also <a href="git-var.html">git-var(1)</a>
3207 and the <code>core.editor</code> option in <a href="git-config.html">git-config(1)</a>.
3208 </p>
3209 </dd>
3210 <dt class="hdlist1">
3211 <code>GIT_SEQUENCE_EDITOR</code>
3212 </dt>
3213 <dd>
3215 This environment variable overrides the configured Git editor
3216 when editing the todo list of an interactive rebase. See also
3217 <a href="git-rebase.html">git-rebase(1)</a> and the <code>sequence.editor</code> option in
3218 <a href="git-config.html">git-config(1)</a>.
3219 </p>
3220 </dd>
3221 <dt class="hdlist1">
3222 <code>GIT_SSH</code>
3223 </dt>
3224 <dt class="hdlist1">
3225 <code>GIT_SSH_COMMAND</code>
3226 </dt>
3227 <dd>
3229 If either of these environment variables is set then <em>git fetch</em>
3230 and <em>git push</em> will use the specified command instead of <em>ssh</em>
3231 when they need to connect to a remote system.
3232 The command-line parameters passed to the configured command are
3233 determined by the ssh variant. See <code>ssh.variant</code> option in
3234 <a href="git-config.html">git-config(1)</a> for details.
3235 </p>
3236 <div class="paragraph"><p><code>$GIT_SSH_COMMAND</code> takes precedence over <code>$GIT_SSH</code>, and is interpreted
3237 by the shell, which allows additional arguments to be included.
3238 <code>$GIT_SSH</code> on the other hand must be just the path to a program
3239 (which can be a wrapper shell script, if additional arguments are
3240 needed).</p></div>
3241 <div class="paragraph"><p>Usually it is easier to configure any desired options through your
3242 personal <code>.ssh/config</code> file. Please consult your ssh documentation
3243 for further details.</p></div>
3244 </dd>
3245 <dt class="hdlist1">
3246 <code>GIT_SSH_VARIANT</code>
3247 </dt>
3248 <dd>
3250 If this environment variable is set, it overrides Git&#8217;s autodetection
3251 whether <code>GIT_SSH</code>/<code>GIT_SSH_COMMAND</code>/<code>core.sshCommand</code> refer to OpenSSH,
3252 plink or tortoiseplink. This variable overrides the config setting
3253 <code>ssh.variant</code> that serves the same purpose.
3254 </p>
3255 </dd>
3256 <dt class="hdlist1">
3257 <code>GIT_SSL_NO_VERIFY</code>
3258 </dt>
3259 <dd>
3261 Setting and exporting this environment variable to any value
3262 tells Git not to verify the SSL certificate when fetching or
3263 pushing over HTTPS.
3264 </p>
3265 </dd>
3266 <dt class="hdlist1">
3267 <code>GIT_ATTR_SOURCE</code>
3268 </dt>
3269 <dd>
3271 Sets the treeish that gitattributes will be read from.
3272 </p>
3273 </dd>
3274 <dt class="hdlist1">
3275 <code>GIT_ASKPASS</code>
3276 </dt>
3277 <dd>
3279 If this environment variable is set, then Git commands which need to
3280 acquire passwords or passphrases (e.g. for HTTP or IMAP authentication)
3281 will call this program with a suitable prompt as command-line argument
3282 and read the password from its STDOUT. See also the <code>core.askPass</code>
3283 option in <a href="git-config.html">git-config(1)</a>.
3284 </p>
3285 </dd>
3286 <dt class="hdlist1">
3287 <code>GIT_TERMINAL_PROMPT</code>
3288 </dt>
3289 <dd>
3291 If this Boolean environment variable is set to false, git will not prompt
3292 on the terminal (e.g., when asking for HTTP authentication).
3293 </p>
3294 </dd>
3295 <dt class="hdlist1">
3296 <code>GIT_CONFIG_GLOBAL</code>
3297 </dt>
3298 <dt class="hdlist1">
3299 <code>GIT_CONFIG_SYSTEM</code>
3300 </dt>
3301 <dd>
3303 Take the configuration from the given files instead from global or
3304 system-level configuration files. If <code>GIT_CONFIG_SYSTEM</code> is set, the
3305 system config file defined at build time (usually <code>/etc/gitconfig</code>)
3306 will not be read. Likewise, if <code>GIT_CONFIG_GLOBAL</code> is set, neither
3307 <code>$HOME/.gitconfig</code> nor <code>$XDG_CONFIG_HOME/git/config</code> will be read. Can
3308 be set to <code>/dev/null</code> to skip reading configuration files of the
3309 respective level.
3310 </p>
3311 </dd>
3312 <dt class="hdlist1">
3313 <code>GIT_CONFIG_NOSYSTEM</code>
3314 </dt>
3315 <dd>
3317 Whether to skip reading settings from the system-wide
3318 <code>$(prefix)/etc/gitconfig</code> file. This Boolean environment variable can
3319 be used along with <code>$HOME</code> and <code>$XDG_CONFIG_HOME</code> to create a
3320 predictable environment for a picky script, or you can set it
3321 to true to temporarily avoid using a buggy <code>/etc/gitconfig</code> file while
3322 waiting for someone with sufficient permissions to fix it.
3323 </p>
3324 </dd>
3325 <dt class="hdlist1">
3326 <code>GIT_FLUSH</code>
3327 </dt>
3328 <dd>
3330 If this Boolean environment variable is set to true, then commands such
3331 as <em>git blame</em> (in incremental mode), <em>git rev-list</em>, <em>git log</em>,
3332 <em>git check-attr</em> and <em>git check-ignore</em> will
3333 force a flush of the output stream after each record have been
3334 flushed. If this
3335 variable is set to false, the output of these commands will be done
3336 using completely buffered I/O. If this environment variable is
3337 not set, Git will choose buffered or record-oriented flushing
3338 based on whether stdout appears to be redirected to a file or not.
3339 </p>
3340 </dd>
3341 <dt class="hdlist1">
3342 <code>GIT_TRACE</code>
3343 </dt>
3344 <dd>
3346 Enables general trace messages, e.g. alias expansion, built-in
3347 command execution and external command execution.
3348 </p>
3349 <div class="paragraph"><p>If this variable is set to "1", "2" or "true" (comparison
3350 is case insensitive), trace messages will be printed to
3351 stderr.</p></div>
3352 <div class="paragraph"><p>If the variable is set to an integer value greater than 2
3353 and lower than 10 (strictly) then Git will interpret this
3354 value as an open file descriptor and will try to write the
3355 trace messages into this file descriptor.</p></div>
3356 <div class="paragraph"><p>Alternatively, if the variable is set to an absolute path
3357 (starting with a <em>/</em> character), Git will interpret this
3358 as a file path and will try to append the trace messages
3359 to it.</p></div>
3360 <div class="paragraph"><p>Unsetting the variable, or setting it to empty, "0" or
3361 "false" (case insensitive) disables trace messages.</p></div>
3362 </dd>
3363 <dt class="hdlist1">
3364 <code>GIT_TRACE_FSMONITOR</code>
3365 </dt>
3366 <dd>
3368 Enables trace messages for the filesystem monitor extension.
3369 See <code>GIT_TRACE</code> for available trace output options.
3370 </p>
3371 </dd>
3372 <dt class="hdlist1">
3373 <code>GIT_TRACE_PACK_ACCESS</code>
3374 </dt>
3375 <dd>
3377 Enables trace messages for all accesses to any packs. For each
3378 access, the pack file name and an offset in the pack is
3379 recorded. This may be helpful for troubleshooting some
3380 pack-related performance problems.
3381 See <code>GIT_TRACE</code> for available trace output options.
3382 </p>
3383 </dd>
3384 <dt class="hdlist1">
3385 <code>GIT_TRACE_PACKET</code>
3386 </dt>
3387 <dd>
3389 Enables trace messages for all packets coming in or out of a
3390 given program. This can help with debugging object negotiation
3391 or other protocol issues. Tracing is turned off at a packet
3392 starting with "PACK" (but see <code>GIT_TRACE_PACKFILE</code> below).
3393 See <code>GIT_TRACE</code> for available trace output options.
3394 </p>
3395 </dd>
3396 <dt class="hdlist1">
3397 <code>GIT_TRACE_PACKFILE</code>
3398 </dt>
3399 <dd>
3401 Enables tracing of packfiles sent or received by a
3402 given program. Unlike other trace output, this trace is
3403 verbatim: no headers, and no quoting of binary data. You almost
3404 certainly want to direct into a file (e.g.,
3405 <code>GIT_TRACE_PACKFILE=/tmp/my.pack</code>) rather than displaying it on
3406 the terminal or mixing it with other trace output.
3407 </p>
3408 <div class="paragraph"><p>Note that this is currently only implemented for the client side
3409 of clones and fetches.</p></div>
3410 </dd>
3411 <dt class="hdlist1">
3412 <code>GIT_TRACE_PERFORMANCE</code>
3413 </dt>
3414 <dd>
3416 Enables performance related trace messages, e.g. total execution
3417 time of each Git command.
3418 See <code>GIT_TRACE</code> for available trace output options.
3419 </p>
3420 </dd>
3421 <dt class="hdlist1">
3422 <code>GIT_TRACE_REFS</code>
3423 </dt>
3424 <dd>
3426 Enables trace messages for operations on the ref database.
3427 See <code>GIT_TRACE</code> for available trace output options.
3428 </p>
3429 </dd>
3430 <dt class="hdlist1">
3431 <code>GIT_TRACE_SETUP</code>
3432 </dt>
3433 <dd>
3435 Enables trace messages printing the .git, working tree and current
3436 working directory after Git has completed its setup phase.
3437 See <code>GIT_TRACE</code> for available trace output options.
3438 </p>
3439 </dd>
3440 <dt class="hdlist1">
3441 <code>GIT_TRACE_SHALLOW</code>
3442 </dt>
3443 <dd>
3445 Enables trace messages that can help debugging fetching /
3446 cloning of shallow repositories.
3447 See <code>GIT_TRACE</code> for available trace output options.
3448 </p>
3449 </dd>
3450 <dt class="hdlist1">
3451 <code>GIT_TRACE_CURL</code>
3452 </dt>
3453 <dd>
3455 Enables a curl full trace dump of all incoming and outgoing data,
3456 including descriptive information, of the git transport protocol.
3457 This is similar to doing curl <code>--trace-ascii</code> on the command line.
3458 See <code>GIT_TRACE</code> for available trace output options.
3459 </p>
3460 </dd>
3461 <dt class="hdlist1">
3462 <code>GIT_TRACE_CURL_NO_DATA</code>
3463 </dt>
3464 <dd>
3466 When a curl trace is enabled (see <code>GIT_TRACE_CURL</code> above), do not dump
3467 data (that is, only dump info lines and headers).
3468 </p>
3469 </dd>
3470 <dt class="hdlist1">
3471 <code>GIT_TRACE2</code>
3472 </dt>
3473 <dd>
3475 Enables more detailed trace messages from the "trace2" library.
3476 Output from <code>GIT_TRACE2</code> is a simple text-based format for human
3477 readability.
3478 </p>
3479 <div class="paragraph"><p>If this variable is set to "1", "2" or "true" (comparison
3480 is case insensitive), trace messages will be printed to
3481 stderr.</p></div>
3482 <div class="paragraph"><p>If the variable is set to an integer value greater than 2
3483 and lower than 10 (strictly) then Git will interpret this
3484 value as an open file descriptor and will try to write the
3485 trace messages into this file descriptor.</p></div>
3486 <div class="paragraph"><p>Alternatively, if the variable is set to an absolute path
3487 (starting with a <em>/</em> character), Git will interpret this
3488 as a file path and will try to append the trace messages
3489 to it. If the path already exists and is a directory, the
3490 trace messages will be written to files (one per process)
3491 in that directory, named according to the last component
3492 of the SID and an optional counter (to avoid filename
3493 collisions).</p></div>
3494 <div class="paragraph"><p>In addition, if the variable is set to
3495 <code>af_unix:[&lt;socket_type&gt;:]&lt;absolute-pathname&gt;</code>, Git will try
3496 to open the path as a Unix Domain Socket. The socket type
3497 can be either <code>stream</code> or <code>dgram</code>.</p></div>
3498 <div class="paragraph"><p>Unsetting the variable, or setting it to empty, "0" or
3499 "false" (case insensitive) disables trace messages.</p></div>
3500 <div class="paragraph"><p>See <a href="technical/api-trace2.html">Trace2 documentation</a>
3501 for full details.</p></div>
3502 </dd>
3503 <dt class="hdlist1">
3504 <code>GIT_TRACE2_EVENT</code>
3505 </dt>
3506 <dd>
3508 This setting writes a JSON-based format that is suited for machine
3509 interpretation.
3510 See <code>GIT_TRACE2</code> for available trace output options and
3511 <a href="technical/api-trace2.html">Trace2 documentation</a> for full details.
3512 </p>
3513 </dd>
3514 <dt class="hdlist1">
3515 <code>GIT_TRACE2_PERF</code>
3516 </dt>
3517 <dd>
3519 In addition to the text-based messages available in <code>GIT_TRACE2</code>, this
3520 setting writes a column-based format for understanding nesting
3521 regions.
3522 See <code>GIT_TRACE2</code> for available trace output options and
3523 <a href="technical/api-trace2.html">Trace2 documentation</a> for full details.
3524 </p>
3525 </dd>
3526 <dt class="hdlist1">
3527 <code>GIT_TRACE_REDACT</code>
3528 </dt>
3529 <dd>
3531 By default, when tracing is activated, Git redacts the values of
3532 cookies, the "Authorization:" header, the "Proxy-Authorization:"
3533 header and packfile URIs. Set this Boolean environment variable to false to prevent this
3534 redaction.
3535 </p>
3536 </dd>
3537 <dt class="hdlist1">
3538 <code>GIT_LITERAL_PATHSPECS</code>
3539 </dt>
3540 <dd>
3542 Setting this Boolean environment variable to true will cause Git to treat all
3543 pathspecs literally, rather than as glob patterns. For example,
3544 running <code>GIT_LITERAL_PATHSPECS=1 git log -- '*.c'</code> will search
3545 for commits that touch the path <code>*.c</code>, not any paths that the
3546 glob <code>*.c</code> matches. You might want this if you are feeding
3547 literal paths to Git (e.g., paths previously given to you by
3548 <code>git ls-tree</code>, <code>--raw</code> diff output, etc).
3549 </p>
3550 </dd>
3551 <dt class="hdlist1">
3552 <code>GIT_GLOB_PATHSPECS</code>
3553 </dt>
3554 <dd>
3556 Setting this Boolean environment variable to true will cause Git to treat all
3557 pathspecs as glob patterns (aka "glob" magic).
3558 </p>
3559 </dd>
3560 <dt class="hdlist1">
3561 <code>GIT_NOGLOB_PATHSPECS</code>
3562 </dt>
3563 <dd>
3565 Setting this Boolean environment variable to true will cause Git to treat all
3566 pathspecs as literal (aka "literal" magic).
3567 </p>
3568 </dd>
3569 <dt class="hdlist1">
3570 <code>GIT_ICASE_PATHSPECS</code>
3571 </dt>
3572 <dd>
3574 Setting this Boolean environment variable to true will cause Git to treat all
3575 pathspecs as case-insensitive.
3576 </p>
3577 </dd>
3578 <dt class="hdlist1">
3579 <code>GIT_REFLOG_ACTION</code>
3580 </dt>
3581 <dd>
3583 When a ref is updated, reflog entries are created to keep
3584 track of the reason why the ref was updated (which is
3585 typically the name of the high-level command that updated
3586 the ref), in addition to the old and new values of the ref.
3587 A scripted Porcelain command can use set_reflog_action
3588 helper function in <code>git-sh-setup</code> to set its name to this
3589 variable when it is invoked as the top level command by the
3590 end user, to be recorded in the body of the reflog.
3591 </p>
3592 </dd>
3593 <dt class="hdlist1">
3594 <code>GIT_REF_PARANOIA</code>
3595 </dt>
3596 <dd>
3598 If this Boolean environment variable is set to false, ignore broken or badly named refs when iterating
3599 over lists of refs. Normally Git will try to include any such
3600 refs, which may cause some operations to fail. This is usually
3601 preferable, as potentially destructive operations (e.g.,
3602 <a href="git-prune.html">git-prune(1)</a>) are better off aborting rather than
3603 ignoring broken refs (and thus considering the history they
3604 point to as not worth saving). The default value is <code>1</code> (i.e.,
3605 be paranoid about detecting and aborting all operations). You
3606 should not normally need to set this to <code>0</code>, but it may be
3607 useful when trying to salvage data from a corrupted repository.
3608 </p>
3609 </dd>
3610 <dt class="hdlist1">
3611 <code>GIT_COMMIT_GRAPH_PARANOIA</code>
3612 </dt>
3613 <dd>
3615 When loading a commit object from the commit-graph, Git performs an
3616 existence check on the object in the object database. This is done to
3617 avoid issues with stale commit-graphs that contain references to
3618 already-deleted commits, but comes with a performance penalty.
3619 </p>
3620 <div class="paragraph"><p>The default is "false", which disables the aforementioned behavior.
3621 Setting this to "true" enables the existence check so that stale commits
3622 will never be returned from the commit-graph at the cost of performance.</p></div>
3623 </dd>
3624 <dt class="hdlist1">
3625 <code>GIT_ALLOW_PROTOCOL</code>
3626 </dt>
3627 <dd>
3629 If set to a colon-separated list of protocols, behave as if
3630 <code>protocol.allow</code> is set to <code>never</code>, and each of the listed
3631 protocols has <code>protocol.&lt;name&gt;.allow</code> set to <code>always</code>
3632 (overriding any existing configuration). See the description of
3633 <code>protocol.allow</code> in <a href="git-config.html">git-config(1)</a> for more details.
3634 </p>
3635 </dd>
3636 <dt class="hdlist1">
3637 <code>GIT_PROTOCOL_FROM_USER</code>
3638 </dt>
3639 <dd>
3641 Set this Boolean environment variable to false to prevent protocols used by fetch/push/clone which are
3642 configured to the <code>user</code> state. This is useful to restrict recursive
3643 submodule initialization from an untrusted repository or for programs
3644 which feed potentially-untrusted URLS to git commands. See
3645 <a href="git-config.html">git-config(1)</a> for more details.
3646 </p>
3647 </dd>
3648 <dt class="hdlist1">
3649 <code>GIT_PROTOCOL</code>
3650 </dt>
3651 <dd>
3653 For internal use only. Used in handshaking the wire protocol.
3654 Contains a colon <em>:</em> separated list of keys with optional values
3655 <em>key[=value]</em>. Presence of unknown keys and values must be
3656 ignored.
3657 </p>
3658 <div class="paragraph"><p>Note that servers may need to be configured to allow this variable to
3659 pass over some transports. It will be propagated automatically when
3660 accessing local repositories (i.e., <code>file://</code> or a filesystem path), as
3661 well as over the <code>git://</code> protocol. For git-over-http, it should work
3662 automatically in most configurations, but see the discussion in
3663 <a href="git-http-backend.html">git-http-backend(1)</a>. For git-over-ssh, the ssh server may need
3664 to be configured to allow clients to pass this variable (e.g., by using
3665 <code>AcceptEnv GIT_PROTOCOL</code> with OpenSSH).</p></div>
3666 <div class="paragraph"><p>This configuration is optional. If the variable is not propagated, then
3667 clients will fall back to the original "v0" protocol (but may miss out
3668 on some performance improvements or features). This variable currently
3669 only affects clones and fetches; it is not yet used for pushes (but may
3670 be in the future).</p></div>
3671 </dd>
3672 <dt class="hdlist1">
3673 <code>GIT_OPTIONAL_LOCKS</code>
3674 </dt>
3675 <dd>
3677 If this Boolean environment variable is set to false, Git will complete any requested operation without
3678 performing any optional sub-operations that require taking a lock.
3679 For example, this will prevent <code>git status</code> from refreshing the
3680 index as a side effect. This is useful for processes running in
3681 the background which do not want to cause lock contention with
3682 other operations on the repository. Defaults to <code>1</code>.
3683 </p>
3684 </dd>
3685 <dt class="hdlist1">
3686 <code>GIT_REDIRECT_STDIN</code>
3687 </dt>
3688 <dt class="hdlist1">
3689 <code>GIT_REDIRECT_STDOUT</code>
3690 </dt>
3691 <dt class="hdlist1">
3692 <code>GIT_REDIRECT_STDERR</code>
3693 </dt>
3694 <dd>
3696 Windows-only: allow redirecting the standard input/output/error
3697 handles to paths specified by the environment variables. This is
3698 particularly useful in multi-threaded applications where the
3699 canonical way to pass standard handles via <code>CreateProcess()</code> is
3700 not an option because it would require the handles to be marked
3701 inheritable (and consequently <strong>every</strong> spawned process would
3702 inherit them, possibly blocking regular Git operations). The
3703 primary intended use case is to use named pipes for communication
3704 (e.g. <code>\\.\pipe\my-git-stdin-123</code>).
3705 </p>
3706 <div class="paragraph"><p>Two special values are supported: <code>off</code> will simply close the
3707 corresponding standard handle, and if <code>GIT_REDIRECT_STDERR</code> is
3708 <code>2&gt;&amp;1</code>, standard error will be redirected to the same handle as
3709 standard output.</p></div>
3710 </dd>
3711 <dt class="hdlist1">
3712 <code>GIT_PRINT_SHA1_ELLIPSIS</code> (deprecated)
3713 </dt>
3714 <dd>
3716 If set to <code>yes</code>, print an ellipsis following an
3717 (abbreviated) SHA-1 value. This affects indications of
3718 detached HEADs (<a href="git-checkout.html">git-checkout(1)</a>) and the raw
3719 diff output (<a href="git-diff.html">git-diff(1)</a>). Printing an
3720 ellipsis in the cases mentioned is no longer considered
3721 adequate and support for it is likely to be removed in the
3722 foreseeable future (along with the variable).
3723 </p>
3724 </dd>
3725 </dl></div>
3726 </div>
3727 </div>
3728 </div>
3729 <div class="sect1">
3730 <h2 id="_discussion_a_id_discussion_a">Discussion<a id="Discussion"></a></h2>
3731 <div class="sectionbody">
3732 <div class="paragraph"><p>More detail on the following is available from the
3733 <a href="user-manual.html#git-concepts">Git concepts chapter of the
3734 user-manual</a> and <a href="gitcore-tutorial.html">gitcore-tutorial(7)</a>.</p></div>
3735 <div class="paragraph"><p>A Git project normally consists of a working directory with a ".git"
3736 subdirectory at the top level. The .git directory contains, among other
3737 things, a compressed object database representing the complete history
3738 of the project, an "index" file which links that history to the current
3739 contents of the working tree, and named pointers into that history such
3740 as tags and branch heads.</p></div>
3741 <div class="paragraph"><p>The object database contains objects of three main types: blobs, which
3742 hold file data; trees, which point to blobs and other trees to build up
3743 directory hierarchies; and commits, which each reference a single tree
3744 and some number of parent commits.</p></div>
3745 <div class="paragraph"><p>The commit, equivalent to what other systems call a "changeset" or
3746 "version", represents a step in the project&#8217;s history, and each parent
3747 represents an immediately preceding step. Commits with more than one
3748 parent represent merges of independent lines of development.</p></div>
3749 <div class="paragraph"><p>All objects are named by the SHA-1 hash of their contents, normally
3750 written as a string of 40 hex digits. Such names are globally unique.
3751 The entire history leading up to a commit can be vouched for by signing
3752 just that commit. A fourth object type, the tag, is provided for this
3753 purpose.</p></div>
3754 <div class="paragraph"><p>When first created, objects are stored in individual files, but for
3755 efficiency may later be compressed together into "pack files".</p></div>
3756 <div class="paragraph"><p>Named pointers called refs mark interesting points in history. A ref
3757 may contain the SHA-1 name of an object or the name of another ref (the
3758 latter is called a "symbolic ref").
3759 Refs with names beginning <code>refs/head/</code> contain the SHA-1 name of the most
3760 recent commit (or "head") of a branch under development. SHA-1 names of
3761 tags of interest are stored under <code>refs/tags/</code>. A symbolic ref named
3762 <code>HEAD</code> contains the name of the currently checked-out branch.</p></div>
3763 <div class="paragraph"><p>The index file is initialized with a list of all paths and, for each
3764 path, a blob object and a set of attributes. The blob object represents
3765 the contents of the file as of the head of the current branch. The
3766 attributes (last modified time, size, etc.) are taken from the
3767 corresponding file in the working tree. Subsequent changes to the
3768 working tree can be found by comparing these attributes. The index may
3769 be updated with new content, and new commits may be created from the
3770 content stored in the index.</p></div>
3771 <div class="paragraph"><p>The index is also capable of storing multiple entries (called "stages")
3772 for a given pathname. These stages are used to hold the various
3773 unmerged version of a file when a merge is in progress.</p></div>
3774 </div>
3775 </div>
3776 <div class="sect1">
3777 <h2 id="_further_documentation">FURTHER DOCUMENTATION</h2>
3778 <div class="sectionbody">
3779 <div class="paragraph"><p>See the references in the "description" section to get started
3780 using Git. The following is probably more detail than necessary
3781 for a first-time user.</p></div>
3782 <div class="paragraph"><p>The <a href="user-manual.html#git-concepts">Git concepts chapter of the
3783 user-manual</a> and <a href="gitcore-tutorial.html">gitcore-tutorial(7)</a> both provide
3784 introductions to the underlying Git architecture.</p></div>
3785 <div class="paragraph"><p>See <a href="gitworkflows.html">gitworkflows(7)</a> for an overview of recommended workflows.</p></div>
3786 <div class="paragraph"><p>See also the <a href="howto-index.html">howto</a> documents for some useful
3787 examples.</p></div>
3788 <div class="paragraph"><p>The internals are documented in the
3789 <a href="technical/api-index.html">Git API documentation</a>.</p></div>
3790 <div class="paragraph"><p>Users migrating from CVS may also want to
3791 read <a href="gitcvs-migration.html">gitcvs-migration(7)</a>.</p></div>
3792 </div>
3793 </div>
3794 <div class="sect1">
3795 <h2 id="_authors">Authors</h2>
3796 <div class="sectionbody">
3797 <div class="paragraph"><p>Git was started by Linus Torvalds, and is currently maintained by Junio
3798 C Hamano. Numerous contributions have come from the Git mailing list
3799 &lt;<a href="mailto:git@vger.kernel.org">git@vger.kernel.org</a>&gt;. <a href="https://openhub.net/p/git/contributors/summary">https://openhub.net/p/git/contributors/summary</a>
3800 gives you a more complete list of contributors.</p></div>
3801 <div class="paragraph"><p>If you have a clone of git.git itself, the
3802 output of <a href="git-shortlog.html">git-shortlog(1)</a> and <a href="git-blame.html">git-blame(1)</a> can show you
3803 the authors for specific parts of the project.</p></div>
3804 </div>
3805 </div>
3806 <div class="sect1">
3807 <h2 id="_reporting_bugs">Reporting Bugs</h2>
3808 <div class="sectionbody">
3809 <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
3810 development and maintenance is primarily done. You do not have to be
3811 subscribed to the list to send a message there. See the list archive
3812 at <a href="https://lore.kernel.org/git">https://lore.kernel.org/git</a> for previous bug reports and other
3813 discussions.</p></div>
3814 <div class="paragraph"><p>Issues which are security relevant should be disclosed privately to
3815 the Git Security mailing list &lt;<a href="mailto:git-security@googlegroups.com">git-security@googlegroups.com</a>&gt;.</p></div>
3816 </div>
3817 </div>
3818 <div class="sect1">
3819 <h2 id="_see_also">SEE ALSO</h2>
3820 <div class="sectionbody">
3821 <div class="paragraph"><p><a href="gittutorial.html">gittutorial(7)</a>, <a href="gittutorial-2.html">gittutorial-2(7)</a>,
3822 <a href="giteveryday.html">giteveryday(7)</a>, <a href="gitcvs-migration.html">gitcvs-migration(7)</a>,
3823 <a href="gitglossary.html">gitglossary(7)</a>, <a href="gitcore-tutorial.html">gitcore-tutorial(7)</a>,
3824 <a href="gitcli.html">gitcli(7)</a>, <a href="user-manual.html">The Git User&#8217;s Manual</a>,
3825 <a href="gitworkflows.html">gitworkflows(7)</a></p></div>
3826 </div>
3827 </div>
3828 <div class="sect1">
3829 <h2 id="_git">GIT</h2>
3830 <div class="sectionbody">
3831 <div class="paragraph"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
3832 </div>
3833 </div>
3834 </div>
3835 <div id="footnotes"><hr /></div>
3836 <div id="footer">
3837 <div id="footer-text">
3838 Last updated
3839 2024-01-12 16:26:54 PST
3840 </div>
3841 </div>
3842 </body>
3843 </html>