Autogenerated HTML docs for v2.42.0-241-g6bdb5
[git-htmldocs.git] / git.html
blobcd21ed9d6c43b07e4df7b17837389c70c3c218f4
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 OS&#8217;s where
869 other processes might be able to read your cmdline
870 (e.g. <code>/proc/self/cmdline</code>), but not your environ
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 difference 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-symbolic-ref.html">git-symbolic-ref(1)</a>
1940 </dt>
1941 <dd>
1943 Read, modify and delete symbolic refs.
1944 </p>
1945 </dd>
1946 <dt class="hdlist1">
1947 <a href="git-unpack-objects.html">git-unpack-objects(1)</a>
1948 </dt>
1949 <dd>
1951 Unpack objects from a packed archive.
1952 </p>
1953 </dd>
1954 <dt class="hdlist1">
1955 <a href="git-update-index.html">git-update-index(1)</a>
1956 </dt>
1957 <dd>
1959 Register file contents in the working tree to the index.
1960 </p>
1961 </dd>
1962 <dt class="hdlist1">
1963 <a href="git-update-ref.html">git-update-ref(1)</a>
1964 </dt>
1965 <dd>
1967 Update the object name stored in a ref safely.
1968 </p>
1969 </dd>
1970 <dt class="hdlist1">
1971 <a href="git-write-tree.html">git-write-tree(1)</a>
1972 </dt>
1973 <dd>
1975 Create a tree object from the current index.
1976 </p>
1977 </dd>
1978 </dl></div>
1979 </div>
1980 <div class="sect2">
1981 <h3 id="_interrogation_commands">Interrogation commands</h3>
1982 <div class="dlist"><dl>
1983 <dt class="hdlist1">
1984 <a href="git-cat-file.html">git-cat-file(1)</a>
1985 </dt>
1986 <dd>
1988 Provide content or type and size information for repository objects.
1989 </p>
1990 </dd>
1991 <dt class="hdlist1">
1992 <a href="git-cherry.html">git-cherry(1)</a>
1993 </dt>
1994 <dd>
1996 Find commits yet to be applied to upstream.
1997 </p>
1998 </dd>
1999 <dt class="hdlist1">
2000 <a href="git-diff-files.html">git-diff-files(1)</a>
2001 </dt>
2002 <dd>
2004 Compares files in the working tree and the index.
2005 </p>
2006 </dd>
2007 <dt class="hdlist1">
2008 <a href="git-diff-index.html">git-diff-index(1)</a>
2009 </dt>
2010 <dd>
2012 Compare a tree to the working tree or index.
2013 </p>
2014 </dd>
2015 <dt class="hdlist1">
2016 <a href="git-diff-tree.html">git-diff-tree(1)</a>
2017 </dt>
2018 <dd>
2020 Compares the content and mode of blobs found via two tree objects.
2021 </p>
2022 </dd>
2023 <dt class="hdlist1">
2024 <a href="git-for-each-ref.html">git-for-each-ref(1)</a>
2025 </dt>
2026 <dd>
2028 Output information on each ref.
2029 </p>
2030 </dd>
2031 <dt class="hdlist1">
2032 <a href="git-for-each-repo.html">git-for-each-repo(1)</a>
2033 </dt>
2034 <dd>
2036 Run a Git command on a list of repositories.
2037 </p>
2038 </dd>
2039 <dt class="hdlist1">
2040 <a href="git-get-tar-commit-id.html">git-get-tar-commit-id(1)</a>
2041 </dt>
2042 <dd>
2044 Extract commit ID from an archive created using git-archive.
2045 </p>
2046 </dd>
2047 <dt class="hdlist1">
2048 <a href="git-ls-files.html">git-ls-files(1)</a>
2049 </dt>
2050 <dd>
2052 Show information about files in the index and the working tree.
2053 </p>
2054 </dd>
2055 <dt class="hdlist1">
2056 <a href="git-ls-remote.html">git-ls-remote(1)</a>
2057 </dt>
2058 <dd>
2060 List references in a remote repository.
2061 </p>
2062 </dd>
2063 <dt class="hdlist1">
2064 <a href="git-ls-tree.html">git-ls-tree(1)</a>
2065 </dt>
2066 <dd>
2068 List the contents of a tree object.
2069 </p>
2070 </dd>
2071 <dt class="hdlist1">
2072 <a href="git-merge-base.html">git-merge-base(1)</a>
2073 </dt>
2074 <dd>
2076 Find as good common ancestors as possible for a merge.
2077 </p>
2078 </dd>
2079 <dt class="hdlist1">
2080 <a href="git-name-rev.html">git-name-rev(1)</a>
2081 </dt>
2082 <dd>
2084 Find symbolic names for given revs.
2085 </p>
2086 </dd>
2087 <dt class="hdlist1">
2088 <a href="git-pack-redundant.html">git-pack-redundant(1)</a>
2089 </dt>
2090 <dd>
2092 Find redundant pack files.
2093 </p>
2094 </dd>
2095 <dt class="hdlist1">
2096 <a href="git-rev-list.html">git-rev-list(1)</a>
2097 </dt>
2098 <dd>
2100 Lists commit objects in reverse chronological order.
2101 </p>
2102 </dd>
2103 <dt class="hdlist1">
2104 <a href="git-rev-parse.html">git-rev-parse(1)</a>
2105 </dt>
2106 <dd>
2108 Pick out and massage parameters.
2109 </p>
2110 </dd>
2111 <dt class="hdlist1">
2112 <a href="git-show-index.html">git-show-index(1)</a>
2113 </dt>
2114 <dd>
2116 Show packed archive index.
2117 </p>
2118 </dd>
2119 <dt class="hdlist1">
2120 <a href="git-show-ref.html">git-show-ref(1)</a>
2121 </dt>
2122 <dd>
2124 List references in a local repository.
2125 </p>
2126 </dd>
2127 <dt class="hdlist1">
2128 <a href="git-unpack-file.html">git-unpack-file(1)</a>
2129 </dt>
2130 <dd>
2132 Creates a temporary file with a blob&#8217;s contents.
2133 </p>
2134 </dd>
2135 <dt class="hdlist1">
2136 <a href="git-var.html">git-var(1)</a>
2137 </dt>
2138 <dd>
2140 Show a Git logical variable.
2141 </p>
2142 </dd>
2143 <dt class="hdlist1">
2144 <a href="git-verify-pack.html">git-verify-pack(1)</a>
2145 </dt>
2146 <dd>
2148 Validate packed Git archive files.
2149 </p>
2150 </dd>
2151 </dl></div>
2152 <div class="paragraph"><p>In general, the interrogate commands do not touch the files in
2153 the working tree.</p></div>
2154 </div>
2155 <div class="sect2">
2156 <h3 id="_syncing_repositories">Syncing repositories</h3>
2157 <div class="dlist"><dl>
2158 <dt class="hdlist1">
2159 <a href="git-daemon.html">git-daemon(1)</a>
2160 </dt>
2161 <dd>
2163 A really simple server for Git repositories.
2164 </p>
2165 </dd>
2166 <dt class="hdlist1">
2167 <a href="git-fetch-pack.html">git-fetch-pack(1)</a>
2168 </dt>
2169 <dd>
2171 Receive missing objects from another repository.
2172 </p>
2173 </dd>
2174 <dt class="hdlist1">
2175 <a href="git-http-backend.html">git-http-backend(1)</a>
2176 </dt>
2177 <dd>
2179 Server side implementation of Git over HTTP.
2180 </p>
2181 </dd>
2182 <dt class="hdlist1">
2183 <a href="git-send-pack.html">git-send-pack(1)</a>
2184 </dt>
2185 <dd>
2187 Push objects over Git protocol to another repository.
2188 </p>
2189 </dd>
2190 <dt class="hdlist1">
2191 <a href="git-update-server-info.html">git-update-server-info(1)</a>
2192 </dt>
2193 <dd>
2195 Update auxiliary info file to help dumb servers.
2196 </p>
2197 </dd>
2198 </dl></div>
2199 <div class="paragraph"><p>The following are helper commands used by the above; end users
2200 typically do not use them directly.</p></div>
2201 <div class="dlist"><dl>
2202 <dt class="hdlist1">
2203 <a href="git-http-fetch.html">git-http-fetch(1)</a>
2204 </dt>
2205 <dd>
2207 Download from a remote Git repository via HTTP.
2208 </p>
2209 </dd>
2210 <dt class="hdlist1">
2211 <a href="git-http-push.html">git-http-push(1)</a>
2212 </dt>
2213 <dd>
2215 Push objects over HTTP/DAV to another repository.
2216 </p>
2217 </dd>
2218 <dt class="hdlist1">
2219 <a href="git-receive-pack.html">git-receive-pack(1)</a>
2220 </dt>
2221 <dd>
2223 Receive what is pushed into the repository.
2224 </p>
2225 </dd>
2226 <dt class="hdlist1">
2227 <a href="git-shell.html">git-shell(1)</a>
2228 </dt>
2229 <dd>
2231 Restricted login shell for Git-only SSH access.
2232 </p>
2233 </dd>
2234 <dt class="hdlist1">
2235 <a href="git-upload-archive.html">git-upload-archive(1)</a>
2236 </dt>
2237 <dd>
2239 Send archive back to git-archive.
2240 </p>
2241 </dd>
2242 <dt class="hdlist1">
2243 <a href="git-upload-pack.html">git-upload-pack(1)</a>
2244 </dt>
2245 <dd>
2247 Send objects packed back to git-fetch-pack.
2248 </p>
2249 </dd>
2250 </dl></div>
2251 </div>
2252 <div class="sect2">
2253 <h3 id="_internal_helper_commands">Internal helper commands</h3>
2254 <div class="paragraph"><p>These are internal helper commands used by other commands; end
2255 users typically do not use them directly.</p></div>
2256 <div class="dlist"><dl>
2257 <dt class="hdlist1">
2258 <a href="git-check-attr.html">git-check-attr(1)</a>
2259 </dt>
2260 <dd>
2262 Display gitattributes information.
2263 </p>
2264 </dd>
2265 <dt class="hdlist1">
2266 <a href="git-check-ignore.html">git-check-ignore(1)</a>
2267 </dt>
2268 <dd>
2270 Debug gitignore / exclude files.
2271 </p>
2272 </dd>
2273 <dt class="hdlist1">
2274 <a href="git-check-mailmap.html">git-check-mailmap(1)</a>
2275 </dt>
2276 <dd>
2278 Show canonical names and email addresses of contacts.
2279 </p>
2280 </dd>
2281 <dt class="hdlist1">
2282 <a href="git-check-ref-format.html">git-check-ref-format(1)</a>
2283 </dt>
2284 <dd>
2286 Ensures that a reference name is well formed.
2287 </p>
2288 </dd>
2289 <dt class="hdlist1">
2290 <a href="git-column.html">git-column(1)</a>
2291 </dt>
2292 <dd>
2294 Display data in columns.
2295 </p>
2296 </dd>
2297 <dt class="hdlist1">
2298 <a href="git-credential.html">git-credential(1)</a>
2299 </dt>
2300 <dd>
2302 Retrieve and store user credentials.
2303 </p>
2304 </dd>
2305 <dt class="hdlist1">
2306 <a href="git-credential-cache.html">git-credential-cache(1)</a>
2307 </dt>
2308 <dd>
2310 Helper to temporarily store passwords in memory.
2311 </p>
2312 </dd>
2313 <dt class="hdlist1">
2314 <a href="git-credential-store.html">git-credential-store(1)</a>
2315 </dt>
2316 <dd>
2318 Helper to store credentials on disk.
2319 </p>
2320 </dd>
2321 <dt class="hdlist1">
2322 <a href="git-fmt-merge-msg.html">git-fmt-merge-msg(1)</a>
2323 </dt>
2324 <dd>
2326 Produce a merge commit message.
2327 </p>
2328 </dd>
2329 <dt class="hdlist1">
2330 <a href="git-hook.html">git-hook(1)</a>
2331 </dt>
2332 <dd>
2334 Run git hooks.
2335 </p>
2336 </dd>
2337 <dt class="hdlist1">
2338 <a href="git-interpret-trailers.html">git-interpret-trailers(1)</a>
2339 </dt>
2340 <dd>
2342 Add or parse structured information in commit messages.
2343 </p>
2344 </dd>
2345 <dt class="hdlist1">
2346 <a href="git-mailinfo.html">git-mailinfo(1)</a>
2347 </dt>
2348 <dd>
2350 Extracts patch and authorship from a single e-mail message.
2351 </p>
2352 </dd>
2353 <dt class="hdlist1">
2354 <a href="git-mailsplit.html">git-mailsplit(1)</a>
2355 </dt>
2356 <dd>
2358 Simple UNIX mbox splitter program.
2359 </p>
2360 </dd>
2361 <dt class="hdlist1">
2362 <a href="git-merge-one-file.html">git-merge-one-file(1)</a>
2363 </dt>
2364 <dd>
2366 The standard helper program to use with git-merge-index.
2367 </p>
2368 </dd>
2369 <dt class="hdlist1">
2370 <a href="git-patch-id.html">git-patch-id(1)</a>
2371 </dt>
2372 <dd>
2374 Compute unique ID for a patch.
2375 </p>
2376 </dd>
2377 <dt class="hdlist1">
2378 <a href="git-sh-i18n.html">git-sh-i18n(1)</a>
2379 </dt>
2380 <dd>
2382 Git&#8217;s i18n setup code for shell scripts.
2383 </p>
2384 </dd>
2385 <dt class="hdlist1">
2386 <a href="git-sh-setup.html">git-sh-setup(1)</a>
2387 </dt>
2388 <dd>
2390 Common Git shell script setup code.
2391 </p>
2392 </dd>
2393 <dt class="hdlist1">
2394 <a href="git-stripspace.html">git-stripspace(1)</a>
2395 </dt>
2396 <dd>
2398 Remove unnecessary whitespace.
2399 </p>
2400 </dd>
2401 </dl></div>
2402 </div>
2403 </div>
2404 </div>
2405 <div class="sect1">
2406 <h2 id="_guides">Guides</h2>
2407 <div class="sectionbody">
2408 <div class="paragraph"><p>The following documentation pages are guides about Git concepts.</p></div>
2409 <div class="dlist"><dl>
2410 <dt class="hdlist1">
2411 <a href="gitcore-tutorial.html">gitcore-tutorial(7)</a>
2412 </dt>
2413 <dd>
2415 A Git core tutorial for developers.
2416 </p>
2417 </dd>
2418 <dt class="hdlist1">
2419 <a href="gitcredentials.html">gitcredentials(7)</a>
2420 </dt>
2421 <dd>
2423 Providing usernames and passwords to Git.
2424 </p>
2425 </dd>
2426 <dt class="hdlist1">
2427 <a href="gitcvs-migration.html">gitcvs-migration(7)</a>
2428 </dt>
2429 <dd>
2431 Git for CVS users.
2432 </p>
2433 </dd>
2434 <dt class="hdlist1">
2435 <a href="gitdiffcore.html">gitdiffcore(7)</a>
2436 </dt>
2437 <dd>
2439 Tweaking diff output.
2440 </p>
2441 </dd>
2442 <dt class="hdlist1">
2443 <a href="giteveryday.html">giteveryday(7)</a>
2444 </dt>
2445 <dd>
2447 A useful minimum set of commands for Everyday Git.
2448 </p>
2449 </dd>
2450 <dt class="hdlist1">
2451 <a href="gitfaq.html">gitfaq(7)</a>
2452 </dt>
2453 <dd>
2455 Frequently asked questions about using Git.
2456 </p>
2457 </dd>
2458 <dt class="hdlist1">
2459 <a href="gitglossary.html">gitglossary(7)</a>
2460 </dt>
2461 <dd>
2463 A Git Glossary.
2464 </p>
2465 </dd>
2466 <dt class="hdlist1">
2467 <a href="gitnamespaces.html">gitnamespaces(7)</a>
2468 </dt>
2469 <dd>
2471 Git namespaces.
2472 </p>
2473 </dd>
2474 <dt class="hdlist1">
2475 <a href="gitremote-helpers.html">gitremote-helpers(7)</a>
2476 </dt>
2477 <dd>
2479 Helper programs to interact with remote repositories.
2480 </p>
2481 </dd>
2482 <dt class="hdlist1">
2483 <a href="gitsubmodules.html">gitsubmodules(7)</a>
2484 </dt>
2485 <dd>
2487 Mounting one repository inside another.
2488 </p>
2489 </dd>
2490 <dt class="hdlist1">
2491 <a href="gittutorial.html">gittutorial(7)</a>
2492 </dt>
2493 <dd>
2495 A tutorial introduction to Git.
2496 </p>
2497 </dd>
2498 <dt class="hdlist1">
2499 <a href="gittutorial-2.html">gittutorial-2(7)</a>
2500 </dt>
2501 <dd>
2503 A tutorial introduction to Git: part two.
2504 </p>
2505 </dd>
2506 <dt class="hdlist1">
2507 <a href="gitworkflows.html">gitworkflows(7)</a>
2508 </dt>
2509 <dd>
2511 An overview of recommended workflows with Git.
2512 </p>
2513 </dd>
2514 </dl></div>
2515 </div>
2516 </div>
2517 <div class="sect1">
2518 <h2 id="_repository_command_and_file_interfaces">Repository, command and file interfaces</h2>
2519 <div class="sectionbody">
2520 <div class="paragraph"><p>This documentation discusses repository and command interfaces which
2521 users are expected to interact with directly. See <code>--user-formats</code> in
2522 <a href="git-help.html">git-help(1)</a> for more details on the criteria.</p></div>
2523 <div class="dlist"><dl>
2524 <dt class="hdlist1">
2525 <a href="gitattributes.html">gitattributes(5)</a>
2526 </dt>
2527 <dd>
2529 Defining attributes per path.
2530 </p>
2531 </dd>
2532 <dt class="hdlist1">
2533 <a href="gitcli.html">gitcli(7)</a>
2534 </dt>
2535 <dd>
2537 Git command-line interface and conventions.
2538 </p>
2539 </dd>
2540 <dt class="hdlist1">
2541 <a href="githooks.html">githooks(5)</a>
2542 </dt>
2543 <dd>
2545 Hooks used by Git.
2546 </p>
2547 </dd>
2548 <dt class="hdlist1">
2549 <a href="gitignore.html">gitignore(5)</a>
2550 </dt>
2551 <dd>
2553 Specifies intentionally untracked files to ignore.
2554 </p>
2555 </dd>
2556 <dt class="hdlist1">
2557 <a href="gitmailmap.html">gitmailmap(5)</a>
2558 </dt>
2559 <dd>
2561 Map author/committer names and/or E-Mail addresses.
2562 </p>
2563 </dd>
2564 <dt class="hdlist1">
2565 <a href="gitmodules.html">gitmodules(5)</a>
2566 </dt>
2567 <dd>
2569 Defining submodule properties.
2570 </p>
2571 </dd>
2572 <dt class="hdlist1">
2573 <a href="gitrepository-layout.html">gitrepository-layout(5)</a>
2574 </dt>
2575 <dd>
2577 Git Repository Layout.
2578 </p>
2579 </dd>
2580 <dt class="hdlist1">
2581 <a href="gitrevisions.html">gitrevisions(7)</a>
2582 </dt>
2583 <dd>
2585 Specifying revisions and ranges for Git.
2586 </p>
2587 </dd>
2588 </dl></div>
2589 </div>
2590 </div>
2591 <div class="sect1">
2592 <h2 id="_file_formats_protocols_and_other_developer_interfaces">File formats, protocols and other developer interfaces</h2>
2593 <div class="sectionbody">
2594 <div class="paragraph"><p>This documentation discusses file formats, over-the-wire protocols and
2595 other git developer interfaces. See <code>--developer-interfaces</code> in
2596 <a href="git-help.html">git-help(1)</a>.</p></div>
2597 <div class="dlist"><dl>
2598 <dt class="hdlist1">
2599 <a href="gitformat-bundle.html">gitformat-bundle(5)</a>
2600 </dt>
2601 <dd>
2603 The bundle file format.
2604 </p>
2605 </dd>
2606 <dt class="hdlist1">
2607 <a href="gitformat-chunk.html">gitformat-chunk(5)</a>
2608 </dt>
2609 <dd>
2611 Chunk-based file formats.
2612 </p>
2613 </dd>
2614 <dt class="hdlist1">
2615 <a href="gitformat-commit-graph.html">gitformat-commit-graph(5)</a>
2616 </dt>
2617 <dd>
2619 Git commit-graph format.
2620 </p>
2621 </dd>
2622 <dt class="hdlist1">
2623 <a href="gitformat-index.html">gitformat-index(5)</a>
2624 </dt>
2625 <dd>
2627 Git index format.
2628 </p>
2629 </dd>
2630 <dt class="hdlist1">
2631 <a href="gitformat-pack.html">gitformat-pack(5)</a>
2632 </dt>
2633 <dd>
2635 Git pack format.
2636 </p>
2637 </dd>
2638 <dt class="hdlist1">
2639 <a href="gitformat-signature.html">gitformat-signature(5)</a>
2640 </dt>
2641 <dd>
2643 Git cryptographic signature formats.
2644 </p>
2645 </dd>
2646 <dt class="hdlist1">
2647 <a href="gitprotocol-capabilities.html">gitprotocol-capabilities(5)</a>
2648 </dt>
2649 <dd>
2651 Protocol v0 and v1 capabilities.
2652 </p>
2653 </dd>
2654 <dt class="hdlist1">
2655 <a href="gitprotocol-common.html">gitprotocol-common(5)</a>
2656 </dt>
2657 <dd>
2659 Things common to various protocols.
2660 </p>
2661 </dd>
2662 <dt class="hdlist1">
2663 <a href="gitprotocol-http.html">gitprotocol-http(5)</a>
2664 </dt>
2665 <dd>
2667 Git HTTP-based protocols.
2668 </p>
2669 </dd>
2670 <dt class="hdlist1">
2671 <a href="gitprotocol-pack.html">gitprotocol-pack(5)</a>
2672 </dt>
2673 <dd>
2675 How packs are transferred over-the-wire.
2676 </p>
2677 </dd>
2678 <dt class="hdlist1">
2679 <a href="gitprotocol-v2.html">gitprotocol-v2(5)</a>
2680 </dt>
2681 <dd>
2683 Git Wire Protocol, Version 2.
2684 </p>
2685 </dd>
2686 </dl></div>
2687 </div>
2688 </div>
2689 <div class="sect1">
2690 <h2 id="_configuration_mechanism">Configuration Mechanism</h2>
2691 <div class="sectionbody">
2692 <div class="paragraph"><p>Git uses a simple text format to store customizations that are per
2693 repository and are per user. Such a configuration file may look
2694 like this:</p></div>
2695 <div class="listingblock">
2696 <div class="content">
2697 <pre><code>#
2698 # A '#' or ';' character indicates a comment.
2701 ; core variables
2702 [core]
2703 ; Don't trust file modes
2704 filemode = false
2706 ; user identity
2707 [user]
2708 name = "Junio C Hamano"
2709 email = "gitster@pobox.com"</code></pre>
2710 </div></div>
2711 <div class="paragraph"><p>Various commands read from the configuration file and adjust
2712 their operation accordingly. See <a href="git-config.html">git-config(1)</a> for a
2713 list and more details about the configuration mechanism.</p></div>
2714 </div>
2715 </div>
2716 <div class="sect1">
2717 <h2 id="_identifier_terminology">Identifier Terminology</h2>
2718 <div class="sectionbody">
2719 <div class="dlist"><dl>
2720 <dt class="hdlist1">
2721 &lt;object&gt;
2722 </dt>
2723 <dd>
2725 Indicates the object name for any type of object.
2726 </p>
2727 </dd>
2728 <dt class="hdlist1">
2729 &lt;blob&gt;
2730 </dt>
2731 <dd>
2733 Indicates a blob object name.
2734 </p>
2735 </dd>
2736 <dt class="hdlist1">
2737 &lt;tree&gt;
2738 </dt>
2739 <dd>
2741 Indicates a tree object name.
2742 </p>
2743 </dd>
2744 <dt class="hdlist1">
2745 &lt;commit&gt;
2746 </dt>
2747 <dd>
2749 Indicates a commit object name.
2750 </p>
2751 </dd>
2752 <dt class="hdlist1">
2753 &lt;tree-ish&gt;
2754 </dt>
2755 <dd>
2757 Indicates a tree, commit or tag object name. A
2758 command that takes a &lt;tree-ish&gt; argument ultimately wants to
2759 operate on a &lt;tree&gt; object but automatically dereferences
2760 &lt;commit&gt; and &lt;tag&gt; objects that point at a &lt;tree&gt;.
2761 </p>
2762 </dd>
2763 <dt class="hdlist1">
2764 &lt;commit-ish&gt;
2765 </dt>
2766 <dd>
2768 Indicates a commit or tag object name. A
2769 command that takes a &lt;commit-ish&gt; argument ultimately wants to
2770 operate on a &lt;commit&gt; object but automatically dereferences
2771 &lt;tag&gt; objects that point at a &lt;commit&gt;.
2772 </p>
2773 </dd>
2774 <dt class="hdlist1">
2775 &lt;type&gt;
2776 </dt>
2777 <dd>
2779 Indicates that an object type is required.
2780 Currently one of: <code>blob</code>, <code>tree</code>, <code>commit</code>, or <code>tag</code>.
2781 </p>
2782 </dd>
2783 <dt class="hdlist1">
2784 &lt;file&gt;
2785 </dt>
2786 <dd>
2788 Indicates a filename - almost always relative to the
2789 root of the tree structure <code>GIT_INDEX_FILE</code> describes.
2790 </p>
2791 </dd>
2792 </dl></div>
2793 </div>
2794 </div>
2795 <div class="sect1">
2796 <h2 id="_symbolic_identifiers">Symbolic Identifiers</h2>
2797 <div class="sectionbody">
2798 <div class="paragraph"><p>Any Git command accepting any &lt;object&gt; can also use the following
2799 symbolic notation:</p></div>
2800 <div class="dlist"><dl>
2801 <dt class="hdlist1">
2802 HEAD
2803 </dt>
2804 <dd>
2806 indicates the head of the current branch.
2807 </p>
2808 </dd>
2809 <dt class="hdlist1">
2810 &lt;tag&gt;
2811 </dt>
2812 <dd>
2814 a valid tag <em>name</em>
2815 (i.e. a <code>refs/tags/&lt;tag&gt;</code> reference).
2816 </p>
2817 </dd>
2818 <dt class="hdlist1">
2819 &lt;head&gt;
2820 </dt>
2821 <dd>
2823 a valid head <em>name</em>
2824 (i.e. a <code>refs/heads/&lt;head&gt;</code> reference).
2825 </p>
2826 </dd>
2827 </dl></div>
2828 <div class="paragraph"><p>For a more complete list of ways to spell object names, see
2829 "SPECIFYING REVISIONS" section in <a href="gitrevisions.html">gitrevisions(7)</a>.</p></div>
2830 </div>
2831 </div>
2832 <div class="sect1">
2833 <h2 id="_file_directory_structure">File/Directory Structure</h2>
2834 <div class="sectionbody">
2835 <div class="paragraph"><p>Please see the <a href="gitrepository-layout.html">gitrepository-layout(5)</a> document.</p></div>
2836 <div class="paragraph"><p>Read <a href="githooks.html">githooks(5)</a> for more details about each hook.</p></div>
2837 <div class="paragraph"><p>Higher level SCMs may provide and manage additional information in the
2838 <code>$GIT_DIR</code>.</p></div>
2839 </div>
2840 </div>
2841 <div class="sect1">
2842 <h2 id="_terminology">Terminology</h2>
2843 <div class="sectionbody">
2844 <div class="paragraph"><p>Please see <a href="gitglossary.html">gitglossary(7)</a>.</p></div>
2845 </div>
2846 </div>
2847 <div class="sect1">
2848 <h2 id="_environment_variables">Environment Variables</h2>
2849 <div class="sectionbody">
2850 <div class="paragraph"><p>Various Git commands pay attention to environment variables and change
2851 their behavior. The environment variables marked as "Boolean" take
2852 their values the same way as Boolean valued configuration variables, e.g.
2853 "true", "yes", "on" and positive numbers are taken as "yes".</p></div>
2854 <div class="paragraph"><p>Here are the variables:</p></div>
2855 <div class="sect2">
2856 <h3 id="_the_git_repository">The Git Repository</h3>
2857 <div class="paragraph"><p>These environment variables apply to <em>all</em> core Git commands. Nb: it
2858 is worth noting that they may be used/overridden by SCMS sitting above
2859 Git so take care if using a foreign front-end.</p></div>
2860 <div class="dlist"><dl>
2861 <dt class="hdlist1">
2862 <code>GIT_INDEX_FILE</code>
2863 </dt>
2864 <dd>
2866 This environment variable specifies an alternate
2867 index file. If not specified, the default of <code>$GIT_DIR/index</code>
2868 is used.
2869 </p>
2870 </dd>
2871 <dt class="hdlist1">
2872 <code>GIT_INDEX_VERSION</code>
2873 </dt>
2874 <dd>
2876 This environment variable specifies what index version is used
2877 when writing the index file out. It won&#8217;t affect existing index
2878 files. By default index file version 2 or 3 is used. See
2879 <a href="git-update-index.html">git-update-index(1)</a> for more information.
2880 </p>
2881 </dd>
2882 <dt class="hdlist1">
2883 <code>GIT_OBJECT_DIRECTORY</code>
2884 </dt>
2885 <dd>
2887 If the object storage directory is specified via this
2888 environment variable then the sha1 directories are created
2889 underneath - otherwise the default <code>$GIT_DIR/objects</code>
2890 directory is used.
2891 </p>
2892 </dd>
2893 <dt class="hdlist1">
2894 <code>GIT_ALTERNATE_OBJECT_DIRECTORIES</code>
2895 </dt>
2896 <dd>
2898 Due to the immutable nature of Git objects, old objects can be
2899 archived into shared, read-only directories. This variable
2900 specifies a ":" separated (on Windows ";" separated) list
2901 of Git object directories which can be used to search for Git
2902 objects. New objects will not be written to these directories.
2903 </p>
2904 <div class="paragraph"><p>Entries that begin with <code>"</code> (double-quote) will be interpreted
2905 as C-style quoted paths, removing leading and trailing
2906 double-quotes and respecting backslash escapes. E.g., the value
2907 <code>"path-with-\"-and-:-in-it":vanilla-path</code> has two paths:
2908 <code>path-with-"-and-:-in-it</code> and <code>vanilla-path</code>.</p></div>
2909 </dd>
2910 <dt class="hdlist1">
2911 <code>GIT_DIR</code>
2912 </dt>
2913 <dd>
2915 If the <code>GIT_DIR</code> environment variable is set then it
2916 specifies a path to use instead of the default <code>.git</code>
2917 for the base of the repository.
2918 The <code>--git-dir</code> command-line option also sets this value.
2919 </p>
2920 </dd>
2921 <dt class="hdlist1">
2922 <code>GIT_WORK_TREE</code>
2923 </dt>
2924 <dd>
2926 Set the path to the root of the working tree.
2927 This can also be controlled by the <code>--work-tree</code> command-line
2928 option and the core.worktree configuration variable.
2929 </p>
2930 </dd>
2931 <dt class="hdlist1">
2932 <code>GIT_NAMESPACE</code>
2933 </dt>
2934 <dd>
2936 Set the Git namespace; see <a href="gitnamespaces.html">gitnamespaces(7)</a> for details.
2937 The <code>--namespace</code> command-line option also sets this value.
2938 </p>
2939 </dd>
2940 <dt class="hdlist1">
2941 <code>GIT_CEILING_DIRECTORIES</code>
2942 </dt>
2943 <dd>
2945 This should be a colon-separated list of absolute paths. If
2946 set, it is a list of directories that Git should not chdir up
2947 into while looking for a repository directory (useful for
2948 excluding slow-loading network directories). It will not
2949 exclude the current working directory or a GIT_DIR set on the
2950 command line or in the environment. Normally, Git has to read
2951 the entries in this list and resolve any symlink that
2952 might be present in order to compare them with the current
2953 directory. However, if even this access is slow, you
2954 can add an empty entry to the list to tell Git that the
2955 subsequent entries are not symlinks and needn&#8217;t be resolved;
2956 e.g.,
2957 <code>GIT_CEILING_DIRECTORIES=/maybe/symlink::/very/slow/non/symlink</code>.
2958 </p>
2959 </dd>
2960 <dt class="hdlist1">
2961 <code>GIT_DISCOVERY_ACROSS_FILESYSTEM</code>
2962 </dt>
2963 <dd>
2965 When run in a directory that does not have ".git" repository
2966 directory, Git tries to find such a directory in the parent
2967 directories to find the top of the working tree, but by default it
2968 does not cross filesystem boundaries. This Boolean environment variable
2969 can be set to true to tell Git not to stop at filesystem
2970 boundaries. Like <code>GIT_CEILING_DIRECTORIES</code>, this will not affect
2971 an explicit repository directory set via <code>GIT_DIR</code> or on the
2972 command line.
2973 </p>
2974 </dd>
2975 <dt class="hdlist1">
2976 <code>GIT_COMMON_DIR</code>
2977 </dt>
2978 <dd>
2980 If this variable is set to a path, non-worktree files that are
2981 normally in $GIT_DIR will be taken from this path
2982 instead. Worktree-specific files such as HEAD or index are
2983 taken from $GIT_DIR. See <a href="gitrepository-layout.html">gitrepository-layout(5)</a> and
2984 <a href="git-worktree.html">git-worktree(1)</a> for
2985 details. This variable has lower precedence than other path
2986 variables such as GIT_INDEX_FILE, GIT_OBJECT_DIRECTORY&#8230;
2987 </p>
2988 </dd>
2989 <dt class="hdlist1">
2990 <code>GIT_DEFAULT_HASH</code>
2991 </dt>
2992 <dd>
2994 If this variable is set, the default hash algorithm for new
2995 repositories will be set to this value. This value is
2996 ignored when cloning and the setting of the remote repository
2997 is always used. The default is "sha1".
2998 See <code>--object-format</code> in <a href="git-init.html">git-init(1)</a>.
2999 </p>
3000 </dd>
3001 </dl></div>
3002 </div>
3003 <div class="sect2">
3004 <h3 id="_git_commits">Git Commits</h3>
3005 <div class="dlist"><dl>
3006 <dt class="hdlist1">
3007 <code>GIT_AUTHOR_NAME</code>
3008 </dt>
3009 <dd>
3011 The human-readable name used in the author identity when creating commit or
3012 tag objects, or when writing reflogs. Overrides the <code>user.name</code> and
3013 <code>author.name</code> configuration settings.
3014 </p>
3015 </dd>
3016 <dt class="hdlist1">
3017 <code>GIT_AUTHOR_EMAIL</code>
3018 </dt>
3019 <dd>
3021 The email address used in the author identity when creating commit or
3022 tag objects, or when writing reflogs. Overrides the <code>user.email</code> and
3023 <code>author.email</code> configuration settings.
3024 </p>
3025 </dd>
3026 <dt class="hdlist1">
3027 <code>GIT_AUTHOR_DATE</code>
3028 </dt>
3029 <dd>
3031 The date used for the author identity when creating commit or tag objects, or
3032 when writing reflogs. See <a href="git-commit.html">git-commit(1)</a> for valid formats.
3033 </p>
3034 </dd>
3035 <dt class="hdlist1">
3036 <code>GIT_COMMITTER_NAME</code>
3037 </dt>
3038 <dd>
3040 The human-readable name used in the committer identity when creating commit or
3041 tag objects, or when writing reflogs. Overrides the <code>user.name</code> and
3042 <code>committer.name</code> configuration settings.
3043 </p>
3044 </dd>
3045 <dt class="hdlist1">
3046 <code>GIT_COMMITTER_EMAIL</code>
3047 </dt>
3048 <dd>
3050 The email address used in the author identity when creating commit or
3051 tag objects, or when writing reflogs. Overrides the <code>user.email</code> and
3052 <code>committer.email</code> configuration settings.
3053 </p>
3054 </dd>
3055 <dt class="hdlist1">
3056 <code>GIT_COMMITTER_DATE</code>
3057 </dt>
3058 <dd>
3060 The date used for the committer identity when creating commit or tag objects, or
3061 when writing reflogs. See <a href="git-commit.html">git-commit(1)</a> for valid formats.
3062 </p>
3063 </dd>
3064 <dt class="hdlist1">
3065 <code>EMAIL</code>
3066 </dt>
3067 <dd>
3069 The email address used in the author and committer identities if no other
3070 relevant environment variable or configuration setting has been set.
3071 </p>
3072 </dd>
3073 </dl></div>
3074 </div>
3075 <div class="sect2">
3076 <h3 id="_git_diffs">Git Diffs</h3>
3077 <div class="dlist"><dl>
3078 <dt class="hdlist1">
3079 <code>GIT_DIFF_OPTS</code>
3080 </dt>
3081 <dd>
3083 Only valid setting is "--unified=??" or "-u??" to set the
3084 number of context lines shown when a unified diff is created.
3085 This takes precedence over any "-U" or "--unified" option
3086 value passed on the Git diff command line.
3087 </p>
3088 </dd>
3089 <dt class="hdlist1">
3090 <code>GIT_EXTERNAL_DIFF</code>
3091 </dt>
3092 <dd>
3094 When the environment variable <code>GIT_EXTERNAL_DIFF</code> is set, the
3095 program named by it is called to generate diffs, and Git
3096 does not use its builtin diff machinery.
3097 For a path that is added, removed, or modified,
3098 <code>GIT_EXTERNAL_DIFF</code> is called with 7 parameters:
3099 </p>
3100 <div class="literalblock">
3101 <div class="content">
3102 <pre><code>path old-file old-hex old-mode new-file new-hex new-mode</code></pre>
3103 </div></div>
3104 <div class="paragraph"><p>where:</p></div>
3105 </dd>
3106 <dt class="hdlist1">
3107 &lt;old|new&gt;-file
3108 </dt>
3109 <dd>
3111 are files GIT_EXTERNAL_DIFF can use to read the
3112 contents of &lt;old|new&gt;,
3113 </p>
3114 </dd>
3115 <dt class="hdlist1">
3116 &lt;old|new&gt;-hex
3117 </dt>
3118 <dd>
3120 are the 40-hexdigit SHA-1 hashes,
3121 </p>
3122 </dd>
3123 <dt class="hdlist1">
3124 &lt;old|new&gt;-mode
3125 </dt>
3126 <dd>
3128 are the octal representation of the file modes.
3129 </p>
3130 <div class="paragraph"><p>The file parameters can point at the user&#8217;s working file
3131 (e.g. <code>new-file</code> in "git-diff-files"), <code>/dev/null</code> (e.g. <code>old-file</code>
3132 when a new file is added), or a temporary file (e.g. <code>old-file</code> in the
3133 index). <code>GIT_EXTERNAL_DIFF</code> should not worry about unlinking the
3134 temporary file&#8201;&#8212;&#8201;it is removed when <code>GIT_EXTERNAL_DIFF</code> exits.</p></div>
3135 <div class="paragraph"><p>For a path that is unmerged, <code>GIT_EXTERNAL_DIFF</code> is called with 1
3136 parameter, &lt;path&gt;.</p></div>
3137 <div class="paragraph"><p>For each path <code>GIT_EXTERNAL_DIFF</code> is called, two environment variables,
3138 <code>GIT_DIFF_PATH_COUNTER</code> and <code>GIT_DIFF_PATH_TOTAL</code> are set.</p></div>
3139 </dd>
3140 <dt class="hdlist1">
3141 <code>GIT_DIFF_PATH_COUNTER</code>
3142 </dt>
3143 <dd>
3145 A 1-based counter incremented by one for every path.
3146 </p>
3147 </dd>
3148 <dt class="hdlist1">
3149 <code>GIT_DIFF_PATH_TOTAL</code>
3150 </dt>
3151 <dd>
3153 The total number of paths.
3154 </p>
3155 </dd>
3156 </dl></div>
3157 </div>
3158 <div class="sect2">
3159 <h3 id="_other">other</h3>
3160 <div class="dlist"><dl>
3161 <dt class="hdlist1">
3162 <code>GIT_MERGE_VERBOSITY</code>
3163 </dt>
3164 <dd>
3166 A number controlling the amount of output shown by
3167 the recursive merge strategy. Overrides merge.verbosity.
3168 See <a href="git-merge.html">git-merge(1)</a>
3169 </p>
3170 </dd>
3171 <dt class="hdlist1">
3172 <code>GIT_PAGER</code>
3173 </dt>
3174 <dd>
3176 This environment variable overrides <code>$PAGER</code>. If it is set
3177 to an empty string or to the value "cat", Git will not launch
3178 a pager. See also the <code>core.pager</code> option in
3179 <a href="git-config.html">git-config(1)</a>.
3180 </p>
3181 </dd>
3182 <dt class="hdlist1">
3183 <code>GIT_PROGRESS_DELAY</code>
3184 </dt>
3185 <dd>
3187 A number controlling how many seconds to delay before showing
3188 optional progress indicators. Defaults to 2.
3189 </p>
3190 </dd>
3191 <dt class="hdlist1">
3192 <code>GIT_EDITOR</code>
3193 </dt>
3194 <dd>
3196 This environment variable overrides <code>$EDITOR</code> and <code>$VISUAL</code>.
3197 It is used by several Git commands when, on interactive mode,
3198 an editor is to be launched. See also <a href="git-var.html">git-var(1)</a>
3199 and the <code>core.editor</code> option in <a href="git-config.html">git-config(1)</a>.
3200 </p>
3201 </dd>
3202 <dt class="hdlist1">
3203 <code>GIT_SEQUENCE_EDITOR</code>
3204 </dt>
3205 <dd>
3207 This environment variable overrides the configured Git editor
3208 when editing the todo list of an interactive rebase. See also
3209 <a href="git-rebase.html">git-rebase(1)</a> and the <code>sequence.editor</code> option in
3210 <a href="git-config.html">git-config(1)</a>.
3211 </p>
3212 </dd>
3213 <dt class="hdlist1">
3214 <code>GIT_SSH</code>
3215 </dt>
3216 <dt class="hdlist1">
3217 <code>GIT_SSH_COMMAND</code>
3218 </dt>
3219 <dd>
3221 If either of these environment variables is set then <em>git fetch</em>
3222 and <em>git push</em> will use the specified command instead of <em>ssh</em>
3223 when they need to connect to a remote system.
3224 The command-line parameters passed to the configured command are
3225 determined by the ssh variant. See <code>ssh.variant</code> option in
3226 <a href="git-config.html">git-config(1)</a> for details.
3227 </p>
3228 <div class="paragraph"><p><code>$GIT_SSH_COMMAND</code> takes precedence over <code>$GIT_SSH</code>, and is interpreted
3229 by the shell, which allows additional arguments to be included.
3230 <code>$GIT_SSH</code> on the other hand must be just the path to a program
3231 (which can be a wrapper shell script, if additional arguments are
3232 needed).</p></div>
3233 <div class="paragraph"><p>Usually it is easier to configure any desired options through your
3234 personal <code>.ssh/config</code> file. Please consult your ssh documentation
3235 for further details.</p></div>
3236 </dd>
3237 <dt class="hdlist1">
3238 <code>GIT_SSH_VARIANT</code>
3239 </dt>
3240 <dd>
3242 If this environment variable is set, it overrides Git&#8217;s autodetection
3243 whether <code>GIT_SSH</code>/<code>GIT_SSH_COMMAND</code>/<code>core.sshCommand</code> refer to OpenSSH,
3244 plink or tortoiseplink. This variable overrides the config setting
3245 <code>ssh.variant</code> that serves the same purpose.
3246 </p>
3247 </dd>
3248 <dt class="hdlist1">
3249 <code>GIT_SSL_NO_VERIFY</code>
3250 </dt>
3251 <dd>
3253 Setting and exporting this environment variable to any value
3254 tells Git not to verify the SSL certificate when fetching or
3255 pushing over HTTPS.
3256 </p>
3257 </dd>
3258 <dt class="hdlist1">
3259 <code>GIT_ATTR_SOURCE</code>
3260 </dt>
3261 <dd>
3263 Sets the treeish that gitattributes will be read from.
3264 </p>
3265 </dd>
3266 <dt class="hdlist1">
3267 <code>GIT_ASKPASS</code>
3268 </dt>
3269 <dd>
3271 If this environment variable is set, then Git commands which need to
3272 acquire passwords or passphrases (e.g. for HTTP or IMAP authentication)
3273 will call this program with a suitable prompt as command-line argument
3274 and read the password from its STDOUT. See also the <code>core.askPass</code>
3275 option in <a href="git-config.html">git-config(1)</a>.
3276 </p>
3277 </dd>
3278 <dt class="hdlist1">
3279 <code>GIT_TERMINAL_PROMPT</code>
3280 </dt>
3281 <dd>
3283 If this Boolean environment variable is set to false, git will not prompt
3284 on the terminal (e.g., when asking for HTTP authentication).
3285 </p>
3286 </dd>
3287 <dt class="hdlist1">
3288 <code>GIT_CONFIG_GLOBAL</code>
3289 </dt>
3290 <dt class="hdlist1">
3291 <code>GIT_CONFIG_SYSTEM</code>
3292 </dt>
3293 <dd>
3295 Take the configuration from the given files instead from global or
3296 system-level configuration files. If <code>GIT_CONFIG_SYSTEM</code> is set, the
3297 system config file defined at build time (usually <code>/etc/gitconfig</code>)
3298 will not be read. Likewise, if <code>GIT_CONFIG_GLOBAL</code> is set, neither
3299 <code>$HOME/.gitconfig</code> nor <code>$XDG_CONFIG_HOME/git/config</code> will be read. Can
3300 be set to <code>/dev/null</code> to skip reading configuration files of the
3301 respective level.
3302 </p>
3303 </dd>
3304 <dt class="hdlist1">
3305 <code>GIT_CONFIG_NOSYSTEM</code>
3306 </dt>
3307 <dd>
3309 Whether to skip reading settings from the system-wide
3310 <code>$(prefix)/etc/gitconfig</code> file. This Boolean environment variable can
3311 be used along with <code>$HOME</code> and <code>$XDG_CONFIG_HOME</code> to create a
3312 predictable environment for a picky script, or you can set it
3313 to true to temporarily avoid using a buggy <code>/etc/gitconfig</code> file while
3314 waiting for someone with sufficient permissions to fix it.
3315 </p>
3316 </dd>
3317 <dt class="hdlist1">
3318 <code>GIT_FLUSH</code>
3319 </dt>
3320 <dd>
3323 If this environment variable is set to "1", then commands such
3324 as <em>git blame</em> (in incremental mode), <em>git rev-list</em>, <em>git log</em>,
3325 <em>git check-attr</em> and <em>git check-ignore</em> will
3326 force a flush of the output stream after each record have been
3327 flushed. If this
3328 variable is set to "0", the output of these commands will be done
3329 using completely buffered I/O. If this environment variable is
3330 not set, Git will choose buffered or record-oriented flushing
3331 based on whether stdout appears to be redirected to a file or not.
3332 </p>
3333 </dd>
3334 <dt class="hdlist1">
3335 <code>GIT_TRACE</code>
3336 </dt>
3337 <dd>
3339 Enables general trace messages, e.g. alias expansion, built-in
3340 command execution and external command execution.
3341 </p>
3342 <div class="paragraph"><p>If this variable is set to "1", "2" or "true" (comparison
3343 is case insensitive), trace messages will be printed to
3344 stderr.</p></div>
3345 <div class="paragraph"><p>If the variable is set to an integer value greater than 2
3346 and lower than 10 (strictly) then Git will interpret this
3347 value as an open file descriptor and will try to write the
3348 trace messages into this file descriptor.</p></div>
3349 <div class="paragraph"><p>Alternatively, if the variable is set to an absolute path
3350 (starting with a <em>/</em> character), Git will interpret this
3351 as a file path and will try to append the trace messages
3352 to it.</p></div>
3353 <div class="paragraph"><p>Unsetting the variable, or setting it to empty, "0" or
3354 "false" (case insensitive) disables trace messages.</p></div>
3355 </dd>
3356 <dt class="hdlist1">
3357 <code>GIT_TRACE_FSMONITOR</code>
3358 </dt>
3359 <dd>
3361 Enables trace messages for the filesystem monitor extension.
3362 See <code>GIT_TRACE</code> for available trace output options.
3363 </p>
3364 </dd>
3365 <dt class="hdlist1">
3366 <code>GIT_TRACE_PACK_ACCESS</code>
3367 </dt>
3368 <dd>
3370 Enables trace messages for all accesses to any packs. For each
3371 access, the pack file name and an offset in the pack is
3372 recorded. This may be helpful for troubleshooting some
3373 pack-related performance problems.
3374 See <code>GIT_TRACE</code> for available trace output options.
3375 </p>
3376 </dd>
3377 <dt class="hdlist1">
3378 <code>GIT_TRACE_PACKET</code>
3379 </dt>
3380 <dd>
3382 Enables trace messages for all packets coming in or out of a
3383 given program. This can help with debugging object negotiation
3384 or other protocol issues. Tracing is turned off at a packet
3385 starting with "PACK" (but see <code>GIT_TRACE_PACKFILE</code> below).
3386 See <code>GIT_TRACE</code> for available trace output options.
3387 </p>
3388 </dd>
3389 <dt class="hdlist1">
3390 <code>GIT_TRACE_PACKFILE</code>
3391 </dt>
3392 <dd>
3394 Enables tracing of packfiles sent or received by a
3395 given program. Unlike other trace output, this trace is
3396 verbatim: no headers, and no quoting of binary data. You almost
3397 certainly want to direct into a file (e.g.,
3398 <code>GIT_TRACE_PACKFILE=/tmp/my.pack</code>) rather than displaying it on
3399 the terminal or mixing it with other trace output.
3400 </p>
3401 <div class="paragraph"><p>Note that this is currently only implemented for the client side
3402 of clones and fetches.</p></div>
3403 </dd>
3404 <dt class="hdlist1">
3405 <code>GIT_TRACE_PERFORMANCE</code>
3406 </dt>
3407 <dd>
3409 Enables performance related trace messages, e.g. total execution
3410 time of each Git command.
3411 See <code>GIT_TRACE</code> for available trace output options.
3412 </p>
3413 </dd>
3414 <dt class="hdlist1">
3415 <code>GIT_TRACE_REFS</code>
3416 </dt>
3417 <dd>
3419 Enables trace messages for operations on the ref database.
3420 See <code>GIT_TRACE</code> for available trace output options.
3421 </p>
3422 </dd>
3423 <dt class="hdlist1">
3424 <code>GIT_TRACE_SETUP</code>
3425 </dt>
3426 <dd>
3428 Enables trace messages printing the .git, working tree and current
3429 working directory after Git has completed its setup phase.
3430 See <code>GIT_TRACE</code> for available trace output options.
3431 </p>
3432 </dd>
3433 <dt class="hdlist1">
3434 <code>GIT_TRACE_SHALLOW</code>
3435 </dt>
3436 <dd>
3438 Enables trace messages that can help debugging fetching /
3439 cloning of shallow repositories.
3440 See <code>GIT_TRACE</code> for available trace output options.
3441 </p>
3442 </dd>
3443 <dt class="hdlist1">
3444 <code>GIT_TRACE_CURL</code>
3445 </dt>
3446 <dd>
3448 Enables a curl full trace dump of all incoming and outgoing data,
3449 including descriptive information, of the git transport protocol.
3450 This is similar to doing curl <code>--trace-ascii</code> on the command line.
3451 See <code>GIT_TRACE</code> for available trace output options.
3452 </p>
3453 </dd>
3454 <dt class="hdlist1">
3455 <code>GIT_TRACE_CURL_NO_DATA</code>
3456 </dt>
3457 <dd>
3459 When a curl trace is enabled (see <code>GIT_TRACE_CURL</code> above), do not dump
3460 data (that is, only dump info lines and headers).
3461 </p>
3462 </dd>
3463 <dt class="hdlist1">
3464 <code>GIT_TRACE2</code>
3465 </dt>
3466 <dd>
3468 Enables more detailed trace messages from the "trace2" library.
3469 Output from <code>GIT_TRACE2</code> is a simple text-based format for human
3470 readability.
3471 </p>
3472 <div class="paragraph"><p>If this variable is set to "1", "2" or "true" (comparison
3473 is case insensitive), trace messages will be printed to
3474 stderr.</p></div>
3475 <div class="paragraph"><p>If the variable is set to an integer value greater than 2
3476 and lower than 10 (strictly) then Git will interpret this
3477 value as an open file descriptor and will try to write the
3478 trace messages into this file descriptor.</p></div>
3479 <div class="paragraph"><p>Alternatively, if the variable is set to an absolute path
3480 (starting with a <em>/</em> character), Git will interpret this
3481 as a file path and will try to append the trace messages
3482 to it. If the path already exists and is a directory, the
3483 trace messages will be written to files (one per process)
3484 in that directory, named according to the last component
3485 of the SID and an optional counter (to avoid filename
3486 collisions).</p></div>
3487 <div class="paragraph"><p>In addition, if the variable is set to
3488 <code>af_unix:[&lt;socket_type&gt;:]&lt;absolute-pathname&gt;</code>, Git will try
3489 to open the path as a Unix Domain Socket. The socket type
3490 can be either <code>stream</code> or <code>dgram</code>.</p></div>
3491 <div class="paragraph"><p>Unsetting the variable, or setting it to empty, "0" or
3492 "false" (case insensitive) disables trace messages.</p></div>
3493 <div class="paragraph"><p>See <a href="technical/api-trace2.html">Trace2 documentation</a>
3494 for full details.</p></div>
3495 </dd>
3496 <dt class="hdlist1">
3497 <code>GIT_TRACE2_EVENT</code>
3498 </dt>
3499 <dd>
3501 This setting writes a JSON-based format that is suited for machine
3502 interpretation.
3503 See <code>GIT_TRACE2</code> for available trace output options and
3504 <a href="technical/api-trace2.html">Trace2 documentation</a> for full details.
3505 </p>
3506 </dd>
3507 <dt class="hdlist1">
3508 <code>GIT_TRACE2_PERF</code>
3509 </dt>
3510 <dd>
3512 In addition to the text-based messages available in <code>GIT_TRACE2</code>, this
3513 setting writes a column-based format for understanding nesting
3514 regions.
3515 See <code>GIT_TRACE2</code> for available trace output options and
3516 <a href="technical/api-trace2.html">Trace2 documentation</a> for full details.
3517 </p>
3518 </dd>
3519 <dt class="hdlist1">
3520 <code>GIT_TRACE_REDACT</code>
3521 </dt>
3522 <dd>
3524 By default, when tracing is activated, Git redacts the values of
3525 cookies, the "Authorization:" header, the "Proxy-Authorization:"
3526 header and packfile URIs. Set this Boolean environment variable to false to prevent this
3527 redaction.
3528 </p>
3529 </dd>
3530 <dt class="hdlist1">
3531 <code>GIT_LITERAL_PATHSPECS</code>
3532 </dt>
3533 <dd>
3535 Setting this Boolean environment variable to true will cause Git to treat all
3536 pathspecs literally, rather than as glob patterns. For example,
3537 running <code>GIT_LITERAL_PATHSPECS=1 git log -- '*.c'</code> will search
3538 for commits that touch the path <code>*.c</code>, not any paths that the
3539 glob <code>*.c</code> matches. You might want this if you are feeding
3540 literal paths to Git (e.g., paths previously given to you by
3541 <code>git ls-tree</code>, <code>--raw</code> diff output, etc).
3542 </p>
3543 </dd>
3544 <dt class="hdlist1">
3545 <code>GIT_GLOB_PATHSPECS</code>
3546 </dt>
3547 <dd>
3549 Setting this Boolean environment variable to true will cause Git to treat all
3550 pathspecs as glob patterns (aka "glob" magic).
3551 </p>
3552 </dd>
3553 <dt class="hdlist1">
3554 <code>GIT_NOGLOB_PATHSPECS</code>
3555 </dt>
3556 <dd>
3558 Setting this Boolean environment variable to true will cause Git to treat all
3559 pathspecs as literal (aka "literal" magic).
3560 </p>
3561 </dd>
3562 <dt class="hdlist1">
3563 <code>GIT_ICASE_PATHSPECS</code>
3564 </dt>
3565 <dd>
3567 Setting this Boolean environment variable to true will cause Git to treat all
3568 pathspecs as case-insensitive.
3569 </p>
3570 </dd>
3571 <dt class="hdlist1">
3572 <code>GIT_REFLOG_ACTION</code>
3573 </dt>
3574 <dd>
3576 When a ref is updated, reflog entries are created to keep
3577 track of the reason why the ref was updated (which is
3578 typically the name of the high-level command that updated
3579 the ref), in addition to the old and new values of the ref.
3580 A scripted Porcelain command can use set_reflog_action
3581 helper function in <code>git-sh-setup</code> to set its name to this
3582 variable when it is invoked as the top level command by the
3583 end user, to be recorded in the body of the reflog.
3584 </p>
3585 </dd>
3586 <dt class="hdlist1">
3587 <code>GIT_REF_PARANOIA</code>
3588 </dt>
3589 <dd>
3591 If this Boolean environment variable is set to false, ignore broken or badly named refs when iterating
3592 over lists of refs. Normally Git will try to include any such
3593 refs, which may cause some operations to fail. This is usually
3594 preferable, as potentially destructive operations (e.g.,
3595 <a href="git-prune.html">git-prune(1)</a>) are better off aborting rather than
3596 ignoring broken refs (and thus considering the history they
3597 point to as not worth saving). The default value is <code>1</code> (i.e.,
3598 be paranoid about detecting and aborting all operations). You
3599 should not normally need to set this to <code>0</code>, but it may be
3600 useful when trying to salvage data from a corrupted repository.
3601 </p>
3602 </dd>
3603 <dt class="hdlist1">
3604 <code>GIT_ALLOW_PROTOCOL</code>
3605 </dt>
3606 <dd>
3608 If set to a colon-separated list of protocols, behave as if
3609 <code>protocol.allow</code> is set to <code>never</code>, and each of the listed
3610 protocols has <code>protocol.&lt;name&gt;.allow</code> set to <code>always</code>
3611 (overriding any existing configuration). See the description of
3612 <code>protocol.allow</code> in <a href="git-config.html">git-config(1)</a> for more details.
3613 </p>
3614 </dd>
3615 <dt class="hdlist1">
3616 <code>GIT_PROTOCOL_FROM_USER</code>
3617 </dt>
3618 <dd>
3620 Set this Boolean environment variable to false to prevent protocols used by fetch/push/clone which are
3621 configured to the <code>user</code> state. This is useful to restrict recursive
3622 submodule initialization from an untrusted repository or for programs
3623 which feed potentially-untrusted URLS to git commands. See
3624 <a href="git-config.html">git-config(1)</a> for more details.
3625 </p>
3626 </dd>
3627 <dt class="hdlist1">
3628 <code>GIT_PROTOCOL</code>
3629 </dt>
3630 <dd>
3632 For internal use only. Used in handshaking the wire protocol.
3633 Contains a colon <em>:</em> separated list of keys with optional values
3634 <em>key[=value]</em>. Presence of unknown keys and values must be
3635 ignored.
3636 </p>
3637 <div class="paragraph"><p>Note that servers may need to be configured to allow this variable to
3638 pass over some transports. It will be propagated automatically when
3639 accessing local repositories (i.e., <code>file://</code> or a filesystem path), as
3640 well as over the <code>git://</code> protocol. For git-over-http, it should work
3641 automatically in most configurations, but see the discussion in
3642 <a href="git-http-backend.html">git-http-backend(1)</a>. For git-over-ssh, the ssh server may need
3643 to be configured to allow clients to pass this variable (e.g., by using
3644 <code>AcceptEnv GIT_PROTOCOL</code> with OpenSSH).</p></div>
3645 <div class="paragraph"><p>This configuration is optional. If the variable is not propagated, then
3646 clients will fall back to the original "v0" protocol (but may miss out
3647 on some performance improvements or features). This variable currently
3648 only affects clones and fetches; it is not yet used for pushes (but may
3649 be in the future).</p></div>
3650 </dd>
3651 <dt class="hdlist1">
3652 <code>GIT_OPTIONAL_LOCKS</code>
3653 </dt>
3654 <dd>
3656 If this Boolean environment variable is set to false, Git will complete any requested operation without
3657 performing any optional sub-operations that require taking a lock.
3658 For example, this will prevent <code>git status</code> from refreshing the
3659 index as a side effect. This is useful for processes running in
3660 the background which do not want to cause lock contention with
3661 other operations on the repository. Defaults to <code>1</code>.
3662 </p>
3663 </dd>
3664 <dt class="hdlist1">
3665 <code>GIT_REDIRECT_STDIN</code>
3666 </dt>
3667 <dt class="hdlist1">
3668 <code>GIT_REDIRECT_STDOUT</code>
3669 </dt>
3670 <dt class="hdlist1">
3671 <code>GIT_REDIRECT_STDERR</code>
3672 </dt>
3673 <dd>
3675 Windows-only: allow redirecting the standard input/output/error
3676 handles to paths specified by the environment variables. This is
3677 particularly useful in multi-threaded applications where the
3678 canonical way to pass standard handles via <code>CreateProcess()</code> is
3679 not an option because it would require the handles to be marked
3680 inheritable (and consequently <strong>every</strong> spawned process would
3681 inherit them, possibly blocking regular Git operations). The
3682 primary intended use case is to use named pipes for communication
3683 (e.g. <code>\\.\pipe\my-git-stdin-123</code>).
3684 </p>
3685 <div class="paragraph"><p>Two special values are supported: <code>off</code> will simply close the
3686 corresponding standard handle, and if <code>GIT_REDIRECT_STDERR</code> is
3687 <code>2&gt;&amp;1</code>, standard error will be redirected to the same handle as
3688 standard output.</p></div>
3689 </dd>
3690 <dt class="hdlist1">
3691 <code>GIT_PRINT_SHA1_ELLIPSIS</code> (deprecated)
3692 </dt>
3693 <dd>
3695 If set to <code>yes</code>, print an ellipsis following an
3696 (abbreviated) SHA-1 value. This affects indications of
3697 detached HEADs (<a href="git-checkout.html">git-checkout(1)</a>) and the raw
3698 diff output (<a href="git-diff.html">git-diff(1)</a>). Printing an
3699 ellipsis in the cases mentioned is no longer considered
3700 adequate and support for it is likely to be removed in the
3701 foreseeable future (along with the variable).
3702 </p>
3703 </dd>
3704 </dl></div>
3705 </div>
3706 </div>
3707 </div>
3708 <div class="sect1">
3709 <h2 id="_discussion_a_id_discussion_a">Discussion<a id="Discussion"></a></h2>
3710 <div class="sectionbody">
3711 <div class="paragraph"><p>More detail on the following is available from the
3712 <a href="user-manual.html#git-concepts">Git concepts chapter of the
3713 user-manual</a> and <a href="gitcore-tutorial.html">gitcore-tutorial(7)</a>.</p></div>
3714 <div class="paragraph"><p>A Git project normally consists of a working directory with a ".git"
3715 subdirectory at the top level. The .git directory contains, among other
3716 things, a compressed object database representing the complete history
3717 of the project, an "index" file which links that history to the current
3718 contents of the working tree, and named pointers into that history such
3719 as tags and branch heads.</p></div>
3720 <div class="paragraph"><p>The object database contains objects of three main types: blobs, which
3721 hold file data; trees, which point to blobs and other trees to build up
3722 directory hierarchies; and commits, which each reference a single tree
3723 and some number of parent commits.</p></div>
3724 <div class="paragraph"><p>The commit, equivalent to what other systems call a "changeset" or
3725 "version", represents a step in the project&#8217;s history, and each parent
3726 represents an immediately preceding step. Commits with more than one
3727 parent represent merges of independent lines of development.</p></div>
3728 <div class="paragraph"><p>All objects are named by the SHA-1 hash of their contents, normally
3729 written as a string of 40 hex digits. Such names are globally unique.
3730 The entire history leading up to a commit can be vouched for by signing
3731 just that commit. A fourth object type, the tag, is provided for this
3732 purpose.</p></div>
3733 <div class="paragraph"><p>When first created, objects are stored in individual files, but for
3734 efficiency may later be compressed together into "pack files".</p></div>
3735 <div class="paragraph"><p>Named pointers called refs mark interesting points in history. A ref
3736 may contain the SHA-1 name of an object or the name of another ref. Refs
3737 with names beginning <code>ref/head/</code> contain the SHA-1 name of the most
3738 recent commit (or "head") of a branch under development. SHA-1 names of
3739 tags of interest are stored under <code>ref/tags/</code>. A special ref named
3740 <code>HEAD</code> contains the name of the currently checked-out branch.</p></div>
3741 <div class="paragraph"><p>The index file is initialized with a list of all paths and, for each
3742 path, a blob object and a set of attributes. The blob object represents
3743 the contents of the file as of the head of the current branch. The
3744 attributes (last modified time, size, etc.) are taken from the
3745 corresponding file in the working tree. Subsequent changes to the
3746 working tree can be found by comparing these attributes. The index may
3747 be updated with new content, and new commits may be created from the
3748 content stored in the index.</p></div>
3749 <div class="paragraph"><p>The index is also capable of storing multiple entries (called "stages")
3750 for a given pathname. These stages are used to hold the various
3751 unmerged version of a file when a merge is in progress.</p></div>
3752 </div>
3753 </div>
3754 <div class="sect1">
3755 <h2 id="_further_documentation">FURTHER DOCUMENTATION</h2>
3756 <div class="sectionbody">
3757 <div class="paragraph"><p>See the references in the "description" section to get started
3758 using Git. The following is probably more detail than necessary
3759 for a first-time user.</p></div>
3760 <div class="paragraph"><p>The <a href="user-manual.html#git-concepts">Git concepts chapter of the
3761 user-manual</a> and <a href="gitcore-tutorial.html">gitcore-tutorial(7)</a> both provide
3762 introductions to the underlying Git architecture.</p></div>
3763 <div class="paragraph"><p>See <a href="gitworkflows.html">gitworkflows(7)</a> for an overview of recommended workflows.</p></div>
3764 <div class="paragraph"><p>See also the <a href="howto-index.html">howto</a> documents for some useful
3765 examples.</p></div>
3766 <div class="paragraph"><p>The internals are documented in the
3767 <a href="technical/api-index.html">Git API documentation</a>.</p></div>
3768 <div class="paragraph"><p>Users migrating from CVS may also want to
3769 read <a href="gitcvs-migration.html">gitcvs-migration(7)</a>.</p></div>
3770 </div>
3771 </div>
3772 <div class="sect1">
3773 <h2 id="_authors">Authors</h2>
3774 <div class="sectionbody">
3775 <div class="paragraph"><p>Git was started by Linus Torvalds, and is currently maintained by Junio
3776 C Hamano. Numerous contributions have come from the Git mailing list
3777 &lt;<a href="mailto:git@vger.kernel.org">git@vger.kernel.org</a>&gt;. <a href="http://www.openhub.net/p/git/contributors/summary">http://www.openhub.net/p/git/contributors/summary</a>
3778 gives you a more complete list of contributors.</p></div>
3779 <div class="paragraph"><p>If you have a clone of git.git itself, the
3780 output of <a href="git-shortlog.html">git-shortlog(1)</a> and <a href="git-blame.html">git-blame(1)</a> can show you
3781 the authors for specific parts of the project.</p></div>
3782 </div>
3783 </div>
3784 <div class="sect1">
3785 <h2 id="_reporting_bugs">Reporting Bugs</h2>
3786 <div class="sectionbody">
3787 <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
3788 development and maintenance is primarily done. You do not have to be
3789 subscribed to the list to send a message there. See the list archive
3790 at <a href="https://lore.kernel.org/git">https://lore.kernel.org/git</a> for previous bug reports and other
3791 discussions.</p></div>
3792 <div class="paragraph"><p>Issues which are security relevant should be disclosed privately to
3793 the Git Security mailing list &lt;<a href="mailto:git-security@googlegroups.com">git-security@googlegroups.com</a>&gt;.</p></div>
3794 </div>
3795 </div>
3796 <div class="sect1">
3797 <h2 id="_see_also">SEE ALSO</h2>
3798 <div class="sectionbody">
3799 <div class="paragraph"><p><a href="gittutorial.html">gittutorial(7)</a>, <a href="gittutorial-2.html">gittutorial-2(7)</a>,
3800 <a href="giteveryday.html">giteveryday(7)</a>, <a href="gitcvs-migration.html">gitcvs-migration(7)</a>,
3801 <a href="gitglossary.html">gitglossary(7)</a>, <a href="gitcore-tutorial.html">gitcore-tutorial(7)</a>,
3802 <a href="gitcli.html">gitcli(7)</a>, <a href="user-manual.html">The Git User&#8217;s Manual</a>,
3803 <a href="gitworkflows.html">gitworkflows(7)</a></p></div>
3804 </div>
3805 </div>
3806 <div class="sect1">
3807 <h2 id="_git">GIT</h2>
3808 <div class="sectionbody">
3809 <div class="paragraph"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
3810 </div>
3811 </div>
3812 </div>
3813 <div id="footnotes"><hr /></div>
3814 <div id="footer">
3815 <div id="footer-text">
3816 Last updated
3817 2023-08-07 14:08:40 PDT
3818 </div>
3819 </div>
3820 </body>
3821 </html>