| <?xml version="1.0" encoding="UTF-8"?> | |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" | |
| "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> | |
| <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> | |
| <head> | |
| <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" /> | |
| <meta name="generator" content="AsciiDoc 10.2.0" /> | |
| <title>git-config(1)</title> | |
| <style type="text/css"> | |
| /* Shared CSS for AsciiDoc xhtml11 and html5 backends */ | |
| /* Default font. */ | |
| body { | |
| font-family: Georgia,serif; | |
| } | |
| /* Title font. */ | |
| h1, h2, h3, h4, h5, h6, | |
| div.title, caption.title, | |
| thead, p.table.header, | |
| #toctitle, | |
| #author, #revnumber, #revdate, #revremark, | |
| #footer { | |
| font-family: Arial,Helvetica,sans-serif; | |
| } | |
| body { | |
| margin: 1em 5% 1em 5%; | |
| } | |
| a { | |
| color: blue; | |
| text-decoration: underline; | |
| } | |
| a:visited { | |
| color: fuchsia; | |
| } | |
| em { | |
| font-style: italic; | |
| color: navy; | |
| } | |
| strong { | |
| font-weight: bold; | |
| color: #083194; | |
| } | |
| h1, h2, h3, h4, h5, h6 { | |
| color: #527bbd; | |
| margin-top: 1.2em; | |
| margin-bottom: 0.5em; | |
| line-height: 1.3; | |
| } | |
| h1, h2, h3 { | |
| border-bottom: 2px solid silver; | |
| } | |
| h2 { | |
| padding-top: 0.5em; | |
| } | |
| h3 { | |
| float: left; | |
| } | |
| h3 + * { | |
| clear: left; | |
| } | |
| h5 { | |
| font-size: 1.0em; | |
| } | |
| div.sectionbody { | |
| margin-left: 0; | |
| } | |
| hr { | |
| border: 1px solid silver; | |
| } | |
| p { | |
| margin-top: 0.5em; | |
| margin-bottom: 0.5em; | |
| } | |
| ul, ol, li > p { | |
| margin-top: 0; | |
| } | |
| ul > li { color: #aaa; } | |
| ul > li > * { color: black; } | |
| .monospaced, code, pre { | |
| font-family: "Courier New", Courier, monospace; | |
| font-size: inherit; | |
| color: navy; | |
| padding: 0; | |
| margin: 0; | |
| } | |
| pre { | |
| white-space: pre-wrap; | |
| } | |
| #author { | |
| color: #527bbd; | |
| font-weight: bold; | |
| font-size: 1.1em; | |
| } | |
| #email { | |
| } | |
| #revnumber, #revdate, #revremark { | |
| } | |
| #footer { | |
| font-size: small; | |
| border-top: 2px solid silver; | |
| padding-top: 0.5em; | |
| margin-top: 4.0em; | |
| } | |
| #footer-text { | |
| float: left; | |
| padding-bottom: 0.5em; | |
| } | |
| #footer-badges { | |
| float: right; | |
| padding-bottom: 0.5em; | |
| } | |
| #preamble { | |
| margin-top: 1.5em; | |
| margin-bottom: 1.5em; | |
| } | |
| div.imageblock, div.exampleblock, div.verseblock, | |
| div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock, | |
| div.admonitionblock { | |
| margin-top: 1.0em; | |
| margin-bottom: 1.5em; | |
| } | |
| div.admonitionblock { | |
| margin-top: 2.0em; | |
| margin-bottom: 2.0em; | |
| margin-right: 10%; | |
| color: #606060; | |
| } | |
| div.content { /* Block element content. */ | |
| padding: 0; | |
| } | |
| /* Block element titles. */ | |
| div.title, caption.title { | |
| color: #527bbd; | |
| font-weight: bold; | |
| text-align: left; | |
| margin-top: 1.0em; | |
| margin-bottom: 0.5em; | |
| } | |
| div.title + * { | |
| margin-top: 0; | |
| } | |
| td div.title:first-child { | |
| margin-top: 0.0em; | |
| } | |
| div.content div.title:first-child { | |
| margin-top: 0.0em; | |
| } | |
| div.content + div.title { | |
| margin-top: 0.0em; | |
| } | |
| div.sidebarblock > div.content { | |
| background: #ffffee; | |
| border: 1px solid #dddddd; | |
| border-left: 4px solid #f0f0f0; | |
| padding: 0.5em; | |
| } | |
| div.listingblock > div.content { | |
| border: 1px solid #dddddd; | |
| border-left: 5px solid #f0f0f0; | |
| background: #f8f8f8; | |
| padding: 0.5em; | |
| } | |
| div.quoteblock, div.verseblock { | |
| padding-left: 1.0em; | |
| margin-left: 1.0em; | |
| margin-right: 10%; | |
| border-left: 5px solid #f0f0f0; | |
| color: #888; | |
| } | |
| div.quoteblock > div.attribution { | |
| padding-top: 0.5em; | |
| text-align: right; | |
| } | |
| div.verseblock > pre.content { | |
| font-family: inherit; | |
| font-size: inherit; | |
| } | |
| div.verseblock > div.attribution { | |
| padding-top: 0.75em; | |
| text-align: left; | |
| } | |
| /* DEPRECATED: Pre version 8.2.7 verse style literal block. */ | |
| div.verseblock + div.attribution { | |
| text-align: left; | |
| } | |
| div.admonitionblock .icon { | |
| vertical-align: top; | |
| font-size: 1.1em; | |
| font-weight: bold; | |
| text-decoration: underline; | |
| color: #527bbd; | |
| padding-right: 0.5em; | |
| } | |
| div.admonitionblock td.content { | |
| padding-left: 0.5em; | |
| border-left: 3px solid #dddddd; | |
| } | |
| div.exampleblock > div.content { | |
| border-left: 3px solid #dddddd; | |
| padding-left: 0.5em; | |
| } | |
| div.imageblock div.content { padding-left: 0; } | |
| span.image img { border-style: none; vertical-align: text-bottom; } | |
| a.image:visited { color: white; } | |
| dl { | |
| margin-top: 0.8em; | |
| margin-bottom: 0.8em; | |
| } | |
| dt { | |
| margin-top: 0.5em; | |
| margin-bottom: 0; | |
| font-style: normal; | |
| color: navy; | |
| } | |
| dd > *:first-child { | |
| margin-top: 0.1em; | |
| } | |
| ul, ol { | |
| list-style-position: outside; | |
| } | |
| ol.arabic { | |
| list-style-type: decimal; | |
| } | |
| ol.loweralpha { | |
| list-style-type: lower-alpha; | |
| } | |
| ol.upperalpha { | |
| list-style-type: upper-alpha; | |
| } | |
| ol.lowerroman { | |
| list-style-type: lower-roman; | |
| } | |
| ol.upperroman { | |
| list-style-type: upper-roman; | |
| } | |
| div.compact ul, div.compact ol, | |
| div.compact p, div.compact p, | |
| div.compact div, div.compact div { | |
| margin-top: 0.1em; | |
| margin-bottom: 0.1em; | |
| } | |
| tfoot { | |
| font-weight: bold; | |
| } | |
| td > div.verse { | |
| white-space: pre; | |
| } | |
| div.hdlist { | |
| margin-top: 0.8em; | |
| margin-bottom: 0.8em; | |
| } | |
| div.hdlist tr { | |
| padding-bottom: 15px; | |
| } | |
| dt.hdlist1.strong, td.hdlist1.strong { | |
| font-weight: bold; | |
| } | |
| td.hdlist1 { | |
| vertical-align: top; | |
| font-style: normal; | |
| padding-right: 0.8em; | |
| color: navy; | |
| } | |
| td.hdlist2 { | |
| vertical-align: top; | |
| } | |
| div.hdlist.compact tr { | |
| margin: 0; | |
| padding-bottom: 0; | |
| } | |
| .comment { | |
| background: yellow; | |
| } | |
| .footnote, .footnoteref { | |
| font-size: 0.8em; | |
| } | |
| span.footnote, span.footnoteref { | |
| vertical-align: super; | |
| } | |
| #footnotes { | |
| margin: 20px 0 20px 0; | |
| padding: 7px 0 0 0; | |
| } | |
| #footnotes div.footnote { | |
| margin: 0 0 5px 0; | |
| } | |
| #footnotes hr { | |
| border: none; | |
| border-top: 1px solid silver; | |
| height: 1px; | |
| text-align: left; | |
| margin-left: 0; | |
| width: 20%; | |
| min-width: 100px; | |
| } | |
| div.colist td { | |
| padding-right: 0.5em; | |
| padding-bottom: 0.3em; | |
| vertical-align: top; | |
| } | |
| div.colist td img { | |
| margin-top: 0.3em; | |
| } | |
| @media print { | |
| #footer-badges { display: none; } | |
| } | |
| #toc { | |
| margin-bottom: 2.5em; | |
| } | |
| #toctitle { | |
| color: #527bbd; | |
| font-size: 1.1em; | |
| font-weight: bold; | |
| margin-top: 1.0em; | |
| margin-bottom: 0.1em; | |
| } | |
| div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 { | |
| margin-top: 0; | |
| margin-bottom: 0; | |
| } | |
| div.toclevel2 { | |
| margin-left: 2em; | |
| font-size: 0.9em; | |
| } | |
| div.toclevel3 { | |
| margin-left: 4em; | |
| font-size: 0.9em; | |
| } | |
| div.toclevel4 { | |
| margin-left: 6em; | |
| font-size: 0.9em; | |
| } | |
| span.aqua { color: aqua; } | |
| span.black { color: black; } | |
| span.blue { color: blue; } | |
| span.fuchsia { color: fuchsia; } | |
| span.gray { color: gray; } | |
| span.green { color: green; } | |
| span.lime { color: lime; } | |
| span.maroon { color: maroon; } | |
| span.navy { color: navy; } | |
| span.olive { color: olive; } | |
| span.purple { color: purple; } | |
| span.red { color: red; } | |
| span.silver { color: silver; } | |
| span.teal { color: teal; } | |
| span.white { color: white; } | |
| span.yellow { color: yellow; } | |
| span.aqua-background { background: aqua; } | |
| span.black-background { background: black; } | |
| span.blue-background { background: blue; } | |
| span.fuchsia-background { background: fuchsia; } | |
| span.gray-background { background: gray; } | |
| span.green-background { background: green; } | |
| span.lime-background { background: lime; } | |
| span.maroon-background { background: maroon; } | |
| span.navy-background { background: navy; } | |
| span.olive-background { background: olive; } | |
| span.purple-background { background: purple; } | |
| span.red-background { background: red; } | |
| span.silver-background { background: silver; } | |
| span.teal-background { background: teal; } | |
| span.white-background { background: white; } | |
| span.yellow-background { background: yellow; } | |
| span.big { font-size: 2em; } | |
| span.small { font-size: 0.6em; } | |
| span.underline { text-decoration: underline; } | |
| span.overline { text-decoration: overline; } | |
| span.line-through { text-decoration: line-through; } | |
| div.unbreakable { page-break-inside: avoid; } | |
| /* | |
| * xhtml11 specific | |
| * | |
| * */ | |
| div.tableblock { | |
| margin-top: 1.0em; | |
| margin-bottom: 1.5em; | |
| } | |
| div.tableblock > table { | |
| border: 3px solid #527bbd; | |
| } | |
| thead, p.table.header { | |
| font-weight: bold; | |
| color: #527bbd; | |
| } | |
| p.table { | |
| margin-top: 0; | |
| } | |
| /* Because the table frame attribute is overridden by CSS in most browsers. */ | |
| div.tableblock > table[frame="void"] { | |
| border-style: none; | |
| } | |
| div.tableblock > table[frame="hsides"] { | |
| border-left-style: none; | |
| border-right-style: none; | |
| } | |
| div.tableblock > table[frame="vsides"] { | |
| border-top-style: none; | |
| border-bottom-style: none; | |
| } | |
| /* | |
| * html5 specific | |
| * | |
| * */ | |
| table.tableblock { | |
| margin-top: 1.0em; | |
| margin-bottom: 1.5em; | |
| } | |
| thead, p.tableblock.header { | |
| font-weight: bold; | |
| color: #527bbd; | |
| } | |
| p.tableblock { | |
| margin-top: 0; | |
| } | |
| table.tableblock { | |
| border-width: 3px; | |
| border-spacing: 0px; | |
| border-style: solid; | |
| border-color: #527bbd; | |
| border-collapse: collapse; | |
| } | |
| th.tableblock, td.tableblock { | |
| border-width: 1px; | |
| padding: 4px; | |
| border-style: solid; | |
| border-color: #527bbd; | |
| } | |
| table.tableblock.frame-topbot { | |
| border-left-style: hidden; | |
| border-right-style: hidden; | |
| } | |
| table.tableblock.frame-sides { | |
| border-top-style: hidden; | |
| border-bottom-style: hidden; | |
| } | |
| table.tableblock.frame-none { | |
| border-style: hidden; | |
| } | |
| th.tableblock.halign-left, td.tableblock.halign-left { | |
| text-align: left; | |
| } | |
| th.tableblock.halign-center, td.tableblock.halign-center { | |
| text-align: center; | |
| } | |
| th.tableblock.halign-right, td.tableblock.halign-right { | |
| text-align: right; | |
| } | |
| th.tableblock.valign-top, td.tableblock.valign-top { | |
| vertical-align: top; | |
| } | |
| th.tableblock.valign-middle, td.tableblock.valign-middle { | |
| vertical-align: middle; | |
| } | |
| th.tableblock.valign-bottom, td.tableblock.valign-bottom { | |
| vertical-align: bottom; | |
| } | |
| /* | |
| * manpage specific | |
| * | |
| * */ | |
| body.manpage h1 { | |
| padding-top: 0.5em; | |
| padding-bottom: 0.5em; | |
| border-top: 2px solid silver; | |
| border-bottom: 2px solid silver; | |
| } | |
| body.manpage h2 { | |
| border-style: none; | |
| } | |
| body.manpage div.sectionbody { | |
| margin-left: 3em; | |
| } | |
| @media print { | |
| body.manpage div#toc { display: none; } | |
| } | |
| </style> | |
| <script type="text/javascript"> | |
| /*<+'])'); | |
| // Function that scans the DOM tree for header elements (the DOM2 | |
| // nodeIterator API would be a better technique but not supported by all | |
| // browsers). | |
| var iterate = function (el) { | |
| for (var i = el.firstChild; i != null; i = i.nextSibling) { | |
| if (i.nodeType == 1 /* Node.ELEMENT_NODE */) { | |
| var mo = re.exec(i.tagName); | |
| if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") { | |
| result[result.length] = new TocEntry(i, getText(i), mo[1]-1); | |
| } | |
| iterate(i); | |
| } | |
| } | |
| } | |
| iterate(el); | |
| return result; | |
| } | |
| var toc = document.getElementById("toc"); | |
| if (!toc) { | |
| return; | |
| } | |
| // Delete existing TOC entries in case we're reloading the TOC. | |
| var tocEntriesToRemove = []; | |
| var i; | |
| for (i = 0; i < toc.childNodes.length; i++) { | |
| var entry = toc.childNodes[i]; | |
| if (entry.nodeName.toLowerCase() == 'div' | |
| && entry.getAttribute("class") | |
| && entry.getAttribute("class").match(/^toclevel/)) | |
| tocEntriesToRemove.push(entry); | |
| } | |
| for (i = 0; i < tocEntriesToRemove.length; i++) { | |
| toc.removeChild(tocEntriesToRemove[i]); | |
| } | |
| // Rebuild TOC entries. | |
| var entries = tocEntries(document.getElementById("content"), toclevels); | |
| for (var i = 0; i < entries.length; ++i) { | |
| var entry = entries[i]; | |
| if (entry.element.id == "") | |
| entry.element.id = "_toc_" + i; | |
| var a = document.createElement("a"); | |
| a.href = "#" + entry.element.id; | |
| a.appendChild(document.createTextNode(entry.text)); | |
| var div = document.createElement("div"); | |
| div.appendChild(a); | |
| div.className = "toclevel" + entry.toclevel; | |
| toc.appendChild(div); | |
| } | |
| if (entries.length == 0) | |
| toc.parentNode.removeChild(toc); | |
| }, | |
| ///////////////////////////////////////////////////////////////////// | |
| // Footnotes generator | |
| ///////////////////////////////////////////////////////////////////// | |
| /* Based on footnote generation code from: | |
| * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html | |
| */ | |
| footnotes: function () { | |
| // Delete existing footnote entries in case we're reloading the footnodes. | |
| var i; | |
| var noteholder = document.getElementById("footnotes"); | |
| if (!noteholder) { | |
| return; | |
| } | |
| var entriesToRemove = []; | |
| for (i = 0; i < noteholder.childNodes.length; i++) { | |
| var entry = noteholder.childNodes[i]; | |
| if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote") | |
| entriesToRemove.push(entry); | |
| } | |
| for (i = 0; i < entriesToRemove.length; i++) { | |
| noteholder.removeChild(entriesToRemove[i]); | |
| } | |
| // Rebuild footnote entries. | |
| var cont = document.getElementById("content"); | |
| var spans = cont.getElementsByTagName("span"); | |
| var refs = {}; | |
| var n = 0; | |
| for (i=0; i<spans.length; i++) { | |
| if (spans[i].className == "footnote") { | |
| n++; | |
| var note = spans[i].getAttribute("data-note"); | |
| if (!note) { | |
| // Use [\s\S] in place of . so multi-line matches work. | |
| // Because JavaScript has no s (dotall) regex flag. | |
| note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1]; | |
| spans[i].innerHTML = | |
| "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n + | |
| "' title='View footnote' class='footnote'>" + n + "</a>]"; | |
| spans[i].setAttribute("data-note", note); | |
| } | |
| noteholder.innerHTML += | |
| "<div class='footnote' id='_footnote_" + n + "'>" + | |
| "<a href='#_footnoteref_" + n + "' title='Return to text'>" + | |
| n + "</a>. " + note + "</div>"; | |
| var id =spans[i].getAttribute("id"); | |
| if (id != null) refs["#"+id] = n; | |
| } | |
| } | |
| if (n == 0) | |
| noteholder.parentNode.removeChild(noteholder); | |
| else { | |
| // Process footnoterefs. | |
| for (i=0; i<spans.length; i++) { | |
| if (spans[i].className == "footnoteref") { | |
| var href = spans[i].getElementsByTagName("a")[0].getAttribute("href"); | |
| href = href.match(/#.*/)[0]; // Because IE return full URL. | |
| n = refs[href]; | |
| spans[i].innerHTML = | |
| "[<a href='#_footnote_" + n + | |
| "' title='View footnote' class='footnote'>" + n + "</a>]"; | |
| } | |
| } | |
| } | |
| }, | |
| install: function(toclevels) { | |
| var timerId; | |
| function reinstall() { | |
| asciidoc.footnotes(); | |
| if (toclevels) { | |
| asciidoc.toc(toclevels); | |
| } | |
| } | |
| function reinstallAndRemoveTimer() { | |
| clearInterval(timerId); | |
| reinstall(); | |
| } | |
| timerId = setInterval(reinstall, 500); | |
| if (document.addEventListener) | |
| document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false); | |
| else | |
| window.onload = reinstallAndRemoveTimer; | |
| } | |
| } | |
| asciidoc.install(); | |
| /*]]>*/ | |
| </script> | |
| </head> | |
| <body class="manpage"> | |
| <div id="header"> | |
| <h1> | |
| git-config(1) Manual Page | |
| </h1> | |
| <h2>NAME</h2> | |
| <div class="sectionbody"> | |
| <p>git-config - | |
| Get and set repository or global options | |
| </p> | |
| </div> | |
| </div> | |
| <div id="content"> | |
| <div class="sect1"> | |
| <h2 id="_synopsis">SYNOPSIS</h2> | |
| <div class="sectionbody"> | |
| <div class="verseblock"> | |
| <pre class="content"><em>git config</em> [<file-option>] [--type=<type>] [--fixed-value] [--show-origin] [--show-scope] [-z|--null] <name> [<value> [<value-pattern>]] | |
| <em>git config</em> [<file-option>] [--type=<type>] --add <name> <value> | |
| <em>git config</em> [<file-option>] [--type=<type>] [--fixed-value] --replace-all <name> <value> [<value-pattern>] | |
| <em>git config</em> [<file-option>] [--type=<type>] [--show-origin] [--show-scope] [-z|--null] [--fixed-value] --get <name> [<value-pattern>] | |
| <em>git config</em> [<file-option>] [--type=<type>] [--show-origin] [--show-scope] [-z|--null] [--fixed-value] --get-all <name> [<value-pattern>] | |
| <em>git config</em> [<file-option>] [--type=<type>] [--show-origin] [--show-scope] [-z|--null] [--fixed-value] [--name-only] --get-regexp <name-regex> [<value-pattern>] | |
| <em>git config</em> [<file-option>] [--type=<type>] [-z|--null] --get-urlmatch <name> <URL> | |
| <em>git config</em> [<file-option>] [--fixed-value] --unset <name> [<value-pattern>] | |
| <em>git config</em> [<file-option>] [--fixed-value] --unset-all <name> [<value-pattern>] | |
| <em>git config</em> [<file-option>] --rename-section <old-name> <new-name> | |
| <em>git config</em> [<file-option>] --remove-section <name> | |
| <em>git config</em> [<file-option>] [--show-origin] [--show-scope] [-z|--null] [--name-only] -l | --list | |
| <em>git config</em> [<file-option>] --get-color <name> [<default>] | |
| <em>git config</em> [<file-option>] --get-colorbool <name> [<stdout-is-tty>] | |
| <em>git config</em> [<file-option>] -e | --edit</pre> | |
| <div class="attribution"> | |
| </div></div> | |
| </div> | |
| </div> | |
| <div class="sect1"> | |
| <h2 id="_description">DESCRIPTION</h2> | |
| <div class="sectionbody"> | |
| <div class="paragraph"><p>You can query/set/replace/unset options with this command. The name is | |
| actually the section and the key separated by a dot, and the value will be | |
| escaped.</p></div> | |
| <div class="paragraph"><p>Multiple lines can be added to an option by using the <code>--add</code> option. | |
| If you want to update or unset an option which can occur on multiple | |
| lines, a <code>value-pattern</code> (which is an extended regular expression, | |
| unless the <code>--fixed-value</code> option is given) needs to be given. Only the | |
| existing values that match the pattern are updated or unset. If | |
| you want to handle the lines that do <strong>not</strong> match the pattern, just | |
| prepend a single exclamation mark in front (see also <a href="#EXAMPLES">[EXAMPLES]</a>), | |
| but note that this only works when the <code>--fixed-value</code> option is not | |
| in use.</p></div> | |
| <div class="paragraph"><p>The <code>--type=<type></code> option instructs <em>git config</em> to ensure that incoming and | |
| outgoing values are canonicalize-able under the given <type>. If no | |
| <code>--type=<type></code> is given, no canonicalization will be performed. Callers may | |
| unset an existing <code>--type</code> specifier with <code>--no-type</code>.</p></div> | |
| <div class="paragraph"><p>When reading, the values are read from the system, global and | |
| repository local configuration files by default, and options | |
| <code>--system</code>, <code>--global</code>, <code>--local</code>, <code>--worktree</code> and | |
| <code>--file <filename></code> can be used to tell the command to read from only | |
| that location (see <a href="#FILES">[FILES]</a>).</p></div> | |
| <div class="paragraph"><p>When writing, the new value is written to the repository local | |
| configuration file by default, and options <code>--system</code>, <code>--global</code>, | |
| <code>--worktree</code>, <code>--file <filename></code> can be used to tell the command to | |
| write to that location (you can say <code>--local</code> but that is the | |
| default).</p></div> | |
| <div class="paragraph"><p>This command will fail with non-zero status upon error. Some exit | |
| codes are:</p></div> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| The section or key is invalid (ret=1), | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| no section or name was provided (ret=2), | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| the config file is invalid (ret=3), | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| the config file cannot be written (ret=4), | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| you try to unset an option which does not exist (ret=5), | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| you try to unset/set an option for which multiple lines match (ret=5), or | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| you try to use an invalid regexp (ret=6). | |
| </p> | |
| </li> | |
| </ul></div> | |
| <div class="paragraph"><p>On success, the command returns the exit code 0.</p></div> | |
| <div class="paragraph"><p>A list of all available configuration variables can be obtained using the | |
| <code>git help --config</code> command.</p></div> | |
| </div> | |
| </div> | |
| <div class="sect1"> | |
| <h2 id="OPTIONS">OPTIONS</h2> | |
| <div class="sectionbody"> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| --replace-all | |
| </dt> | |
| <dd> | |
| <p> | |
| Default behavior is to replace at most one line. This replaces | |
| all lines matching the key (and optionally the <code>value-pattern</code>). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --add | |
| </dt> | |
| <dd> | |
| <p> | |
| Adds a new line to the option without altering any existing | |
| values. This is the same as providing <em>^$</em> as the <code>value-pattern</code> | |
| in <code>--replace-all</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --get | |
| </dt> | |
| <dd> | |
| <p> | |
| Get the value for a given key (optionally filtered by a regex | |
| matching the value). Returns error code 1 if the key was not | |
| found and the last value if multiple key values were found. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --get-all | |
| </dt> | |
| <dd> | |
| <p> | |
| Like get, but returns all values for a multi-valued key. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --get-regexp | |
| </dt> | |
| <dd> | |
| <p> | |
| Like --get-all, but interprets the name as a regular expression and | |
| writes out the key names. Regular expression matching is currently | |
| case-sensitive and done against a canonicalized version of the key | |
| in which section and variable names are lowercased, but subsection | |
| names are not. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --get-urlmatch <name> <URL> | |
| </dt> | |
| <dd> | |
| <p> | |
| When given a two-part <name> as <section>.<key>, the value for | |
| <section>.<URL>.<key> whose <URL> part matches the best to the | |
| given URL is returned (if no such key exists, the value for | |
| <section>.<key> is used as a fallback). When given just the | |
| <section> as name, do so for all the keys in the section and | |
| list them. Returns error code 1 if no value is found. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --global | |
| </dt> | |
| <dd> | |
| <p> | |
| For writing options: write to global <code>~/.gitconfig</code> file | |
| rather than the repository <code>.git/config</code>, write to | |
| <code>$XDG_CONFIG_HOME/git/config</code> file if this file exists and the | |
| <code>~/.gitconfig</code> file doesn’t. | |
| </p> | |
| <div class="paragraph"><p>For reading options: read only from global <code>~/.gitconfig</code> and from | |
| <code>$XDG_CONFIG_HOME/git/config</code> rather than from all available files.</p></div> | |
| <div class="paragraph"><p>See also <a href="#FILES">[FILES]</a>.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --system | |
| </dt> | |
| <dd> | |
| <p> | |
| For writing options: write to system-wide | |
| <code>$(prefix)/etc/gitconfig</code> rather than the repository | |
| <code>.git/config</code>. | |
| </p> | |
| <div class="paragraph"><p>For reading options: read only from system-wide <code>$(prefix)/etc/gitconfig</code> | |
| rather than from all available files.</p></div> | |
| <div class="paragraph"><p>See also <a href="#FILES">[FILES]</a>.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --local | |
| </dt> | |
| <dd> | |
| <p> | |
| For writing options: write to the repository <code>.git/config</code> file. | |
| This is the default behavior. | |
| </p> | |
| <div class="paragraph"><p>For reading options: read only from the repository <code>.git/config</code> rather than | |
| from all available files.</p></div> | |
| <div class="paragraph"><p>See also <a href="#FILES">[FILES]</a>.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --worktree | |
| </dt> | |
| <dd> | |
| <p> | |
| Similar to <code>--local</code> except that <code>$GIT_DIR/config.worktree</code> is | |
| read from or written to if <code>extensions.worktreeConfig</code> is | |
| enabled. If not it’s the same as <code>--local</code>. Note that <code>$GIT_DIR</code> | |
| is equal to <code>$GIT_COMMON_DIR</code> for the main working tree, but is of | |
| the form <code>$GIT_DIR/worktrees/<id>/</code> for other working trees. See | |
| <a href="git-worktree.html">git-worktree(1)</a> to learn how to enable | |
| <code>extensions.worktreeConfig</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| -f <config-file> | |
| </dt> | |
| <dt class="hdlist1"> | |
| --file <config-file> | |
| </dt> | |
| <dd> | |
| <p> | |
| For writing options: write to the specified file rather than the | |
| repository <code>.git/config</code>. | |
| </p> | |
| <div class="paragraph"><p>For reading options: read only from the specified file rather than from all | |
| available files.</p></div> | |
| <div class="paragraph"><p>See also <a href="#FILES">[FILES]</a>.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --blob <blob> | |
| </dt> | |
| <dd> | |
| <p> | |
| Similar to <code>--file</code> but use the given blob instead of a file. E.g. | |
| you can use <em>master:.gitmodules</em> to read values from the file | |
| <em>.gitmodules</em> in the master branch. See "SPECIFYING REVISIONS" | |
| section in <a href="gitrevisions.html">gitrevisions(7)</a> for a more complete list of | |
| ways to spell blob names. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --remove-section | |
| </dt> | |
| <dd> | |
| <p> | |
| Remove the given section from the configuration file. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --rename-section | |
| </dt> | |
| <dd> | |
| <p> | |
| Rename the given section to a new name. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --unset | |
| </dt> | |
| <dd> | |
| <p> | |
| Remove the line matching the key from config file. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --unset-all | |
| </dt> | |
| <dd> | |
| <p> | |
| Remove all lines matching the key from config file. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| -l | |
| </dt> | |
| <dt class="hdlist1"> | |
| --list | |
| </dt> | |
| <dd> | |
| <p> | |
| List all variables set in config file, along with their values. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --fixed-value | |
| </dt> | |
| <dd> | |
| <p> | |
| When used with the <code>value-pattern</code> argument, treat <code>value-pattern</code> as | |
| an exact string instead of a regular expression. This will restrict | |
| the name/value pairs that are matched to only those where the value | |
| is exactly equal to the <code>value-pattern</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --type <type> | |
| </dt> | |
| <dd> | |
| <p> | |
| <em>git config</em> will ensure that any input or output is valid under the given | |
| type constraint(s), and will canonicalize outgoing values in <code><type></code>'s | |
| canonical form. | |
| </p> | |
| <div class="paragraph"><p>Valid <code><type></code>'s include:</p></div> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| <em>bool</em>: canonicalize values as either "true" or "false". | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <em>int</em>: canonicalize values as simple decimal numbers. An optional suffix of | |
| <em>k</em>, <em>m</em>, or <em>g</em> will cause the value to be multiplied by 1024, 1048576, or | |
| 1073741824 upon input. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <em>bool-or-int</em>: canonicalize according to either <em>bool</em> or <em>int</em>, as described | |
| above. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <em>path</em>: canonicalize by expanding a leading <code>~</code> to the value of <code>$HOME</code> and | |
| <code>~user</code> to the home directory for the specified user. This specifier has no | |
| effect when setting the value (but you can use <code>git config section.variable | |
| ~/</code> from the command line to let your shell do the expansion.) | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <em>expiry-date</em>: canonicalize by converting from a fixed or relative date-string | |
| to a timestamp. This specifier has no effect when setting the value. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <em>color</em>: When getting a value, canonicalize by converting to an ANSI color | |
| escape sequence. When setting a value, a sanity-check is performed to ensure | |
| that the given value is canonicalize-able as an ANSI color, but it is written | |
| as-is. | |
| </p> | |
| </li> | |
| </ul></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --bool | |
| </dt> | |
| <dt class="hdlist1"> | |
| --int | |
| </dt> | |
| <dt class="hdlist1"> | |
| --bool-or-int | |
| </dt> | |
| <dt class="hdlist1"> | |
| --path | |
| </dt> | |
| <dt class="hdlist1"> | |
| --expiry-date | |
| </dt> | |
| <dd> | |
| <p> | |
| Historical options for selecting a type specifier. Prefer instead <code>--type</code> | |
| (see above). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --no-type | |
| </dt> | |
| <dd> | |
| <p> | |
| Un-sets the previously set type specifier (if one was previously set). This | |
| option requests that <em>git config</em> not canonicalize the retrieved variable. | |
| <code>--no-type</code> has no effect without <code>--type=<type></code> or <code>--<type></code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| -z | |
| </dt> | |
| <dt class="hdlist1"> | |
| --null | |
| </dt> | |
| <dd> | |
| <p> | |
| For all options that output values and/or keys, always | |
| end values with the null character (instead of a | |
| newline). Use newline instead as a delimiter between | |
| key and value. This allows for secure parsing of the | |
| output without getting confused e.g. by values that | |
| contain line breaks. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --name-only | |
| </dt> | |
| <dd> | |
| <p> | |
| Output only the names of config variables for <code>--list</code> or | |
| <code>--get-regexp</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --show-origin | |
| </dt> | |
| <dd> | |
| <p> | |
| Augment the output of all queried config options with the | |
| origin type (file, standard input, blob, command line) and | |
| the actual origin (config file path, ref, or blob id if | |
| applicable). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --show-scope | |
| </dt> | |
| <dd> | |
| <p> | |
| Similar to <code>--show-origin</code> in that it augments the output of | |
| all queried config options with the scope of that value | |
| (worktree, local, global, system, command). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --get-colorbool <name> [<stdout-is-tty>] | |
| </dt> | |
| <dd> | |
| <p> | |
| Find the color setting for <code><name></code> (e.g. <code>color.diff</code>) and output | |
| "true" or "false". <code><stdout-is-tty></code> should be either "true" or | |
| "false", and is taken into account when configuration says | |
| "auto". If <code><stdout-is-tty></code> is missing, then checks the standard | |
| output of the command itself, and exits with status 0 if color | |
| is to be used, or exits with status 1 otherwise. | |
| When the color setting for <code>name</code> is undefined, the command uses | |
| <code>color.ui</code> as fallback. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --get-color <name> [<default>] | |
| </dt> | |
| <dd> | |
| <p> | |
| Find the color configured for <code>name</code> (e.g. <code>color.diff.new</code>) and | |
| output it as the ANSI color escape sequence to the standard | |
| output. The optional <code>default</code> parameter is used instead, if | |
| there is no color configured for <code>name</code>. | |
| </p> | |
| <div class="paragraph"><p><code>--type=color [--default=<default>]</code> is preferred over <code>--get-color</code> | |
| (but note that <code>--get-color</code> will omit the trailing newline printed by | |
| <code>--type=color</code>).</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| -e | |
| </dt> | |
| <dt class="hdlist1"> | |
| --edit | |
| </dt> | |
| <dd> | |
| <p> | |
| Opens an editor to modify the specified config file; either | |
| <code>--system</code>, <code>--global</code>, or repository (default). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --[no-]includes | |
| </dt> | |
| <dd> | |
| <p> | |
| Respect <code>include.*</code> directives in config files when looking up | |
| values. Defaults to <code>off</code> when a specific file is given (e.g., | |
| using <code>--file</code>, <code>--global</code>, etc) and <code>on</code> when searching all | |
| config files. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| --default <value> | |
| </dt> | |
| <dd> | |
| <p> | |
| When using <code>--get</code>, and the requested variable is not found, behave as if | |
| <value> were the value assigned to the that variable. | |
| </p> | |
| </dd> | |
| </dl></div> | |
| </div> | |
| </div> | |
| <div class="sect1"> | |
| <h2 id="_configuration">CONFIGURATION</h2> | |
| <div class="sectionbody"> | |
| <div class="paragraph"><p><code>pager.config</code> is only respected when listing configuration, i.e., when | |
| using <code>--list</code> or any of the <code>--get-*</code> which may return multiple results. | |
| The default is to use a pager.</p></div> | |
| </div> | |
| </div> | |
| <div class="sect1"> | |
| <h2 id="FILES">FILES</h2> | |
| <div class="sectionbody"> | |
| <div class="paragraph"><p>By default, <em>git config</em> will read configuration options from multiple | |
| files:</p></div> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| $(prefix)/etc/gitconfig | |
| </dt> | |
| <dd> | |
| <p> | |
| System-wide configuration file. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| $XDG_CONFIG_HOME/git/config | |
| </dt> | |
| <dt class="hdlist1"> | |
| ~/.gitconfig | |
| </dt> | |
| <dd> | |
| <p> | |
| User-specific configuration files. When the XDG_CONFIG_HOME environment | |
| variable is not set or empty, $HOME/.config/ is used as | |
| $XDG_CONFIG_HOME. | |
| </p> | |
| <div class="paragraph"><p>These are also called "global" configuration files. If both files exist, both | |
| files are read in the order given above.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| $GIT_DIR/config | |
| </dt> | |
| <dd> | |
| <p> | |
| Repository specific configuration file. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| $GIT_DIR/config.worktree | |
| </dt> | |
| <dd> | |
| <p> | |
| This is optional and is only searched when | |
| <code>extensions.worktreeConfig</code> is present in $GIT_DIR/config. | |
| </p> | |
| </dd> | |
| </dl></div> | |
| <div class="paragraph"><p>You may also provide additional configuration parameters when running any | |
| git command by using the <code>-c</code> option. See <a href="git.html">git(1)</a> for details.</p></div> | |
| <div class="paragraph"><p>Options will be read from all of these files that are available. If the | |
| global or the system-wide configuration files are missing or unreadable they | |
| will be ignored. If the repository configuration file is missing or unreadable, | |
| <em>git config</em> will exit with a non-zero error code. An error message is produced | |
| if the file is unreadable, but not if it is missing.</p></div> | |
| <div class="paragraph"><p>The files are read in the order given above, with last value found taking | |
| precedence over values read earlier. When multiple values are taken then all | |
| values of a key from all files will be used.</p></div> | |
| <div class="paragraph"><p>By default, options are only written to the repository specific | |
| configuration file. Note that this also affects options like <code>--replace-all</code> | |
| and <code>--unset</code>. <strong><em>git config</em> will only ever change one file at a time</strong>.</p></div> | |
| <div class="paragraph"><p>You can limit which configuration sources are read from or written to by | |
| specifying the path of a file with the <code>--file</code> option, or by specifying a | |
| configuration scope with <code>--system</code>, <code>--global</code>, <code>--local</code>, or <code>--worktree</code>. | |
| For more, see <a href="#OPTIONS">[OPTIONS]</a> above.</p></div> | |
| </div> | |
| </div> | |
| <div class="sect1"> | |
| <h2 id="SCOPES">SCOPES</h2> | |
| <div class="sectionbody"> | |
| <div class="paragraph"><p>Each configuration source falls within a configuration scope. The scopes | |
| are:</p></div> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| system | |
| </dt> | |
| <dd> | |
| <p> | |
| $(prefix)/etc/gitconfig | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| global | |
| </dt> | |
| <dd> | |
| <p> | |
| $XDG_CONFIG_HOME/git/config | |
| </p> | |
| <div class="paragraph"><p>~/.gitconfig</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| local | |
| </dt> | |
| <dd> | |
| <p> | |
| $GIT_DIR/config | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| worktree | |
| </dt> | |
| <dd> | |
| <p> | |
| $GIT_DIR/config.worktree | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| command | |
| </dt> | |
| <dd> | |
| <p> | |
| GIT_CONFIG_{COUNT,KEY,VALUE} environment variables (see <a href="#ENVIRONMENT">[ENVIRONMENT]</a> | |
| below) | |
| </p> | |
| <div class="paragraph"><p>the <code>-c</code> option</p></div> | |
| </dd> | |
| </dl></div> | |
| <div class="paragraph"><p>With the exception of <em>command</em>, each scope corresponds to a command line | |
| option: <code>--system</code>, <code>--global</code>, <code>--local</code>, <code>--worktree</code>.</p></div> | |
| <div class="paragraph"><p>When reading options, specifying a scope will only read options from the | |
| files within that scope. When writing options, specifying a scope will write | |
| to the files within that scope (instead of the repository specific | |
| configuration file). See <a href="#OPTIONS">[OPTIONS]</a> above for a complete description.</p></div> | |
| <div class="paragraph"><p>Most configuration options are respected regardless of the scope it is | |
| defined in, but some options are only respected in certain scopes. See the | |
| respective option’s documentation for the full details.</p></div> | |
| <div class="sect2"> | |
| <h3 id="_protected_configuration">Protected configuration</h3> | |
| <div class="paragraph"><p>Protected configuration refers to the <em>system</em>, <em>global</em>, and <em>command</em> scopes. | |
| For security reasons, certain options are only respected when they are | |
| specified in protected configuration, and ignored otherwise.</p></div> | |
| <div class="paragraph"><p>Git treats these scopes as if they are controlled by the user or a trusted | |
| administrator. This is because an attacker who controls these scopes can do | |
| substantial harm without using Git, so it is assumed that the user’s environment | |
| protects these scopes against attackers.</p></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="sect1"> | |
| <h2 id="ENVIRONMENT">ENVIRONMENT</h2> | |
| <div class="sectionbody"> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| GIT_CONFIG_GLOBAL | |
| </dt> | |
| <dt class="hdlist1"> | |
| GIT_CONFIG_SYSTEM | |
| </dt> | |
| <dd> | |
| <p> | |
| Take the configuration from the given files instead from global or | |
| system-level configuration. See <a href="git.html">git(1)</a> for details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| GIT_CONFIG_NOSYSTEM | |
| </dt> | |
| <dd> | |
| <p> | |
| Whether to skip reading settings from the system-wide | |
| $(prefix)/etc/gitconfig file. See <a href="git.html">git(1)</a> for details. | |
| </p> | |
| </dd> | |
| </dl></div> | |
| <div class="paragraph"><p>See also <a href="#FILES">[FILES]</a>.</p></div> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| GIT_CONFIG_COUNT | |
| </dt> | |
| <dt class="hdlist1"> | |
| GIT_CONFIG_KEY_<n> | |
| </dt> | |
| <dt class="hdlist1"> | |
| GIT_CONFIG_VALUE_<n> | |
| </dt> | |
| <dd> | |
| <p> | |
| If GIT_CONFIG_COUNT is set to a positive number, all environment pairs | |
| GIT_CONFIG_KEY_<n> and GIT_CONFIG_VALUE_<n> up to that number will be | |
| added to the process’s runtime configuration. The config pairs are | |
| zero-indexed. Any missing key or value is treated as an error. An empty | |
| GIT_CONFIG_COUNT is treated the same as GIT_CONFIG_COUNT=0, namely no | |
| pairs are processed. These environment variables will override values | |
| in configuration files, but will be overridden by any explicit options | |
| passed via <code>git -c</code>. | |
| </p> | |
| <div class="paragraph"><p>This is useful for cases where you want to spawn multiple git commands | |
| with a common configuration but cannot depend on a configuration file, | |
| for example when writing scripts.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| GIT_CONFIG | |
| </dt> | |
| <dd> | |
| <p> | |
| If no <code>--file</code> option is provided to <code>git config</code>, use the file | |
| given by <code>GIT_CONFIG</code> as if it were provided via <code>--file</code>. This | |
| variable has no effect on other Git commands, and is mostly for | |
| historical compatibility; there is generally no reason to use it | |
| instead of the <code>--file</code> option. | |
| </p> | |
| </dd> | |
| </dl></div> | |
| </div> | |
| </div> | |
| <div class="sect1"> | |
| <h2 id="EXAMPLES">EXAMPLES</h2> | |
| <div class="sectionbody"> | |
| <div class="paragraph"><p>Given a .git/config like this:</p></div> | |
| <div class="listingblock"> | |
| <div class="content"> | |
| <pre><code># | |
| # This is the config file, and | |
| # a '#' or ';' character indicates | |
| # a comment | |
| # | |
| ; core variables | |
| [core] | |
| ; Don't trust file modes | |
| filemode = false | |
| ; Our diff algorithm | |
| [diff] | |
| external = /usr/local/bin/diff-wrapper | |
| renames = true | |
| ; Proxy settings | |
| [core] | |
| gitproxy=proxy-command for kernel.org | |
| gitproxy=default-proxy ; for all the rest | |
| ; HTTP | |
| [http] | |
| sslVerify | |
| [http "https://weak.example.com"] | |
| sslVerify = false | |
| cookieFile = /tmp/cookie.txt</code></pre> | |
| </div></div> | |
| <div class="paragraph"><p>you can set the filemode to true with</p></div> | |
| <div class="listingblock"> | |
| <div class="content"> | |
| <pre><code>% git config core.filemode true</code></pre> | |
| </div></div> | |
| <div class="paragraph"><p>The hypothetical proxy command entries actually have a postfix to discern | |
| what URL they apply to. Here is how to change the entry for kernel.org | |
| to "ssh".</p></div> | |
| <div class="listingblock"> | |
| <div class="content"> | |
| <pre><code>% git config core.gitproxy '"ssh" for kernel.org' 'for kernel.org$'</code></pre> | |
| </div></div> | |
| <div class="paragraph"><p>This makes sure that only the key/value pair for kernel.org is replaced.</p></div> | |
| <div class="paragraph"><p>To delete the entry for renames, do</p></div> | |
| <div class="listingblock"> | |
| <div class="content"> | |
| <pre><code>% git config --unset diff.renames</code></pre> | |
| </div></div> | |
| <div class="paragraph"><p>If you want to delete an entry for a multivar (like core.gitproxy above), | |
| you have to provide a regex matching the value of exactly one line.</p></div> | |
| <div class="paragraph"><p>To query the value for a given key, do</p></div> | |
| <div class="listingblock"> | |
| <div class="content"> | |
| <pre><code>% git config --get core.filemode</code></pre> | |
| </div></div> | |
| <div class="paragraph"><p>or</p></div> | |
| <div class="listingblock"> | |
| <div class="content"> | |
| <pre><code>% git config core.filemode</code></pre> | |
| </div></div> | |
| <div class="paragraph"><p>or, to query a multivar:</p></div> | |
| <div class="listingblock"> | |
| <div class="content"> | |
| <pre><code>% git config --get core.gitproxy "for kernel.org$"</code></pre> | |
| </div></div> | |
| <div class="paragraph"><p>If you want to know all the values for a multivar, do:</p></div> | |
| <div class="listingblock"> | |
| <div class="content"> | |
| <pre><code>% git config --get-all core.gitproxy</code></pre> | |
| </div></div> | |
| <div class="paragraph"><p>If you like to live dangerously, you can replace <strong>all</strong> core.gitproxy by a | |
| new one with</p></div> | |
| <div class="listingblock"> | |
| <div class="content"> | |
| <pre><code>% git config --replace-all core.gitproxy ssh</code></pre> | |
| </div></div> | |
| <div class="paragraph"><p>However, if you really only want to replace the line for the default proxy, | |
| i.e. the one without a "for …" postfix, do something like this:</p></div> | |
| <div class="listingblock"> | |
| <div class="content"> | |
| <pre><code>% git config core.gitproxy ssh '! for '</code></pre> | |
| </div></div> | |
| <div class="paragraph"><p>To actually match only values with an exclamation mark, you have to</p></div> | |
| <div class="listingblock"> | |
| <div class="content"> | |
| <pre><code>% git config section.key value '[!]'</code></pre> | |
| </div></div> | |
| <div class="paragraph"><p>To add a new proxy, without altering any of the existing ones, use</p></div> | |
| <div class="listingblock"> | |
| <div class="content"> | |
| <pre><code>% git config --add core.gitproxy '"proxy-command" for example.com'</code></pre> | |
| </div></div> | |
| <div class="paragraph"><p>An example to use customized color from the configuration in your | |
| script:</p></div> | |
| <div class="listingblock"> | |
| <div class="content"> | |
| <pre><code>#!/bin/sh | |
| WS=$(git config --get-color color.diff.whitespace "blue reverse") | |
| RESET=$(git config --get-color "" "reset") | |
| echo "${WS}your whitespace color or blue reverse${RESET}"</code></pre> | |
| </div></div> | |
| <div class="paragraph"><p>For URLs in <code>https://weak.example.com</code>, <code>http.sslVerify</code> is set to | |
| false, while it is set to <code>true</code> for all others:</p></div> | |
| <div class="listingblock"> | |
| <div class="content"> | |
| <pre><code>% git config --type=bool --get-urlmatch http.sslverify https://good.example.com | |
| true | |
| % git config --type=bool --get-urlmatch http.sslverify https://weak.example.com | |
| false | |
| % git config --get-urlmatch http https://weak.example.com | |
| http.cookieFile /tmp/cookie.txt | |
| http.sslverify false</code></pre> | |
| </div></div> | |
| </div> | |
| </div> | |
| <div class="sect1"> | |
| <h2 id="_configuration_file">CONFIGURATION FILE</h2> | |
| <div class="sectionbody"> | |
| <div class="paragraph"><p>The Git configuration file contains a number of variables that affect | |
| the Git commands' behavior. The files <code>.git/config</code> and optionally | |
| <code>config.worktree</code> (see the "CONFIGURATION FILE" section of | |
| <a href="git-worktree.html">git-worktree(1)</a>) in each repository are used to store the | |
| configuration for that repository, and <code>$HOME/.gitconfig</code> is used to | |
| store a per-user configuration as fallback values for the <code>.git/config</code> | |
| file. The file <code>/etc/gitconfig</code> can be used to store a system-wide | |
| default configuration.</p></div> | |
| <div class="paragraph"><p>The configuration variables are used by both the Git plumbing | |
| and the porcelain commands. The variables are divided into sections, wherein | |
| the fully qualified variable name of the variable itself is the last | |
| dot-separated segment and the section name is everything before the last | |
| dot. The variable names are case-insensitive, allow only alphanumeric | |
| characters and <code>-</code>, and must start with an alphabetic character. Some | |
| variables may appear multiple times; we say then that the variable is | |
| multivalued.</p></div> | |
| <div class="sect2"> | |
| <h3 id="_syntax">Syntax</h3> | |
| <div class="paragraph"><p>The syntax is fairly flexible and permissive; whitespaces are mostly | |
| ignored. The <em>#</em> and <em>;</em> characters begin comments to the end of line, | |
| blank lines are ignored.</p></div> | |
| <div class="paragraph"><p>The file consists of sections and variables. A section begins with | |
| the name of the section in square brackets and continues until the next | |
| section begins. Section names are case-insensitive. Only alphanumeric | |
| characters, <code>-</code> and <code>.</code> are allowed in section names. Each variable | |
| must belong to some section, which means that there must be a section | |
| header before the first setting of a variable.</p></div> | |
| <div class="paragraph"><p>Sections can be further divided into subsections. To begin a subsection | |
| put its name in double quotes, separated by space from the section name, | |
| in the section header, like in the example below:</p></div> | |
| <div class="listingblock"> | |
| <div class="content"> | |
| <pre><code> [section "subsection"]</code></pre> | |
| </div></div> | |
| <div class="paragraph"><p>Subsection names are case sensitive and can contain any characters except | |
| newline and the null byte. Doublequote <code>"</code> and backslash can be included | |
| by escaping them as <code>\"</code> and <code>\\</code>, respectively. Backslashes preceding | |
| other characters are dropped when reading; for example, <code>\t</code> is read as | |
| <code>t</code> and <code>\0</code> is read as <code>0</code>. Section headers cannot span multiple lines. | |
| Variables may belong directly to a section or to a given subsection. You | |
| can have <code>[section]</code> if you have <code>[section "subsection"]</code>, but you don’t | |
| need to.</p></div> | |
| <div class="paragraph"><p>There is also a deprecated <code>[section.subsection]</code> syntax. With this | |
| syntax, the subsection name is converted to lower-case and is also | |
| compared case sensitively. These subsection names follow the same | |
| restrictions as section names.</p></div> | |
| <div class="paragraph"><p>All the other lines (and the remainder of the line after the section | |
| header) are recognized as setting variables, in the form | |
| <em>name = value</em> (or just <em>name</em>, which is a short-hand to say that | |
| the variable is the boolean "true"). | |
| The variable names are case-insensitive, allow only alphanumeric characters | |
| and <code>-</code>, and must start with an alphabetic character.</p></div> | |
| <div class="paragraph"><p>A line that defines a value can be continued to the next line by | |
| ending it with a <code>\</code>; the backslash and the end-of-line are | |
| stripped. Leading whitespaces after <em>name =</em>, the remainder of the | |
| line after the first comment character <em>#</em> or <em>;</em>, and trailing | |
| whitespaces of the line are discarded unless they are enclosed in | |
| double quotes. Internal whitespaces within the value are retained | |
| verbatim.</p></div> | |
| <div class="paragraph"><p>Inside double quotes, double quote <code>"</code> and backslash <code>\</code> characters | |
| must be escaped: use <code>\"</code> for <code>"</code> and <code>\\</code> for <code>\</code>.</p></div> | |
| <div class="paragraph"><p>The following escape sequences (beside <code>\"</code> and <code>\\</code>) are recognized: | |
| <code>\n</code> for newline character (NL), <code>\t</code> for horizontal tabulation (HT, TAB) | |
| and <code>\b</code> for backspace (BS). Other char escape sequences (including octal | |
| escape sequences) are invalid.</p></div> | |
| </div> | |
| <div class="sect2"> | |
| <h3 id="_includes">Includes</h3> | |
| <div class="paragraph"><p>The <code>include</code> and <code>includeIf</code> sections allow you to include config | |
| directives from another source. These sections behave identically to | |
| each other with the exception that <code>includeIf</code> sections may be ignored | |
| if their condition does not evaluate to true; see "Conditional includes" | |
| below.</p></div> | |
| <div class="paragraph"><p>You can include a config file from another by setting the special | |
| <code>include.path</code> (or <code>includeIf.*.path</code>) variable to the name of the file | |
| to be included. The variable takes a pathname as its value, and is | |
| subject to tilde expansion. These variables can be given multiple times.</p></div> | |
| <div class="paragraph"><p>The contents of the included file are inserted immediately, as if they | |
| had been found at the location of the include directive. If the value of the | |
| variable is a relative path, the path is considered to | |
| be relative to the configuration file in which the include directive | |
| was found. See below for examples.</p></div> | |
| </div> | |
| <div class="sect2"> | |
| <h3 id="_conditional_includes">Conditional includes</h3> | |
| <div class="paragraph"><p>You can conditionally include a config file from another by setting an | |
| <code>includeIf.<condition>.path</code> variable to the name of the file to be | |
| included.</p></div> | |
| <div class="paragraph"><p>The condition starts with a keyword followed by a colon and some data | |
| whose format and meaning depends on the keyword. Supported keywords | |
| are:</p></div> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| <code>gitdir</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| The data that follows the keyword <code>gitdir:</code> is used as a glob | |
| pattern. If the location of the .git directory matches the | |
| pattern, the include condition is met. | |
| </p> | |
| <div class="paragraph"><p>The .git location may be auto-discovered, or come from <code>$GIT_DIR</code> | |
| environment variable. If the repository is auto-discovered via a .git | |
| file (e.g. from submodules, or a linked worktree), the .git location | |
| would be the final location where the .git directory is, not where the | |
| .git file is.</p></div> | |
| <div class="paragraph"><p>The pattern can contain standard globbing wildcards and two additional | |
| ones, <code>**/</code> and <code>/**</code>, that can match multiple path components. Please | |
| refer to <a href="gitignore.html">gitignore(5)</a> for details. For convenience:</p></div> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| If the pattern starts with <code>~/</code>, <code>~</code> will be substituted with the | |
| content of the environment variable <code>HOME</code>. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| If the pattern starts with <code>./</code>, it is replaced with the directory | |
| containing the current config file. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| If the pattern does not start with either <code>~/</code>, <code>./</code> or <code>/</code>, <code>**/</code> | |
| will be automatically prepended. For example, the pattern <code>foo/bar</code> | |
| becomes <code>**/foo/bar</code> and would match <code>/any/path/to/foo/bar</code>. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| If the pattern ends with <code>/</code>, <code>**</code> will be automatically added. For | |
| example, the pattern <code>foo/</code> becomes <code>foo/**</code>. In other words, it | |
| matches "foo" and everything inside, recursively. | |
| </p> | |
| </li> | |
| </ul></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>gitdir/i</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| This is the same as <code>gitdir</code> except that matching is done | |
| case-insensitively (e.g. on case-insensitive file systems) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>onbranch</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| The data that follows the keyword <code>onbranch:</code> is taken to be a | |
| pattern with standard globbing wildcards and two additional | |
| ones, <code>**/</code> and <code>/**</code>, that can match multiple path components. | |
| If we are in a worktree where the name of the branch that is | |
| currently checked out matches the pattern, the include condition | |
| is met. | |
| </p> | |
| <div class="paragraph"><p>If the pattern ends with <code>/</code>, <code>**</code> will be automatically added. For | |
| example, the pattern <code>foo/</code> becomes <code>foo/**</code>. In other words, it matches | |
| all branches that begin with <code>foo/</code>. This is useful if your branches are | |
| organized hierarchically and you would like to apply a configuration to | |
| all the branches in that hierarchy.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>hasconfig:remote.*.url:</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| The data that follows this keyword is taken to | |
| be a pattern with standard globbing wildcards and two | |
| additional ones, <code>**/</code> and <code>/**</code>, that can match multiple | |
| components. The first time this keyword is seen, the rest of | |
| the config files will be scanned for remote URLs (without | |
| applying any values). If there exists at least one remote URL | |
| that matches this pattern, the include condition is met. | |
| </p> | |
| <div class="paragraph"><p>Files included by this option (directly or indirectly) are not allowed | |
| to contain remote URLs.</p></div> | |
| <div class="paragraph"><p>Note that unlike other includeIf conditions, resolving this condition | |
| relies on information that is not yet known at the point of reading the | |
| condition. A typical use case is this option being present as a | |
| system-level or global-level config, and the remote URL being in a | |
| local-level config; hence the need to scan ahead when resolving this | |
| condition. In order to avoid the chicken-and-egg problem in which | |
| potentially-included files can affect whether such files are potentially | |
| included, Git breaks the cycle by prohibiting these files from affecting | |
| the resolution of these conditions (thus, prohibiting them from | |
| declaring remote URLs).</p></div> | |
| <div class="paragraph"><p>As for the naming of this keyword, it is for forwards compatibility with | |
| a naming scheme that supports more variable-based include conditions, | |
| but currently Git only supports the exact keyword described above.</p></div> | |
| </dd> | |
| </dl></div> | |
| <div class="paragraph"><p>A few more notes on matching via <code>gitdir</code> and <code>gitdir/i</code>:</p></div> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| Symlinks in <code>$GIT_DIR</code> are not resolved before matching. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| Both the symlink & realpath versions of paths will be matched | |
| outside of <code>$GIT_DIR</code>. E.g. if ~/git is a symlink to | |
| /mnt/storage/git, both <code>gitdir:~/git</code> and <code>gitdir:/mnt/storage/git</code> | |
| will match. | |
| </p> | |
| <div class="paragraph"><p>This was not the case in the initial release of this feature in | |
| v2.13.0, which only matched the realpath version. Configuration that | |
| wants to be compatible with the initial release of this feature needs | |
| to either specify only the realpath version, or both versions.</p></div> | |
| </li> | |
| <li> | |
| <p> | |
| Note that "../" is not special and will match literally, which is | |
| unlikely what you want. | |
| </p> | |
| </li> | |
| </ul></div> | |
| </div> | |
| <div class="sect2"> | |
| <h3 id="_example">Example</h3> | |
| <div class="listingblock"> | |
| <div class="content"> | |
| <pre><code># Core variables | |
| [core] | |
| ; Don't trust file modes | |
| filemode = false | |
| # Our diff algorithm | |
| [diff] | |
| external = /usr/local/bin/diff-wrapper | |
| renames = true | |
| [branch "devel"] | |
| remote = origin | |
| merge = refs/heads/devel | |
| # Proxy settings | |
| [core] | |
| gitProxy="ssh" for "kernel.org" | |
| gitProxy=default-proxy ; for the rest | |
| [include] | |
| path = /path/to/foo.inc ; include by absolute path | |
| path = foo.inc ; find "foo.inc" relative to the current file | |
| path = ~/foo.inc ; find "foo.inc" in your `$HOME` directory | |
| ; include if $GIT_DIR is /path/to/foo/.git | |
| [includeIf "gitdir:/path/to/foo/.git"] | |
| path = /path/to/foo.inc | |
| ; include for all repositories inside /path/to/group | |
| [includeIf "gitdir:/path/to/group/"] | |
| path = /path/to/foo.inc | |
| ; include for all repositories inside $HOME/to/group | |
| [includeIf "gitdir:~/to/group/"] | |
| path = /path/to/foo.inc | |
| ; relative paths are always relative to the including | |
| ; file (if the condition is true); their location is not | |
| ; affected by the condition | |
| [includeIf "gitdir:/path/to/group/"] | |
| path = foo.inc | |
| ; include only if we are in a worktree where foo-branch is | |
| ; currently checked out | |
| [includeIf "onbranch:foo-branch"] | |
| path = foo.inc | |
| ; include only if a remote with the given URL exists (note | |
| ; that such a URL may be provided later in a file or in a | |
| ; file read after this file is read, as seen in this example) | |
| [includeIf "hasconfig:remote.*.url:https://example.com/**"] | |
| path = foo.inc | |
| [remote "origin"] | |
| url = https://example.com/git</code></pre> | |
| </div></div> | |
| </div> | |
| <div class="sect2"> | |
| <h3 id="_values">Values</h3> | |
| <div class="paragraph"><p>Values of many variables are treated as a simple string, but there | |
| are variables that take values of specific types and there are rules | |
| as to how to spell them.</p></div> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| boolean | |
| </dt> | |
| <dd> | |
| <p> | |
| When a variable is said to take a boolean value, many | |
| synonyms are accepted for <em>true</em> and <em>false</em>; these are all | |
| case-insensitive. | |
| </p> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| true | |
| </dt> | |
| <dd> | |
| <p> | |
| Boolean true literals are <code>yes</code>, <code>on</code>, <code>true</code>, | |
| and <code>1</code>. Also, a variable defined without <code>= <value></code> | |
| is taken as true. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| false | |
| </dt> | |
| <dd> | |
| <p> | |
| Boolean false literals are <code>no</code>, <code>off</code>, <code>false</code>, | |
| <code>0</code> and the empty string. | |
| </p> | |
| <div class="paragraph"><p>When converting a value to its canonical form using the <code>--type=bool</code> type | |
| specifier, <em>git config</em> will ensure that the output is "true" or | |
| "false" (spelled in lowercase).</p></div> | |
| </dd> | |
| </dl></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| integer | |
| </dt> | |
| <dd> | |
| <p> | |
| The value for many variables that specify various sizes can | |
| be suffixed with <code>k</code>, <code>M</code>,… to mean "scale the number by | |
| 1024", "by 1024x1024", etc. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| color | |
| </dt> | |
| <dd> | |
| <p> | |
| The value for a variable that takes a color is a list of | |
| colors (at most two, one for foreground and one for background) | |
| and attributes (as many as you want), separated by spaces. | |
| </p> | |
| <div class="paragraph"><p>The basic colors accepted are <code>normal</code>, <code>black</code>, <code>red</code>, <code>green</code>, | |
| <code>yellow</code>, <code>blue</code>, <code>magenta</code>, <code>cyan</code>, <code>white</code> and <code>default</code>. The first | |
| color given is the foreground; the second is the background. All the | |
| basic colors except <code>normal</code> and <code>default</code> have a bright variant that can | |
| be specified by prefixing the color with <code>bright</code>, like <code>brightred</code>.</p></div> | |
| <div class="paragraph"><p>The color <code>normal</code> makes no change to the color. It is the same as an | |
| empty string, but can be used as the foreground color when specifying a | |
| background color alone (for example, "normal red").</p></div> | |
| <div class="paragraph"><p>The color <code>default</code> explicitly resets the color to the terminal default, | |
| for example to specify a cleared background. Although it varies between | |
| terminals, this is usually not the same as setting to "white black".</p></div> | |
| <div class="paragraph"><p>Colors may also be given as numbers between 0 and 255; these use ANSI | |
| 256-color mode (but note that not all terminals may support this). If | |
| your terminal supports it, you may also specify 24-bit RGB values as | |
| hex, like <code>#ff0ab3</code>.</p></div> | |
| <div class="paragraph"><p>The accepted attributes are <code>bold</code>, <code>dim</code>, <code>ul</code>, <code>blink</code>, <code>reverse</code>, | |
| <code>italic</code>, and <code>strike</code> (for crossed-out or "strikethrough" letters). | |
| The position of any attributes with respect to the colors | |
| (before, after, or in between), doesn’t matter. Specific attributes may | |
| be turned off by prefixing them with <code>no</code> or <code>no-</code> (e.g., <code>noreverse</code>, | |
| <code>no-ul</code>, etc).</p></div> | |
| <div class="paragraph"><p>The pseudo-attribute <code>reset</code> resets all colors and attributes before | |
| applying the specified coloring. For example, <code>reset green</code> will result | |
| in a green foreground and default background without any active | |
| attributes.</p></div> | |
| <div class="paragraph"><p>An empty color string produces no color effect at all. This can be used | |
| to avoid coloring specific elements without disabling color entirely.</p></div> | |
| <div class="paragraph"><p>For git’s pre-defined color slots, the attributes are meant to be reset | |
| at the beginning of each item in the colored output. So setting | |
| <code>color.decorate.branch</code> to <code>black</code> will paint that branch name in a | |
| plain <code>black</code>, even if the previous thing on the same output line (e.g. | |
| opening parenthesis before the list of branch names in <code>log --decorate</code> | |
| output) is set to be painted with <code>bold</code> or some other attribute. | |
| However, custom log formats may do more complicated and layered | |
| coloring, and the negated forms may be useful there.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pathname | |
| </dt> | |
| <dd> | |
| <p> | |
| A variable that takes a pathname value can be given a | |
| string that begins with "<code>~/</code>" or "<code>~user/</code>", and the usual | |
| tilde expansion happens to such a string: <code>~/</code> | |
| is expanded to the value of <code>$HOME</code>, and <code>~user/</code> to the | |
| specified user’s home directory. | |
| </p> | |
| <div class="paragraph"><p>If a path starts with <code>%(prefix)/</code>, the remainder is interpreted as a | |
| path relative to Git’s "runtime prefix", i.e. relative to the location | |
| where Git itself was installed. For example, <code>%(prefix)/bin/</code> refers to | |
| the directory in which the Git executable itself lives. If Git was | |
| compiled without runtime prefix support, the compiled-in prefix will be | |
| substituted instead. In the unlikely event that a literal path needs to | |
| be specified that should <em>not</em> be expanded, it needs to be prefixed by | |
| <code>./</code>, like so: <code>./%(prefix)/bin</code>.</p></div> | |
| </dd> | |
| </dl></div> | |
| </div> | |
| <div class="sect2"> | |
| <h3 id="_variables">Variables</h3> | |
| <div class="paragraph"><p>Note that this list is non-comprehensive and not necessarily complete. | |
| For command-specific variables, you will find a more detailed description | |
| in the appropriate manual page.</p></div> | |
| <div class="paragraph"><p>Other git-related tools may and do use their own variables. When | |
| inventing new variables for use in your own tool, make sure their | |
| names do not conflict with those that are used by Git itself and | |
| other popular tools, and describe them in your documentation.</p></div> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| advice.* | |
| </dt> | |
| <dd> | |
| <p> | |
| These variables control various optional help messages designed to | |
| aid new users. When left unconfigured, Git will give the message | |
| alongside instructions on how to squelch it. You can tell Git | |
| that you do not need the help message by setting these to <em>false</em>: | |
| </p> | |
| <div class="openblock"> | |
| <div class="content"> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| addEmbeddedRepo | |
| </dt> | |
| <dd> | |
| <p> | |
| Advice on what to do when you’ve accidentally added one | |
| git repo inside of another. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| addEmptyPathspec | |
| </dt> | |
| <dd> | |
| <p> | |
| Advice shown if a user runs the add command without providing | |
| the pathspec parameter. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| addIgnoredFile | |
| </dt> | |
| <dd> | |
| <p> | |
| Advice shown if a user attempts to add an ignored file to | |
| the index. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| amWorkDir | |
| </dt> | |
| <dd> | |
| <p> | |
| Advice that shows the location of the patch file when | |
| <a href="git-am.html">git-am(1)</a> fails to apply it. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| ambiguousFetchRefspec | |
| </dt> | |
| <dd> | |
| <p> | |
| Advice shown when a fetch refspec for multiple remotes maps to | |
| the same remote-tracking branch namespace and causes branch | |
| tracking set-up to fail. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| checkoutAmbiguousRemoteBranchName | |
| </dt> | |
| <dd> | |
| <p> | |
| Advice shown when the argument to | |
| <a href="git-checkout.html">git-checkout(1)</a> and <a href="git-switch.html">git-switch(1)</a> | |
| ambiguously resolves to a | |
| remote tracking branch on more than one remote in | |
| situations where an unambiguous argument would have | |
| otherwise caused a remote-tracking branch to be | |
| checked out. See the <code>checkout.defaultRemote</code> | |
| configuration variable for how to set a given remote | |
| to be used by default in some situations where this | |
| advice would be printed. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| commitBeforeMerge | |
| </dt> | |
| <dd> | |
| <p> | |
| Advice shown when <a href="git-merge.html">git-merge(1)</a> refuses to | |
| merge to avoid overwriting local changes. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| detachedHead | |
| </dt> | |
| <dd> | |
| <p> | |
| Advice shown when you used | |
| <a href="git-switch.html">git-switch(1)</a> or <a href="git-checkout.html">git-checkout(1)</a> | |
| to move to the detached HEAD state, to instruct how to | |
| create a local branch after the fact. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diverging | |
| </dt> | |
| <dd> | |
| <p> | |
| Advice shown when a fast-forward is not possible. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| fetchShowForcedUpdates | |
| </dt> | |
| <dd> | |
| <p> | |
| Advice shown when <a href="git-fetch.html">git-fetch(1)</a> takes a long time | |
| to calculate forced updates after ref updates, or to warn | |
| that the check is disabled. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| forceDeleteBranch | |
| </dt> | |
| <dd> | |
| <p> | |
| Advice shown when a user tries to delete a not fully merged | |
| branch without the force option set. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| ignoredHook | |
| </dt> | |
| <dd> | |
| <p> | |
| Advice shown if a hook is ignored because the hook is not | |
| set as executable. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| implicitIdentity | |
| </dt> | |
| <dd> | |
| <p> | |
| Advice on how to set your identity configuration when | |
| your information is guessed from the system username and | |
| domain name. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| nestedTag | |
| </dt> | |
| <dd> | |
| <p> | |
| Advice shown if a user attempts to recursively tag a tag object. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pushAlreadyExists | |
| </dt> | |
| <dd> | |
| <p> | |
| Shown when <a href="git-push.html">git-push(1)</a> rejects an update that | |
| does not qualify for fast-forwarding (e.g., a tag.) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pushFetchFirst | |
| </dt> | |
| <dd> | |
| <p> | |
| Shown when <a href="git-push.html">git-push(1)</a> rejects an update that | |
| tries to overwrite a remote ref that points at an | |
| object we do not have. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pushNeedsForce | |
| </dt> | |
| <dd> | |
| <p> | |
| Shown when <a href="git-push.html">git-push(1)</a> rejects an update that | |
| tries to overwrite a remote ref that points at an | |
| object that is not a commit-ish, or make the remote | |
| ref point at an object that is not a commit-ish. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pushNonFFCurrent | |
| </dt> | |
| <dd> | |
| <p> | |
| Advice shown when <a href="git-push.html">git-push(1)</a> fails due to a | |
| non-fast-forward update to the current branch. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pushNonFFMatching | |
| </dt> | |
| <dd> | |
| <p> | |
| Advice shown when you ran <a href="git-push.html">git-push(1)</a> and pushed | |
| <em>matching refs</em> explicitly (i.e. you used <em>:</em>, or | |
| specified a refspec that isn’t your current branch) and | |
| it resulted in a non-fast-forward error. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pushRefNeedsUpdate | |
| </dt> | |
| <dd> | |
| <p> | |
| Shown when <a href="git-push.html">git-push(1)</a> rejects a forced update of | |
| a branch when its remote-tracking ref has updates that we | |
| do not have locally. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pushUnqualifiedRefname | |
| </dt> | |
| <dd> | |
| <p> | |
| Shown when <a href="git-push.html">git-push(1)</a> gives up trying to | |
| guess based on the source and destination refs what | |
| remote ref namespace the source belongs in, but where | |
| we can still suggest that the user push to either | |
| refs/heads/* or refs/tags/* based on the type of the | |
| source object. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pushUpdateRejected | |
| </dt> | |
| <dd> | |
| <p> | |
| Set this variable to <em>false</em> if you want to disable | |
| <em>pushNonFFCurrent</em>, <em>pushNonFFMatching</em>, <em>pushAlreadyExists</em>, | |
| <em>pushFetchFirst</em>, <em>pushNeedsForce</em>, and <em>pushRefNeedsUpdate</em> | |
| simultaneously. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| resetNoRefresh | |
| </dt> | |
| <dd> | |
| <p> | |
| Advice to consider using the <code>--no-refresh</code> option to | |
| <a href="git-reset.html">git-reset(1)</a> when the command takes more than 2 seconds | |
| to refresh the index after reset. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| resolveConflict | |
| </dt> | |
| <dd> | |
| <p> | |
| Advice shown by various commands when conflicts | |
| prevent the operation from being performed. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| rmHints | |
| </dt> | |
| <dd> | |
| <p> | |
| In case of failure in the output of <a href="git-rm.html">git-rm(1)</a>, | |
| show directions on how to proceed from the current state. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| sequencerInUse | |
| </dt> | |
| <dd> | |
| <p> | |
| Advice shown when a sequencer command is already in progress. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| skippedCherryPicks | |
| </dt> | |
| <dd> | |
| <p> | |
| Shown when <a href="git-rebase.html">git-rebase(1)</a> skips a commit that has already | |
| been cherry-picked onto the upstream branch. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| statusAheadBehind | |
| </dt> | |
| <dd> | |
| <p> | |
| Shown when <a href="git-status.html">git-status(1)</a> computes the ahead/behind | |
| counts for a local ref compared to its remote tracking ref, | |
| and that calculation takes longer than expected. Will not | |
| appear if <code>status.aheadBehind</code> is false or the option | |
| <code>--no-ahead-behind</code> is given. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| statusHints | |
| </dt> | |
| <dd> | |
| <p> | |
| Show directions on how to proceed from the current | |
| state in the output of <a href="git-status.html">git-status(1)</a>, in | |
| the template shown when writing commit messages in | |
| <a href="git-commit.html">git-commit(1)</a>, and in the help message shown | |
| by <a href="git-switch.html">git-switch(1)</a> or | |
| <a href="git-checkout.html">git-checkout(1)</a> when switching branches. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| statusUoption | |
| </dt> | |
| <dd> | |
| <p> | |
| Advise to consider using the <code>-u</code> option to <a href="git-status.html">git-status(1)</a> | |
| when the command takes more than 2 seconds to enumerate untracked | |
| files. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| submoduleAlternateErrorStrategyDie | |
| </dt> | |
| <dd> | |
| <p> | |
| Advice shown when a submodule.alternateErrorStrategy option | |
| configured to "die" causes a fatal error. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| submodulesNotUpdated | |
| </dt> | |
| <dd> | |
| <p> | |
| Advice shown when a user runs a submodule command that fails | |
| because <code>git submodule update --init</code> was not run. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| suggestDetachingHead | |
| </dt> | |
| <dd> | |
| <p> | |
| Advice shown when <a href="git-switch.html">git-switch(1)</a> refuses to detach HEAD | |
| without the explicit <code>--detach</code> option. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| updateSparsePath | |
| </dt> | |
| <dd> | |
| <p> | |
| Advice shown when either <a href="git-add.html">git-add(1)</a> or <a href="git-rm.html">git-rm(1)</a> | |
| is asked to update index entries outside the current sparse | |
| checkout. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| waitingForEditor | |
| </dt> | |
| <dd> | |
| <p> | |
| Print a message to the terminal whenever Git is waiting for | |
| editor input from the user. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| worktreeAddOrphan | |
| </dt> | |
| <dd> | |
| <p> | |
| Advice shown when a user tries to create a worktree from an | |
| invalid reference, to instruct how to create a new unborn | |
| branch instead. | |
| </p> | |
| </dd> | |
| </dl></div> | |
| </div></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| attr.tree | |
| </dt> | |
| <dd> | |
| <p> | |
| A reference to a tree in the repository from which to read attributes, | |
| instead of the <code>.gitattributes</code> file in the working tree. In a bare | |
| repository, this defaults to <code>HEAD:.gitattributes</code>. If the value does | |
| not resolve to a valid tree object, an empty tree is used instead. | |
| When the <code>GIT_ATTR_SOURCE</code> environment variable or <code>--attr-source</code> | |
| command line option are used, this configuration variable has no effect. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.fileMode | |
| </dt> | |
| <dd> | |
| <p> | |
| Tells Git if the executable bit of files in the working tree | |
| is to be honored. | |
| </p> | |
| <div class="paragraph"><p>Some filesystems lose the executable bit when a file that is | |
| marked as executable is checked out, or checks out a | |
| non-executable file with executable bit on. | |
| <a href="git-clone.html">git-clone(1)</a> or <a href="git-init.html">git-init(1)</a> probe the filesystem | |
| to see if it handles the executable bit correctly | |
| and this variable is automatically set as necessary.</p></div> | |
| <div class="paragraph"><p>A repository, however, may be on a filesystem that handles | |
| the filemode correctly, and this variable is set to <em>true</em> | |
| when created, but later may be made accessible from another | |
| environment that loses the filemode (e.g. exporting ext4 via | |
| CIFS mount, visiting a Cygwin created repository with | |
| Git for Windows or Eclipse). | |
| In such a case it may be necessary to set this variable to <em>false</em>. | |
| See <a href="git-update-index.html">git-update-index(1)</a>.</p></div> | |
| <div class="paragraph"><p>The default is true (when core.filemode is not specified in the config file).</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.hideDotFiles | |
| </dt> | |
| <dd> | |
| <p> | |
| (Windows-only) If true, mark newly-created directories and files whose | |
| name starts with a dot as hidden. If <em>dotGitOnly</em>, only the <code>.git/</code> | |
| directory is hidden, but no other files starting with a dot. The | |
| default mode is <em>dotGitOnly</em>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.ignoreCase | |
| </dt> | |
| <dd> | |
| <p> | |
| Internal variable which enables various workarounds to enable | |
| Git to work better on filesystems that are not case sensitive, | |
| like APFS, HFS+, FAT, NTFS, etc. For example, if a directory listing | |
| finds "makefile" when Git expects "Makefile", Git will assume | |
| it is really the same file, and continue to remember it as | |
| "Makefile". | |
| </p> | |
| <div class="paragraph"><p>The default is false, except <a href="git-clone.html">git-clone(1)</a> or <a href="git-init.html">git-init(1)</a> | |
| will probe and set core.ignoreCase true if appropriate when the repository | |
| is created.</p></div> | |
| <div class="paragraph"><p>Git relies on the proper configuration of this variable for your operating | |
| and file system. Modifying this value may result in unexpected behavior.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.precomposeUnicode | |
| </dt> | |
| <dd> | |
| <p> | |
| This option is only used by Mac OS implementation of Git. | |
| When core.precomposeUnicode=true, Git reverts the unicode decomposition | |
| of filenames done by Mac OS. This is useful when sharing a repository | |
| between Mac OS and Linux or Windows. | |
| (Git for Windows 1.7.10 or higher is needed, or Git under cygwin 1.7). | |
| When false, file names are handled fully transparent by Git, | |
| which is backward compatible with older versions of Git. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.protectHFS | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to true, do not allow checkout of paths that would | |
| be considered equivalent to <code>.git</code> on an HFS+ filesystem. | |
| Defaults to <code>true</code> on Mac OS, and <code>false</code> elsewhere. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.protectNTFS | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to true, do not allow checkout of paths that would | |
| cause problems with the NTFS filesystem, e.g. conflict with | |
| 8.3 "short" names. | |
| Defaults to <code>true</code> on Windows, and <code>false</code> elsewhere. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.fsmonitor | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to true, enable the built-in file system monitor | |
| daemon for this working directory (<a href="git-fsmonitor--daemon.html">git-fsmonitor--daemon(1)</a>). | |
| </p> | |
| <div class="paragraph"><p>Like hook-based file system monitors, the built-in file system monitor | |
| can speed up Git commands that need to refresh the Git index | |
| (e.g. <code>git status</code>) in a working directory with many files. The | |
| built-in monitor eliminates the need to install and maintain an | |
| external third-party tool.</p></div> | |
| <div class="paragraph"><p>The built-in file system monitor is currently available only on a | |
| limited set of supported platforms. Currently, this includes Windows | |
| and MacOS.</p></div> | |
| <div class="literalblock"> | |
| <div class="content"> | |
| <pre><code>Otherwise, this variable contains the pathname of the "fsmonitor" | |
| hook command.</code></pre> | |
| </div></div> | |
| <div class="paragraph"><p>This hook command is used to identify all files that may have changed | |
| since the requested date/time. This information is used to speed up | |
| git by avoiding unnecessary scanning of files that have not changed.</p></div> | |
| <div class="paragraph"><p>See the "fsmonitor-watchman" section of <a href="githooks.html">githooks(5)</a>.</p></div> | |
| <div class="paragraph"><p>Note that if you concurrently use multiple versions of Git, such | |
| as one version on the command line and another version in an IDE | |
| tool, that the definition of <code>core.fsmonitor</code> was extended to | |
| allow boolean values in addition to hook pathnames. Git versions | |
| 2.35.1 and prior will not understand the boolean values and will | |
| consider the "true" or "false" values as hook pathnames to be | |
| invoked. Git versions 2.26 thru 2.35.1 default to hook protocol | |
| V2 and will fall back to no fsmonitor (full scan). Git versions | |
| prior to 2.26 default to hook protocol V1 and will silently | |
| assume there were no changes to report (no scan), so status | |
| commands may report incomplete results. For this reason, it is | |
| best to upgrade all of your Git versions before using the built-in | |
| file system monitor.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.fsmonitorHookVersion | |
| </dt> | |
| <dd> | |
| <p> | |
| Sets the protocol version to be used when invoking the | |
| "fsmonitor" hook. | |
| </p> | |
| <div class="paragraph"><p>There are currently versions 1 and 2. When this is not set, | |
| version 2 will be tried first and if it fails then version 1 | |
| will be tried. Version 1 uses a timestamp as input to determine | |
| which files have changes since that time but some monitors | |
| like Watchman have race conditions when used with a timestamp. | |
| Version 2 uses an opaque string so that the monitor can return | |
| something that can be used to determine what files have changed | |
| without race conditions.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.trustctime | |
| </dt> | |
| <dd> | |
| <p> | |
| If false, the ctime differences between the index and the | |
| working tree are ignored; useful when the inode change time | |
| is regularly modified by something outside Git (file system | |
| crawlers and some backup systems). | |
| See <a href="git-update-index.html">git-update-index(1)</a>. True by default. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.splitIndex | |
| </dt> | |
| <dd> | |
| <p> | |
| If true, the split-index feature of the index will be used. | |
| See <a href="git-update-index.html">git-update-index(1)</a>. False by default. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.untrackedCache | |
| </dt> | |
| <dd> | |
| <p> | |
| Determines what to do about the untracked cache feature of the | |
| index. It will be kept, if this variable is unset or set to | |
| <code>keep</code>. It will automatically be added if set to <code>true</code>. And | |
| it will automatically be removed, if set to <code>false</code>. Before | |
| setting it to <code>true</code>, you should check that mtime is working | |
| properly on your system. | |
| See <a href="git-update-index.html">git-update-index(1)</a>. <code>keep</code> by default, unless | |
| <code>feature.manyFiles</code> is enabled which sets this setting to | |
| <code>true</code> by default. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.checkStat | |
| </dt> | |
| <dd> | |
| <p> | |
| When missing or is set to <code>default</code>, many fields in the stat | |
| structure are checked to detect if a file has been modified | |
| since Git looked at it. When this configuration variable is | |
| set to <code>minimal</code>, sub-second part of mtime and ctime, the | |
| uid and gid of the owner of the file, the inode number (and | |
| the device number, if Git was compiled to use it), are | |
| excluded from the check among these fields, leaving only the | |
| whole-second part of mtime (and ctime, if <code>core.trustCtime</code> | |
| is set) and the filesize to be checked. | |
| </p> | |
| <div class="paragraph"><p>There are implementations of Git that do not leave usable values in | |
| some fields (e.g. JGit); by excluding these fields from the | |
| comparison, the <code>minimal</code> mode may help interoperability when the | |
| same repository is used by these other systems at the same time.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.quotePath | |
| </dt> | |
| <dd> | |
| <p> | |
| Commands that output paths (e.g. <em>ls-files</em>, <em>diff</em>), will | |
| quote "unusual" characters in the pathname by enclosing the | |
| pathname in double-quotes and escaping those characters with | |
| backslashes in the same way C escapes control characters (e.g. | |
| <code>\t</code> for TAB, <code>\n</code> for LF, <code>\\</code> for backslash) or bytes with | |
| values larger than 0x80 (e.g. octal <code>\302\265</code> for "micro" in | |
| UTF-8). If this variable is set to false, bytes higher than | |
| 0x80 are not considered "unusual" any more. Double-quotes, | |
| backslash and control characters are always escaped regardless | |
| of the setting of this variable. A simple space character is | |
| not considered "unusual". Many commands can output pathnames | |
| completely verbatim using the <code>-z</code> option. The default value | |
| is true. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.eol | |
| </dt> | |
| <dd> | |
| <p> | |
| Sets the line ending type to use in the working directory for | |
| files that are marked as text (either by having the <code>text</code> | |
| attribute set, or by having <code>text=auto</code> and Git auto-detecting | |
| the contents as text). | |
| Alternatives are <em>lf</em>, <em>crlf</em> and <em>native</em>, which uses the platform’s | |
| native line ending. The default value is <code>native</code>. See | |
| <a href="gitattributes.html">gitattributes(5)</a> for more information on end-of-line | |
| conversion. Note that this value is ignored if <code>core.autocrlf</code> | |
| is set to <code>true</code> or <code>input</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.safecrlf | |
| </dt> | |
| <dd> | |
| <p> | |
| If true, makes Git check if converting <code>CRLF</code> is reversible when | |
| end-of-line conversion is active. Git will verify if a command | |
| modifies a file in the work tree either directly or indirectly. | |
| For example, committing a file followed by checking out the | |
| same file should yield the original file in the work tree. If | |
| this is not the case for the current setting of | |
| <code>core.autocrlf</code>, Git will reject the file. The variable can | |
| be set to "warn", in which case Git will only warn about an | |
| irreversible conversion but continue the operation. | |
| </p> | |
| <div class="paragraph"><p>CRLF conversion bears a slight chance of corrupting data. | |
| When it is enabled, Git will convert CRLF to LF during commit and LF to | |
| CRLF during checkout. A file that contains a mixture of LF and | |
| CRLF before the commit cannot be recreated by Git. For text | |
| files this is the right thing to do: it corrects line endings | |
| such that we have only LF line endings in the repository. | |
| But for binary files that are accidentally classified as text the | |
| conversion can corrupt data.</p></div> | |
| <div class="paragraph"><p>If you recognize such corruption early you can easily fix it by | |
| setting the conversion type explicitly in .gitattributes. Right | |
| after committing you still have the original file in your work | |
| tree and this file is not yet corrupted. You can explicitly tell | |
| Git that this file is binary and Git will handle the file | |
| appropriately.</p></div> | |
| <div class="paragraph"><p>Unfortunately, the desired effect of cleaning up text files with | |
| mixed line endings and the undesired effect of corrupting binary | |
| files cannot be distinguished. In both cases CRLFs are removed | |
| in an irreversible way. For text files this is the right thing | |
| to do because CRLFs are line endings, while for binary files | |
| converting CRLFs corrupts data.</p></div> | |
| <div class="paragraph"><p>Note, this safety check does not mean that a checkout will generate a | |
| file identical to the original file for a different setting of | |
| <code>core.eol</code> and <code>core.autocrlf</code>, but only for the current one. For | |
| example, a text file with <code>LF</code> would be accepted with <code>core.eol=lf</code> | |
| and could later be checked out with <code>core.eol=crlf</code>, in which case the | |
| resulting file would contain <code>CRLF</code>, although the original file | |
| contained <code>LF</code>. However, in both work trees the line endings would be | |
| consistent, that is either all <code>LF</code> or all <code>CRLF</code>, but never mixed. A | |
| file with mixed line endings would be reported by the <code>core.safecrlf</code> | |
| mechanism.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.autocrlf | |
| </dt> | |
| <dd> | |
| <p> | |
| Setting this variable to "true" is the same as setting | |
| the <code>text</code> attribute to "auto" on all files and core.eol to "crlf". | |
| Set to true if you want to have <code>CRLF</code> line endings in your | |
| working directory and the repository has LF line endings. | |
| This variable can be set to <em>input</em>, | |
| in which case no output conversion is performed. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.checkRoundtripEncoding | |
| </dt> | |
| <dd> | |
| <p> | |
| A comma and/or whitespace separated list of encodings that Git | |
| performs UTF-8 round trip checks on if they are used in an | |
| <code>working-tree-encoding</code> attribute (see <a href="gitattributes.html">gitattributes(5)</a>). | |
| The default value is <code>SHIFT-JIS</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.symlinks | |
| </dt> | |
| <dd> | |
| <p> | |
| If false, symbolic links are checked out as small plain files that | |
| contain the link text. <a href="git-update-index.html">git-update-index(1)</a> and | |
| <a href="git-add.html">git-add(1)</a> will not change the recorded type to regular | |
| file. Useful on filesystems like FAT that do not support | |
| symbolic links. | |
| </p> | |
| <div class="paragraph"><p>The default is true, except <a href="git-clone.html">git-clone(1)</a> or <a href="git-init.html">git-init(1)</a> | |
| will probe and set core.symlinks false if appropriate when the repository | |
| is created.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.gitProxy | |
| </dt> | |
| <dd> | |
| <p> | |
| A "proxy command" to execute (as <em>command host port</em>) instead | |
| of establishing direct connection to the remote server when | |
| using the Git protocol for fetching. If the variable value is | |
| in the "COMMAND for DOMAIN" format, the command is applied only | |
| on hostnames ending with the specified domain string. This variable | |
| may be set multiple times and is matched in the given order; | |
| the first match wins. | |
| </p> | |
| <div class="paragraph"><p>Can be overridden by the <code>GIT_PROXY_COMMAND</code> environment variable | |
| (which always applies universally, without the special "for" | |
| handling).</p></div> | |
| <div class="paragraph"><p>The special string <code>none</code> can be used as the proxy command to | |
| specify that no proxy be used for a given domain pattern. | |
| This is useful for excluding servers inside a firewall from | |
| proxy use, while defaulting to a common proxy for external domains.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.sshCommand | |
| </dt> | |
| <dd> | |
| <p> | |
| If this variable is set, <code>git fetch</code> and <code>git push</code> will | |
| use the specified command instead of <code>ssh</code> when they need to | |
| connect to a remote system. The command is in the same form as | |
| the <code>GIT_SSH_COMMAND</code> environment variable and is overridden | |
| when the environment variable is set. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.ignoreStat | |
| </dt> | |
| <dd> | |
| <p> | |
| If true, Git will avoid using lstat() calls to detect if files have | |
| changed by setting the "assume-unchanged" bit for those tracked files | |
| which it has updated identically in both the index and working tree. | |
| </p> | |
| <div class="paragraph"><p>When files are modified outside of Git, the user will need to stage | |
| the modified files explicitly (e.g. see <em>Examples</em> section in | |
| <a href="git-update-index.html">git-update-index(1)</a>). | |
| Git will not normally detect changes to those files.</p></div> | |
| <div class="paragraph"><p>This is useful on systems where lstat() calls are very slow, such as | |
| CIFS/Microsoft Windows.</p></div> | |
| <div class="paragraph"><p>False by default.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.preferSymlinkRefs | |
| </dt> | |
| <dd> | |
| <p> | |
| Instead of the default "symref" format for HEAD | |
| and other symbolic reference files, use symbolic links. | |
| This is sometimes needed to work with old scripts that | |
| expect HEAD to be a symbolic link. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.alternateRefsCommand | |
| </dt> | |
| <dd> | |
| <p> | |
| When advertising tips of available history from an alternate, use the shell to | |
| execute the specified command instead of <a href="git-for-each-ref.html">git-for-each-ref(1)</a>. The | |
| first argument is the absolute path of the alternate. Output must contain one | |
| hex object id per line (i.e., the same as produced by <code>git for-each-ref | |
| --format='%(objectname)'</code>). | |
| </p> | |
| <div class="paragraph"><p>Note that you cannot generally put <code>git for-each-ref</code> directly into the config | |
| value, as it does not take a repository path as an argument (but you can wrap | |
| the command above in a shell script).</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.alternateRefsPrefixes | |
| </dt> | |
| <dd> | |
| <p> | |
| When listing references from an alternate, list only references that begin | |
| with the given prefix. Prefixes match as if they were given as arguments to | |
| <a href="git-for-each-ref.html">git-for-each-ref(1)</a>. To list multiple prefixes, separate them with | |
| whitespace. If <code>core.alternateRefsCommand</code> is set, setting | |
| <code>core.alternateRefsPrefixes</code> has no effect. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.bare | |
| </dt> | |
| <dd> | |
| <p> | |
| If true this repository is assumed to be <em>bare</em> and has no | |
| working directory associated with it. If this is the case a | |
| number of commands that require a working directory will be | |
| disabled, such as <a href="git-add.html">git-add(1)</a> or <a href="git-merge.html">git-merge(1)</a>. | |
| </p> | |
| <div class="paragraph"><p>This setting is automatically guessed by <a href="git-clone.html">git-clone(1)</a> or | |
| <a href="git-init.html">git-init(1)</a> when the repository was created. By default a | |
| repository that ends in "/.git" is assumed to be not bare (bare = | |
| false), while all other repositories are assumed to be bare (bare | |
| = true).</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.worktree | |
| </dt> | |
| <dd> | |
| <p> | |
| Set the path to the root of the working tree. | |
| If <code>GIT_COMMON_DIR</code> environment variable is set, core.worktree | |
| is ignored and not used for determining the root of working tree. | |
| This can be overridden by the <code>GIT_WORK_TREE</code> environment | |
| variable and the <code>--work-tree</code> command-line option. | |
| The value can be an absolute path or relative to the path to | |
| the .git directory, which is either specified by --git-dir | |
| or GIT_DIR, or automatically discovered. | |
| If --git-dir or GIT_DIR is specified but none of | |
| --work-tree, GIT_WORK_TREE and core.worktree is specified, | |
| the current working directory is regarded as the top level | |
| of your working tree. | |
| </p> | |
| <div class="paragraph"><p>Note that this variable is honored even when set in a configuration | |
| file in a ".git" subdirectory of a directory and its value differs | |
| from the latter directory (e.g. "/path/to/.git/config" has | |
| core.worktree set to "/different/path"), which is most likely a | |
| misconfiguration. Running Git commands in the "/path/to" directory will | |
| still use "/different/path" as the root of the work tree and can cause | |
| confusion unless you know what you are doing (e.g. you are creating a | |
| read-only snapshot of the same index to a location different from the | |
| repository’s usual working tree).</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.logAllRefUpdates | |
| </dt> | |
| <dd> | |
| <p> | |
| Enable the reflog. Updates to a ref <ref> is logged to the file | |
| "<code>$GIT_DIR/logs/<ref></code>", by appending the new and old | |
| SHA-1, the date/time and the reason of the update, but | |
| only when the file exists. If this configuration | |
| variable is set to <code>true</code>, missing "<code>$GIT_DIR/logs/<ref></code>" | |
| file is automatically created for branch heads (i.e. under | |
| <code>refs/heads/</code>), remote refs (i.e. under <code>refs/remotes/</code>), | |
| note refs (i.e. under <code>refs/notes/</code>), and the symbolic ref <code>HEAD</code>. | |
| If it is set to <code>always</code>, then a missing reflog is automatically | |
| created for any ref under <code>refs/</code>. | |
| </p> | |
| <div class="paragraph"><p>This information can be used to determine what commit | |
| was the tip of a branch "2 days ago".</p></div> | |
| <div class="paragraph"><p>This value is true by default in a repository that has | |
| a working directory associated with it, and false by | |
| default in a bare repository.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.repositoryFormatVersion | |
| </dt> | |
| <dd> | |
| <p> | |
| Internal variable identifying the repository format and layout | |
| version. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.sharedRepository | |
| </dt> | |
| <dd> | |
| <p> | |
| When <em>group</em> (or <em>true</em>), the repository is made shareable between | |
| several users in a group (making sure all the files and objects are | |
| group-writable). When <em>all</em> (or <em>world</em> or <em>everybody</em>), the | |
| repository will be readable by all users, additionally to being | |
| group-shareable. When <em>umask</em> (or <em>false</em>), Git will use permissions | |
| reported by umask(2). When <em>0xxx</em>, where <em>0xxx</em> is an octal number, | |
| files in the repository will have this mode value. <em>0xxx</em> will override | |
| user’s umask value (whereas the other options will only override | |
| requested parts of the user’s umask value). Examples: <em>0660</em> will make | |
| the repo read/write-able for the owner and group, but inaccessible to | |
| others (equivalent to <em>group</em> unless umask is e.g. <em>0022</em>). <em>0640</em> is a | |
| repository that is group-readable but not group-writable. | |
| See <a href="git-init.html">git-init(1)</a>. False by default. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.warnAmbiguousRefs | |
| </dt> | |
| <dd> | |
| <p> | |
| If true, Git will warn you if the ref name you passed it is ambiguous | |
| and might match multiple refs in the repository. True by default. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.compression | |
| </dt> | |
| <dd> | |
| <p> | |
| An integer -1..9, indicating a default compression level. | |
| -1 is the zlib default. 0 means no compression, | |
| and 1..9 are various speed/size tradeoffs, 9 being slowest. | |
| If set, this provides a default to other compression variables, | |
| such as <code>core.looseCompression</code> and <code>pack.compression</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.looseCompression | |
| </dt> | |
| <dd> | |
| <p> | |
| An integer -1..9, indicating the compression level for objects that | |
| are not in a pack file. -1 is the zlib default. 0 means no | |
| compression, and 1..9 are various speed/size tradeoffs, 9 being | |
| slowest. If not set, defaults to core.compression. If that is | |
| not set, defaults to 1 (best speed). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.packedGitWindowSize | |
| </dt> | |
| <dd> | |
| <p> | |
| Number of bytes of a pack file to map into memory in a | |
| single mapping operation. Larger window sizes may allow | |
| your system to process a smaller number of large pack files | |
| more quickly. Smaller window sizes will negatively affect | |
| performance due to increased calls to the operating system’s | |
| memory manager, but may improve performance when accessing | |
| a large number of large pack files. | |
| </p> | |
| <div class="paragraph"><p>Default is 1 MiB if NO_MMAP was set at compile time, otherwise 32 | |
| MiB on 32 bit platforms and 1 GiB on 64 bit platforms. This should | |
| be reasonable for all users/operating systems. You probably do | |
| not need to adjust this value.</p></div> | |
| <div class="paragraph"><p>Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.packedGitLimit | |
| </dt> | |
| <dd> | |
| <p> | |
| Maximum number of bytes to map simultaneously into memory | |
| from pack files. If Git needs to access more than this many | |
| bytes at once to complete an operation it will unmap existing | |
| regions to reclaim virtual address space within the process. | |
| </p> | |
| <div class="paragraph"><p>Default is 256 MiB on 32 bit platforms and 32 TiB (effectively | |
| unlimited) on 64 bit platforms. | |
| This should be reasonable for all users/operating systems, except on | |
| the largest projects. You probably do not need to adjust this value.</p></div> | |
| <div class="paragraph"><p>Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.deltaBaseCacheLimit | |
| </dt> | |
| <dd> | |
| <p> | |
| Maximum number of bytes per thread to reserve for caching base objects | |
| that may be referenced by multiple deltified objects. By storing the | |
| entire decompressed base objects in a cache Git is able | |
| to avoid unpacking and decompressing frequently used base | |
| objects multiple times. | |
| </p> | |
| <div class="paragraph"><p>Default is 96 MiB on all platforms. This should be reasonable | |
| for all users/operating systems, except on the largest projects. | |
| You probably do not need to adjust this value.</p></div> | |
| <div class="paragraph"><p>Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.bigFileThreshold | |
| </dt> | |
| <dd> | |
| <p> | |
| The size of files considered "big", which as discussed below | |
| changes the behavior of numerous git commands, as well as how | |
| such files are stored within the repository. The default is | |
| 512 MiB. Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are | |
| supported. | |
| </p> | |
| <div class="paragraph"><p>Files above the configured limit will be:</p></div> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| Stored deflated in packfiles, without attempting delta compression. | |
| </p> | |
| <div class="paragraph"><p>The default limit is primarily set with this use-case in mind. With it, | |
| most projects will have their source code and other text files delta | |
| compressed, but not larger binary media files.</p></div> | |
| <div class="paragraph"><p>Storing large files without delta compression avoids excessive memory | |
| usage, at the slight expense of increased disk usage.</p></div> | |
| </li> | |
| <li> | |
| <p> | |
| Will be treated as if they were labeled "binary" (see | |
| <a href="gitattributes.html">gitattributes(5)</a>). e.g. <a href="git-log.html">git-log(1)</a> and | |
| <a href="git-diff.html">git-diff(1)</a> will not compute diffs for files above this limit. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| Will generally be streamed when written, which avoids excessive | |
| memory usage, at the cost of some fixed overhead. Commands that make | |
| use of this include <a href="git-archive.html">git-archive(1)</a>, | |
| <a href="git-fast-import.html">git-fast-import(1)</a>, <a href="git-index-pack.html">git-index-pack(1)</a>, | |
| <a href="git-unpack-objects.html">git-unpack-objects(1)</a> and <a href="git-fsck.html">git-fsck(1)</a>. | |
| </p> | |
| </li> | |
| </ul></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.excludesFile | |
| </dt> | |
| <dd> | |
| <p> | |
| Specifies the pathname to the file that contains patterns to | |
| describe paths that are not meant to be tracked, in addition | |
| to <code>.gitignore</code> (per-directory) and <code>.git/info/exclude</code>. | |
| Defaults to <code>$XDG_CONFIG_HOME/git/ignore</code>. | |
| If <code>$XDG_CONFIG_HOME</code> is either not set or empty, <code>$HOME/.config/git/ignore</code> | |
| is used instead. See <a href="gitignore.html">gitignore(5)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.askPass | |
| </dt> | |
| <dd> | |
| <p> | |
| Some commands (e.g. svn and http interfaces) that interactively | |
| ask for a password can be told to use an external program given | |
| via the value of this variable. Can be overridden by the <code>GIT_ASKPASS</code> | |
| environment variable. If not set, fall back to the value of the | |
| <code>SSH_ASKPASS</code> environment variable or, failing that, a simple password | |
| prompt. The external program shall be given a suitable prompt as | |
| command-line argument and write the password on its STDOUT. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.attributesFile | |
| </dt> | |
| <dd> | |
| <p> | |
| In addition to <code>.gitattributes</code> (per-directory) and | |
| <code>.git/info/attributes</code>, Git looks into this file for attributes | |
| (see <a href="gitattributes.html">gitattributes(5)</a>). Path expansions are made the same | |
| way as for <code>core.excludesFile</code>. Its default value is | |
| <code>$XDG_CONFIG_HOME/git/attributes</code>. If <code>$XDG_CONFIG_HOME</code> is either not | |
| set or empty, <code>$HOME/.config/git/attributes</code> is used instead. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.hooksPath | |
| </dt> | |
| <dd> | |
| <p> | |
| By default Git will look for your hooks in the | |
| <code>$GIT_DIR/hooks</code> directory. Set this to different path, | |
| e.g. <code>/etc/git/hooks</code>, and Git will try to find your hooks in | |
| that directory, e.g. <code>/etc/git/hooks/pre-receive</code> instead of | |
| in <code>$GIT_DIR/hooks/pre-receive</code>. | |
| </p> | |
| <div class="paragraph"><p>The path can be either absolute or relative. A relative path is | |
| taken as relative to the directory where the hooks are run (see | |
| the "DESCRIPTION" section of <a href="githooks.html">githooks(5)</a>).</p></div> | |
| <div class="paragraph"><p>This configuration variable is useful in cases where you’d like to | |
| centrally configure your Git hooks instead of configuring them on a | |
| per-repository basis, or as a more flexible and centralized | |
| alternative to having an <code>init.templateDir</code> where you’ve changed | |
| default hooks.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.editor | |
| </dt> | |
| <dd> | |
| <p> | |
| Commands such as <code>commit</code> and <code>tag</code> that let you edit | |
| messages by launching an editor use the value of this | |
| variable when it is set, and the environment variable | |
| <code>GIT_EDITOR</code> is not set. See <a href="git-var.html">git-var(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.commentChar | |
| </dt> | |
| <dd> | |
| <p> | |
| Commands such as <code>commit</code> and <code>tag</code> that let you edit | |
| messages consider a line that begins with this character | |
| commented, and removes them after the editor returns | |
| (default <em>#</em>). | |
| </p> | |
| <div class="paragraph"><p>If set to "auto", <code>git-commit</code> would select a character that is not | |
| the beginning character of any line in existing commit messages.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.filesRefLockTimeout | |
| </dt> | |
| <dd> | |
| <p> | |
| The length of time, in milliseconds, to retry when trying to | |
| lock an individual reference. Value 0 means not to retry at | |
| all; -1 means to try indefinitely. Default is 100 (i.e., | |
| retry for 100ms). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.packedRefsTimeout | |
| </dt> | |
| <dd> | |
| <p> | |
| The length of time, in milliseconds, to retry when trying to | |
| lock the <code>packed-refs</code> file. Value 0 means not to retry at | |
| all; -1 means to try indefinitely. Default is 1000 (i.e., | |
| retry for 1 second). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.pager | |
| </dt> | |
| <dd> | |
| <p> | |
| Text viewer for use by Git commands (e.g., <em>less</em>). The value | |
| is meant to be interpreted by the shell. The order of preference | |
| is the <code>$GIT_PAGER</code> environment variable, then <code>core.pager</code> | |
| configuration, then <code>$PAGER</code>, and then the default chosen at | |
| compile time (usually <em>less</em>). | |
| </p> | |
| <div class="paragraph"><p>When the <code>LESS</code> environment variable is unset, Git sets it to <code>FRX</code> | |
| (if <code>LESS</code> environment variable is set, Git does not change it at | |
| all). If you want to selectively override Git’s default setting | |
| for <code>LESS</code>, you can set <code>core.pager</code> to e.g. <code>less -S</code>. This will | |
| be passed to the shell by Git, which will translate the final | |
| command to <code>LESS=FRX less -S</code>. The environment does not set the | |
| <code>S</code> option but the command line does, instructing less to truncate | |
| long lines. Similarly, setting <code>core.pager</code> to <code>less -+F</code> will | |
| deactivate the <code>F</code> option specified by the environment from the | |
| command-line, deactivating the "quit if one screen" behavior of | |
| <code>less</code>. One can specifically activate some flags for particular | |
| commands: for example, setting <code>pager.blame</code> to <code>less -S</code> enables | |
| line truncation only for <code>git blame</code>.</p></div> | |
| <div class="paragraph"><p>Likewise, when the <code>LV</code> environment variable is unset, Git sets it | |
| to <code>-c</code>. You can override this setting by exporting <code>LV</code> with | |
| another value or setting <code>core.pager</code> to <code>lv +c</code>.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.whitespace | |
| </dt> | |
| <dd> | |
| <p> | |
| A comma separated list of common whitespace problems to | |
| notice. <em>git diff</em> will use <code>color.diff.whitespace</code> to | |
| highlight them, and <em>git apply --whitespace=error</em> will | |
| consider them as errors. You can prefix <code>-</code> to disable | |
| any of them (e.g. <code>-trailing-space</code>): | |
| </p> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| <code>blank-at-eol</code> treats trailing whitespaces at the end of the line | |
| as an error (enabled by default). | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>space-before-tab</code> treats a space character that appears immediately | |
| before a tab character in the initial indent part of the line as an | |
| error (enabled by default). | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>indent-with-non-tab</code> treats a line that is indented with space | |
| characters instead of the equivalent tabs as an error (not enabled by | |
| default). | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>tab-in-indent</code> treats a tab character in the initial indent part of | |
| the line as an error (not enabled by default). | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>blank-at-eof</code> treats blank lines added at the end of file as an error | |
| (enabled by default). | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>trailing-space</code> is a short-hand to cover both <code>blank-at-eol</code> and | |
| <code>blank-at-eof</code>. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>cr-at-eol</code> treats a carriage-return at the end of line as | |
| part of the line terminator, i.e. with it, <code>trailing-space</code> | |
| does not trigger if the character before such a carriage-return | |
| is not a whitespace (not enabled by default). | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>tabwidth=<n></code> tells how many character positions a tab occupies; this | |
| is relevant for <code>indent-with-non-tab</code> and when Git fixes <code>tab-in-indent</code> | |
| errors. The default tab width is 8. Allowed values are 1 to 63. | |
| </p> | |
| </li> | |
| </ul></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.fsync | |
| </dt> | |
| <dd> | |
| <p> | |
| A comma-separated list of components of the repository that | |
| should be hardened via the core.fsyncMethod when created or | |
| modified. You can disable hardening of any component by | |
| prefixing it with a <em>-</em>. Items that are not hardened may be | |
| lost in the event of an unclean system shutdown. Unless you | |
| have special requirements, it is recommended that you leave | |
| this option empty or pick one of <code>committed</code>, <code>added</code>, | |
| or <code>all</code>. | |
| </p> | |
| <div class="paragraph"><p>When this configuration is encountered, the set of components starts with | |
| the platform default value, disabled components are removed, and additional | |
| components are added. <code>none</code> resets the state so that the platform default | |
| is ignored.</p></div> | |
| <div class="paragraph"><p>The empty string resets the fsync configuration to the platform | |
| default. The default on most platforms is equivalent to | |
| <code>core.fsync=committed,-loose-object</code>, which has good performance, | |
| but risks losing recent work in the event of an unclean system shutdown.</p></div> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| <code>none</code> clears the set of fsynced components. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>loose-object</code> hardens objects added to the repo in loose-object form. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>pack</code> hardens objects added to the repo in packfile form. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>pack-metadata</code> hardens packfile bitmaps and indexes. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>commit-graph</code> hardens the commit-graph file. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>index</code> hardens the index when it is modified. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>objects</code> is an aggregate option that is equivalent to | |
| <code>loose-object,pack</code>. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>reference</code> hardens references modified in the repo. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>derived-metadata</code> is an aggregate option that is equivalent to | |
| <code>pack-metadata,commit-graph</code>. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>committed</code> is an aggregate option that is currently equivalent to | |
| <code>objects</code>. This mode sacrifices some performance to ensure that work | |
| that is committed to the repository with <code>git commit</code> or similar commands | |
| is hardened. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>added</code> is an aggregate option that is currently equivalent to | |
| <code>committed,index</code>. This mode sacrifices additional performance to | |
| ensure that the results of commands like <code>git add</code> and similar operations | |
| are hardened. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>all</code> is an aggregate option that syncs all individual components above. | |
| </p> | |
| </li> | |
| </ul></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.fsyncMethod | |
| </dt> | |
| <dd> | |
| <p> | |
| A value indicating the strategy Git will use to harden repository data | |
| using fsync and related primitives. | |
| </p> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| <code>fsync</code> uses the fsync() system call or platform equivalents. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>writeout-only</code> issues pagecache writeback requests, but depending on the | |
| filesystem and storage hardware, data added to the repository may not be | |
| durable in the event of a system crash. This is the default mode on macOS. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>batch</code> enables a mode that uses writeout-only flushes to stage multiple | |
| updates in the disk writeback cache and then does a single full fsync of | |
| a dummy file to trigger the disk cache flush at the end of the operation. | |
| </p> | |
| <div class="paragraph"><p>Currently <code>batch</code> mode only applies to loose-object files. Other repository | |
| data is made durable as if <code>fsync</code> was specified. This mode is expected to | |
| be as safe as <code>fsync</code> on macOS for repos stored on HFS+ or APFS filesystems | |
| and on Windows for repos stored on NTFS or ReFS filesystems.</p></div> | |
| </li> | |
| </ul></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.fsyncObjectFiles | |
| </dt> | |
| <dd> | |
| <p> | |
| This boolean will enable <em>fsync()</em> when writing object files. | |
| This setting is deprecated. Use core.fsync instead. | |
| </p> | |
| <div class="paragraph"><p>This setting affects data added to the Git repository in loose-object | |
| form. When set to true, Git will issue an fsync or similar system call | |
| to flush caches so that loose-objects remain consistent in the face | |
| of a unclean system shutdown.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.preloadIndex | |
| </dt> | |
| <dd> | |
| <p> | |
| Enable parallel index preload for operations like <em>git diff</em> | |
| </p> | |
| <div class="paragraph"><p>This can speed up operations like <em>git diff</em> and <em>git status</em> especially | |
| on filesystems like NFS that have weak caching semantics and thus | |
| relatively high IO latencies. When enabled, Git will do the | |
| index comparison to the filesystem data in parallel, allowing | |
| overlapping IO’s. Defaults to true.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.unsetenvvars | |
| </dt> | |
| <dd> | |
| <p> | |
| Windows-only: comma-separated list of environment variables' | |
| names that need to be unset before spawning any other process. | |
| Defaults to <code>PERL5LIB</code> to account for the fact that Git for | |
| Windows insists on using its own Perl interpreter. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.restrictinheritedhandles | |
| </dt> | |
| <dd> | |
| <p> | |
| Windows-only: override whether spawned processes inherit only standard | |
| file handles (<code>stdin</code>, <code>stdout</code> and <code>stderr</code>) or all handles. Can be | |
| <code>auto</code>, <code>true</code> or <code>false</code>. Defaults to <code>auto</code>, which means <code>true</code> on | |
| Windows 7 and later, and <code>false</code> on older Windows versions. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.createObject | |
| </dt> | |
| <dd> | |
| <p> | |
| You can set this to <em>link</em>, in which case a hardlink followed by | |
| a delete of the source are used to make sure that object creation | |
| will not overwrite existing objects. | |
| </p> | |
| <div class="paragraph"><p>On some file system/operating system combinations, this is unreliable. | |
| Set this config setting to <em>rename</em> there; However, This will remove the | |
| check that makes sure that existing object files will not get overwritten.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.notesRef | |
| </dt> | |
| <dd> | |
| <p> | |
| When showing commit messages, also show notes which are stored in | |
| the given ref. The ref must be fully qualified. If the given | |
| ref does not exist, it is not an error but means that no | |
| notes should be printed. | |
| </p> | |
| <div class="paragraph"><p>This setting defaults to "refs/notes/commits", and it can be overridden by | |
| the <code>GIT_NOTES_REF</code> environment variable. See <a href="git-notes.html">git-notes(1)</a>.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.commitGraph | |
| </dt> | |
| <dd> | |
| <p> | |
| If true, then git will read the commit-graph file (if it exists) | |
| to parse the graph structure of commits. Defaults to true. See | |
| <a href="git-commit-graph.html">git-commit-graph(1)</a> for more information. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.useReplaceRefs | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to <code>false</code>, behave as if the <code>--no-replace-objects</code> | |
| option was given on the command line. See <a href="git.html">git(1)</a> and | |
| <a href="git-replace.html">git-replace(1)</a> for more information. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.multiPackIndex | |
| </dt> | |
| <dd> | |
| <p> | |
| Use the multi-pack-index file to track multiple packfiles using a | |
| single index. See <a href="git-multi-pack-index.html">git-multi-pack-index(1)</a> for more | |
| information. Defaults to true. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.sparseCheckout | |
| </dt> | |
| <dd> | |
| <p> | |
| Enable "sparse checkout" feature. See <a href="git-sparse-checkout.html">git-sparse-checkout(1)</a> | |
| for more information. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.sparseCheckoutCone | |
| </dt> | |
| <dd> | |
| <p> | |
| Enables the "cone mode" of the sparse checkout feature. When the | |
| sparse-checkout file contains a limited set of patterns, this | |
| mode provides significant performance advantages. The "non-cone | |
| mode" can be requested to allow specifying more flexible | |
| patterns by setting this variable to <em>false</em>. See | |
| <a href="git-sparse-checkout.html">git-sparse-checkout(1)</a> for more information. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.abbrev | |
| </dt> | |
| <dd> | |
| <p> | |
| Set the length object names are abbreviated to. If | |
| unspecified or set to "auto", an appropriate value is | |
| computed based on the approximate number of packed objects | |
| in your repository, which hopefully is enough for | |
| abbreviated object names to stay unique for some time. | |
| If set to "no", no abbreviation is made and the object names | |
| are shown in their full length. | |
| The minimum length is 4. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| core.maxTreeDepth | |
| </dt> | |
| <dd> | |
| <p> | |
| The maximum depth Git is willing to recurse while traversing a | |
| tree (e.g., "a/b/cde/f" has a depth of 4). This is a fail-safe | |
| to allow Git to abort cleanly, and should not generally need to | |
| be adjusted. The default is 4096. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| add.ignoreErrors | |
| </dt> | |
| <dt class="hdlist1"> | |
| add.ignore-errors (deprecated) | |
| </dt> | |
| <dd> | |
| <p> | |
| Tells <em>git add</em> to continue adding files when some files cannot be | |
| added due to indexing errors. Equivalent to the <code>--ignore-errors</code> | |
| option of <a href="git-add.html">git-add(1)</a>. <code>add.ignore-errors</code> is deprecated, | |
| as it does not follow the usual naming convention for configuration | |
| variables. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| add.interactive.useBuiltin | |
| </dt> | |
| <dd> | |
| <p> | |
| Unused configuration variable. Used in Git versions v2.25.0 to | |
| v2.36.0 to enable the built-in version of <a href="git-add.html">git-add(1)</a>'s | |
| interactive mode, which then became the default in Git | |
| versions v2.37.0 to v2.39.0. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| alias.* | |
| </dt> | |
| <dd> | |
| <p> | |
| Command aliases for the <a href="git.html">git(1)</a> command wrapper - e.g. | |
| after defining <code>alias.last = cat-file commit HEAD</code>, the invocation | |
| <code>git last</code> is equivalent to <code>git cat-file commit HEAD</code>. To avoid | |
| confusion and troubles with script usage, aliases that | |
| hide existing Git commands are ignored. Arguments are split by | |
| spaces, the usual shell quoting and escaping are supported. | |
| A quote pair or a backslash can be used to quote them. | |
| </p> | |
| <div class="paragraph"><p>Note that the first word of an alias does not necessarily have to be a | |
| command. It can be a command-line option that will be passed into the | |
| invocation of <code>git</code>. In particular, this is useful when used with <code>-c</code> | |
| to pass in one-time configurations or <code>-p</code> to force pagination. For example, | |
| <code>loud-rebase = -c commit.verbose=true rebase</code> can be defined such that | |
| running <code>git loud-rebase</code> would be equivalent to | |
| <code>git -c commit.verbose=true rebase</code>. Also, <code>ps = -p status</code> would be a | |
| helpful alias since <code>git ps</code> would paginate the output of <code>git status</code> | |
| where the original command does not.</p></div> | |
| <div class="paragraph"><p>If the alias expansion is prefixed with an exclamation point, | |
| it will be treated as a shell command. For example, defining | |
| <code>alias.new = !gitk --all --not ORIG_HEAD</code>, the invocation | |
| <code>git new</code> is equivalent to running the shell command | |
| <code>gitk --all --not ORIG_HEAD</code>. Note that shell commands will be | |
| executed from the top-level directory of a repository, which may | |
| not necessarily be the current directory. | |
| <code>GIT_PREFIX</code> is set as returned by running <code>git rev-parse --show-prefix</code> | |
| from the original current directory. See <a href="git-rev-parse.html">git-rev-parse(1)</a>.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| am.keepcr | |
| </dt> | |
| <dd> | |
| <p> | |
| If true, git-am will call git-mailsplit for patches in mbox format | |
| with parameter <code>--keep-cr</code>. In this case git-mailsplit will | |
| not remove <code>\r</code> from lines ending with <code>\r\n</code>. Can be overridden | |
| by giving <code>--no-keep-cr</code> from the command line. | |
| See <a href="git-am.html">git-am(1)</a>, <a href="git-mailsplit.html">git-mailsplit(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| am.threeWay | |
| </dt> | |
| <dd> | |
| <p> | |
| By default, <code>git am</code> will fail if the patch does not apply cleanly. When | |
| set to true, this setting tells <code>git am</code> to fall back on 3-way merge if | |
| the patch records the identity of blobs it is supposed to apply to and | |
| we have those blobs available locally (equivalent to giving the <code>--3way</code> | |
| option from the command line). Defaults to <code>false</code>. | |
| See <a href="git-am.html">git-am(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| apply.ignoreWhitespace | |
| </dt> | |
| <dd> | |
| <p> | |
| When set to <em>change</em>, tells <em>git apply</em> to ignore changes in | |
| whitespace, in the same way as the <code>--ignore-space-change</code> | |
| option. | |
| When set to one of: no, none, never, false, it tells <em>git apply</em> to | |
| respect all whitespace differences. | |
| See <a href="git-apply.html">git-apply(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| apply.whitespace | |
| </dt> | |
| <dd> | |
| <p> | |
| Tells <em>git apply</em> how to handle whitespace, in the same way | |
| as the <code>--whitespace</code> option. See <a href="git-apply.html">git-apply(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| blame.blankBoundary | |
| </dt> | |
| <dd> | |
| <p> | |
| Show blank commit object name for boundary commits in | |
| <a href="git-blame.html">git-blame(1)</a>. This option defaults to false. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| blame.coloring | |
| </dt> | |
| <dd> | |
| <p> | |
| This determines the coloring scheme to be applied to blame | |
| output. It can be <em>repeatedLines</em>, <em>highlightRecent</em>, | |
| or <em>none</em> which is the default. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| blame.date | |
| </dt> | |
| <dd> | |
| <p> | |
| Specifies the format used to output dates in <a href="git-blame.html">git-blame(1)</a>. | |
| If unset the iso format is used. For supported values, | |
| see the discussion of the <code>--date</code> option at <a href="git-log.html">git-log(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| blame.showEmail | |
| </dt> | |
| <dd> | |
| <p> | |
| Show the author email instead of author name in <a href="git-blame.html">git-blame(1)</a>. | |
| This option defaults to false. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| blame.showRoot | |
| </dt> | |
| <dd> | |
| <p> | |
| Do not treat root commits as boundaries in <a href="git-blame.html">git-blame(1)</a>. | |
| This option defaults to false. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| blame.ignoreRevsFile | |
| </dt> | |
| <dd> | |
| <p> | |
| Ignore revisions listed in the file, one unabbreviated object name per | |
| line, in <a href="git-blame.html">git-blame(1)</a>. Whitespace and comments beginning with | |
| <code>#</code> are ignored. This option may be repeated multiple times. Empty | |
| file names will reset the list of ignored revisions. This option will | |
| be handled before the command line option <code>--ignore-revs-file</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| blame.markUnblamableLines | |
| </dt> | |
| <dd> | |
| <p> | |
| Mark lines that were changed by an ignored revision that we could not | |
| attribute to another commit with a <em>*</em> in the output of | |
| <a href="git-blame.html">git-blame(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| blame.markIgnoredLines | |
| </dt> | |
| <dd> | |
| <p> | |
| Mark lines that were changed by an ignored revision that we attributed to | |
| another commit with a <em>?</em> in the output of <a href="git-blame.html">git-blame(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| branch.autoSetupMerge | |
| </dt> | |
| <dd> | |
| <p> | |
| Tells <em>git branch</em>, <em>git switch</em> and <em>git checkout</em> to set up new branches | |
| so that <a href="git-pull.html">git-pull(1)</a> will appropriately merge from the | |
| starting point branch. Note that even if this option is not set, | |
| this behavior can be chosen per-branch using the <code>--track</code> | |
| and <code>--no-track</code> options. The valid settings are: <code>false</code> — no | |
| automatic setup is done; <code>true</code> — automatic setup is done when the | |
| starting point is a remote-tracking branch; <code>always</code> —  automatic setup is done when the starting point is either a | |
| local branch or remote-tracking branch; <code>inherit</code> — if the starting point | |
| has a tracking configuration, it is copied to the new | |
| branch; <code>simple</code> — automatic setup is done only when the starting point | |
| is a remote-tracking branch and the new branch has the same name as the | |
| remote branch. This option defaults to true. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| branch.autoSetupRebase | |
| </dt> | |
| <dd> | |
| <p> | |
| When a new branch is created with <em>git branch</em>, <em>git switch</em> or <em>git checkout</em> | |
| that tracks another branch, this variable tells Git to set | |
| up pull to rebase instead of merge (see "branch.<name>.rebase"). | |
| When <code>never</code>, rebase is never automatically set to true. | |
| When <code>local</code>, rebase is set to true for tracked branches of | |
| other local branches. | |
| When <code>remote</code>, rebase is set to true for tracked branches of | |
| remote-tracking branches. | |
| When <code>always</code>, rebase will be set to true for all tracking | |
| branches. | |
| See "branch.autoSetupMerge" for details on how to set up a | |
| branch to track another branch. | |
| This option defaults to never. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| branch.sort | |
| </dt> | |
| <dd> | |
| <p> | |
| This variable controls the sort ordering of branches when displayed by | |
| <a href="git-branch.html">git-branch(1)</a>. Without the "--sort=<value>" option provided, the | |
| value of this variable will be used as the default. | |
| See <a href="git-for-each-ref.html">git-for-each-ref(1)</a> field names for valid values. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| branch.<name>.remote | |
| </dt> | |
| <dd> | |
| <p> | |
| When on branch <name>, it tells <em>git fetch</em> and <em>git push</em> | |
| which remote to fetch from or push to. The remote to push to | |
| may be overridden with <code>remote.pushDefault</code> (for all branches). | |
| The remote to push to, for the current branch, may be further | |
| overridden by <code>branch.<name>.pushRemote</code>. If no remote is | |
| configured, or if you are not on any branch and there is more than | |
| one remote defined in the repository, it defaults to <code>origin</code> for | |
| fetching and <code>remote.pushDefault</code> for pushing. | |
| Additionally, <code>.</code> (a period) is the current local repository | |
| (a dot-repository), see <code>branch.<name>.merge</code>'s final note below. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| branch.<name>.pushRemote | |
| </dt> | |
| <dd> | |
| <p> | |
| When on branch <name>, it overrides <code>branch.<name>.remote</code> for | |
| pushing. It also overrides <code>remote.pushDefault</code> for pushing | |
| from branch <name>. When you pull from one place (e.g. your | |
| upstream) and push to another place (e.g. your own publishing | |
| repository), you would want to set <code>remote.pushDefault</code> to | |
| specify the remote to push to for all branches, and use this | |
| option to override it for a specific branch. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| branch.<name>.merge | |
| </dt> | |
| <dd> | |
| <p> | |
| Defines, together with branch.<name>.remote, the upstream branch | |
| for the given branch. It tells <em>git fetch</em>/<em>git pull</em>/<em>git rebase</em> which | |
| branch to merge and can also affect <em>git push</em> (see push.default). | |
| When in branch <name>, it tells <em>git fetch</em> the default | |
| refspec to be marked for merging in FETCH_HEAD. The value is | |
| handled like the remote part of a refspec, and must match a | |
| ref which is fetched from the remote given by | |
| "branch.<name>.remote". | |
| The merge information is used by <em>git pull</em> (which first calls | |
| <em>git fetch</em>) to lookup the default branch for merging. Without | |
| this option, <em>git pull</em> defaults to merge the first refspec fetched. | |
| Specify multiple values to get an octopus merge. | |
| If you wish to setup <em>git pull</em> so that it merges into <name> from | |
| another branch in the local repository, you can point | |
| branch.<name>.merge to the desired branch, and use the relative path | |
| setting <code>.</code> (a period) for branch.<name>.remote. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| branch.<name>.mergeOptions | |
| </dt> | |
| <dd> | |
| <p> | |
| Sets default options for merging into branch <name>. The syntax and | |
| supported options are the same as those of <a href="git-merge.html">git-merge(1)</a>, but | |
| option values containing whitespace characters are currently not | |
| supported. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| branch.<name>.rebase | |
| </dt> | |
| <dd> | |
| <p> | |
| When true, rebase the branch <name> on top of the fetched branch, | |
| instead of merging the default branch from the default remote when | |
| "git pull" is run. See "pull.rebase" for doing this in a non | |
| branch-specific manner. | |
| </p> | |
| <div class="paragraph"><p>When <code>merges</code> (or just <em>m</em>), pass the <code>--rebase-merges</code> option to <em>git rebase</em> | |
| so that the local merge commits are included in the rebase (see | |
| <a href="git-rebase.html">git-rebase(1)</a> for details).</p></div> | |
| <div class="paragraph"><p>When the value is <code>interactive</code> (or just <em>i</em>), the rebase is run in interactive | |
| mode.</p></div> | |
| <div class="paragraph"><p><strong>NOTE</strong>: this is a possibly dangerous operation; do <strong>not</strong> use | |
| it unless you understand the implications (see <a href="git-rebase.html">git-rebase(1)</a> | |
| for details).</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| branch.<name>.description | |
| </dt> | |
| <dd> | |
| <p> | |
| Branch description, can be edited with | |
| <code>git branch --edit-description</code>. Branch description is | |
| automatically added to the format-patch cover letter or | |
| request-pull summary. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| browser.<tool>.cmd | |
| </dt> | |
| <dd> | |
| <p> | |
| Specify the command to invoke the specified browser. The | |
| specified command is evaluated in shell with the URLs passed | |
| as arguments. (See <a href="git-web--browse.html">git-web--browse(1)</a>.) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| browser.<tool>.path | |
| </dt> | |
| <dd> | |
| <p> | |
| Override the path for the given tool that may be used to | |
| browse HTML help (see <code>-w</code> option in <a href="git-help.html">git-help(1)</a>) or a | |
| working repository in gitweb (see <a href="git-instaweb.html">git-instaweb(1)</a>). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| bundle.* | |
| </dt> | |
| <dd> | |
| <p> | |
| The <code>bundle.*</code> keys may appear in a bundle list file found via the | |
| <code>git clone --bundle-uri</code> option. These keys currently have no effect | |
| if placed in a repository config file, though this will change in the | |
| future. See <a href="technical/bundle-uri.html">the bundle URI design | |
| document</a> for more details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| bundle.version | |
| </dt> | |
| <dd> | |
| <p> | |
| This integer value advertises the version of the bundle list format | |
| used by the bundle list. Currently, the only accepted value is <code>1</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| bundle.mode | |
| </dt> | |
| <dd> | |
| <p> | |
| This string value should be either <code>all</code> or <code>any</code>. This value describes | |
| whether all of the advertised bundles are required to unbundle a | |
| complete understanding of the bundled information (<code>all</code>) or if any one | |
| of the listed bundle URIs is sufficient (<code>any</code>). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| bundle.heuristic | |
| </dt> | |
| <dd> | |
| <p> | |
| If this string-valued key exists, then the bundle list is designed to | |
| work well with incremental <code>git fetch</code> commands. The heuristic signals | |
| that there are additional keys available for each bundle that help | |
| determine which subset of bundles the client should download. The | |
| only value currently understood is <code>creationToken</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| bundle.<id>.* | |
| </dt> | |
| <dd> | |
| <p> | |
| The <code>bundle.<id>.*</code> keys are used to describe a single item in the | |
| bundle list, grouped under <code><id></code> for identification purposes. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| bundle.<id>.uri | |
| </dt> | |
| <dd> | |
| <p> | |
| This string value defines the URI by which Git can reach the contents | |
| of this <code><id></code>. This URI may be a bundle file or another bundle list. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| checkout.defaultRemote | |
| </dt> | |
| <dd> | |
| <p> | |
| When you run <code>git checkout <something></code> | |
| or <code>git switch <something></code> and only have one | |
| remote, it may implicitly fall back on checking out and | |
| tracking e.g. <code>origin/<something></code>. This stops working as soon | |
| as you have more than one remote with a <code><something></code> | |
| reference. This setting allows for setting the name of a | |
| preferred remote that should always win when it comes to | |
| disambiguation. The typical use-case is to set this to | |
| <code>origin</code>. | |
| </p> | |
| <div class="paragraph"><p>Currently this is used by <a href="git-switch.html">git-switch(1)</a> and | |
| <a href="git-checkout.html">git-checkout(1)</a> when <code>git checkout <something></code> | |
| or <code>git switch <something></code> | |
| will checkout the <code><something></code> branch on another remote, | |
| and by <a href="git-worktree.html">git-worktree(1)</a> when <code>git worktree add</code> refers to a | |
| remote branch. This setting might be used for other checkout-like | |
| commands or functionality in the future.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| checkout.guess | |
| </dt> | |
| <dd> | |
| <p> | |
| Provides the default value for the <code>--guess</code> or <code>--no-guess</code> | |
| option in <code>git checkout</code> and <code>git switch</code>. See | |
| <a href="git-switch.html">git-switch(1)</a> and <a href="git-checkout.html">git-checkout(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| checkout.workers | |
| </dt> | |
| <dd> | |
| <p> | |
| The number of parallel workers to use when updating the working tree. | |
| The default is one, i.e. sequential execution. If set to a value less | |
| than one, Git will use as many workers as the number of logical cores | |
| available. This setting and <code>checkout.thresholdForParallelism</code> affect | |
| all commands that perform checkout. E.g. checkout, clone, reset, | |
| sparse-checkout, etc. | |
| </p> | |
| <div class="paragraph"><p>Note: Parallel checkout usually delivers better performance for repositories | |
| located on SSDs or over NFS. For repositories on spinning disks and/or machines | |
| with a small number of cores, the default sequential checkout often performs | |
| better. The size and compression level of a repository might also influence how | |
| well the parallel version performs.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| checkout.thresholdForParallelism | |
| </dt> | |
| <dd> | |
| <p> | |
| When running parallel checkout with a small number of files, the cost | |
| of subprocess spawning and inter-process communication might outweigh | |
| the parallelization gains. This setting allows you to define the minimum | |
| number of files for which parallel checkout should be attempted. The | |
| default is 100. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| clean.requireForce | |
| </dt> | |
| <dd> | |
| <p> | |
| A boolean to make git-clean do nothing unless given -f, | |
| -i, or -n. Defaults to true. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| clone.defaultRemoteName | |
| </dt> | |
| <dd> | |
| <p> | |
| The name of the remote to create when cloning a repository. Defaults to | |
| <code>origin</code>, and can be overridden by passing the <code>--origin</code> command-line | |
| option to <a href="git-clone.html">git-clone(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| clone.rejectShallow | |
| </dt> | |
| <dd> | |
| <p> | |
| Reject cloning a repository if it is a shallow one; this can be overridden by | |
| passing the <code>--reject-shallow</code> option on the command line. See <a href="git-clone.html">git-clone(1)</a> | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| clone.filterSubmodules | |
| </dt> | |
| <dd> | |
| <p> | |
| If a partial clone filter is provided (see <code>--filter</code> in | |
| <a href="git-rev-list.html">git-rev-list(1)</a>) and <code>--recurse-submodules</code> is used, also apply | |
| the filter to submodules. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| color.advice | |
| </dt> | |
| <dd> | |
| <p> | |
| A boolean to enable/disable color in hints (e.g. when a push | |
| failed, see <code>advice.*</code> for a list). May be set to <code>always</code>, | |
| <code>false</code> (or <code>never</code>) or <code>auto</code> (or <code>true</code>), in which case colors | |
| are used only when the error output goes to a terminal. If | |
| unset, then the value of <code>color.ui</code> is used (<code>auto</code> by default). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| color.advice.hint | |
| </dt> | |
| <dd> | |
| <p> | |
| Use customized color for hints. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| color.blame.highlightRecent | |
| </dt> | |
| <dd> | |
| <p> | |
| Specify the line annotation color for <code>git blame --color-by-age</code> | |
| depending upon the age of the line. | |
| </p> | |
| <div class="paragraph"><p>This setting should be set to a comma-separated list of color and | |
| date settings, starting and ending with a color, the dates should be | |
| set from oldest to newest. The metadata will be colored with the | |
| specified colors if the line was introduced before the given | |
| timestamp, overwriting older timestamped colors.</p></div> | |
| <div class="paragraph"><p>Instead of an absolute timestamp relative timestamps work as well, | |
| e.g. <code>2.weeks.ago</code> is valid to address anything older than 2 weeks.</p></div> | |
| <div class="paragraph"><p>It defaults to <code>blue,12 month ago,white,1 month ago,red</code>, which | |
| colors everything older than one year blue, recent changes between | |
| one month and one year old are kept white, and lines introduced | |
| within the last month are colored red.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| color.blame.repeatedLines | |
| </dt> | |
| <dd> | |
| <p> | |
| Use the specified color to colorize line annotations for | |
| <code>git blame --color-lines</code>, if they come from the same commit as the | |
| preceding line. Defaults to cyan. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| color.branch | |
| </dt> | |
| <dd> | |
| <p> | |
| A boolean to enable/disable color in the output of | |
| <a href="git-branch.html">git-branch(1)</a>. May be set to <code>always</code>, | |
| <code>false</code> (or <code>never</code>) or <code>auto</code> (or <code>true</code>), in which case colors are used | |
| only when the output is to a terminal. If unset, then the | |
| value of <code>color.ui</code> is used (<code>auto</code> by default). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| color.branch.<slot> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use customized color for branch coloration. <code><slot></code> is one of | |
| <code>current</code> (the current branch), <code>local</code> (a local branch), | |
| <code>remote</code> (a remote-tracking branch in refs/remotes/), | |
| <code>upstream</code> (upstream tracking branch), <code>plain</code> (other | |
| refs). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| color.diff | |
| </dt> | |
| <dd> | |
| <p> | |
| Whether to use ANSI escape sequences to add color to patches. | |
| If this is set to <code>always</code>, <a href="git-diff.html">git-diff(1)</a>, | |
| <a href="git-log.html">git-log(1)</a>, and <a href="git-show.html">git-show(1)</a> will use color | |
| for all patches. If it is set to <code>true</code> or <code>auto</code>, those | |
| commands will only use color when output is to the terminal. | |
| If unset, then the value of <code>color.ui</code> is used (<code>auto</code> by | |
| default). | |
| </p> | |
| <div class="paragraph"><p>This does not affect <a href="git-format-patch.html">git-format-patch(1)</a> or the | |
| <em>git-diff-*</em> plumbing commands. Can be overridden on the | |
| command line with the <code>--color[=<when>]</code> option.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| color.diff.<slot> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use customized color for diff colorization. <code><slot></code> specifies | |
| which part of the patch to use the specified color, and is one | |
| of <code>context</code> (context text - <code>plain</code> is a historical synonym), | |
| <code>meta</code> (metainformation), <code>frag</code> | |
| (hunk header), <em>func</em> (function in hunk header), <code>old</code> (removed lines), | |
| <code>new</code> (added lines), <code>commit</code> (commit headers), <code>whitespace</code> | |
| (highlighting whitespace errors), <code>oldMoved</code> (deleted lines), | |
| <code>newMoved</code> (added lines), <code>oldMovedDimmed</code>, <code>oldMovedAlternative</code>, | |
| <code>oldMovedAlternativeDimmed</code>, <code>newMovedDimmed</code>, <code>newMovedAlternative</code> | |
| <code>newMovedAlternativeDimmed</code> (See the <em><mode></em> | |
| setting of <em>--color-moved</em> in <a href="git-diff.html">git-diff(1)</a> for details), | |
| <code>contextDimmed</code>, <code>oldDimmed</code>, <code>newDimmed</code>, <code>contextBold</code>, | |
| <code>oldBold</code>, and <code>newBold</code> (see <a href="git-range-diff.html">git-range-diff(1)</a> for details). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| color.decorate.<slot> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use customized color for <em>git log --decorate</em> output. <code><slot></code> is one | |
| of <code>branch</code>, <code>remoteBranch</code>, <code>tag</code>, <code>stash</code> or <code>HEAD</code> for local | |
| branches, remote-tracking branches, tags, stash and HEAD, respectively | |
| and <code>grafted</code> for grafted commits. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| color.grep | |
| </dt> | |
| <dd> | |
| <p> | |
| When set to <code>always</code>, always highlight matches. When <code>false</code> (or | |
| <code>never</code>), never. When set to <code>true</code> or <code>auto</code>, use color only | |
| when the output is written to the terminal. If unset, then the | |
| value of <code>color.ui</code> is used (<code>auto</code> by default). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| color.grep.<slot> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use customized color for grep colorization. <code><slot></code> specifies which | |
| part of the line to use the specified color, and is one of | |
| </p> | |
| <div class="openblock"> | |
| <div class="content"> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| <code>context</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| non-matching text in context lines (when using <code>-A</code>, <code>-B</code>, or <code>-C</code>) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>filename</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| filename prefix (when not using <code>-h</code>) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>function</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| function name lines (when using <code>-p</code>) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>lineNumber</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| line number prefix (when using <code>-n</code>) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>column</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| column number prefix (when using <code>--column</code>) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>match</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| matching text (same as setting <code>matchContext</code> and <code>matchSelected</code>) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>matchContext</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| matching text in context lines | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>matchSelected</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| matching text in selected lines. Also, used to customize the following | |
| <a href="git-log.html">git-log(1)</a> subcommands: <code>--grep</code>, <code>--author</code>, and <code>--committer</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>selected</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| non-matching text in selected lines. Also, used to customize the | |
| following <a href="git-log.html">git-log(1)</a> subcommands: <code>--grep</code>, <code>--author</code> and | |
| <code>--committer</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>separator</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| separators between fields on a line (<code>:</code>, <code>-</code>, and <code>=</code>) | |
| and between hunks (<code>--</code>) | |
| </p> | |
| </dd> | |
| </dl></div> | |
| </div></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| color.interactive | |
| </dt> | |
| <dd> | |
| <p> | |
| When set to <code>always</code>, always use colors for interactive prompts | |
| and displays (such as those used by "git-add --interactive" and | |
| "git-clean --interactive"). When false (or <code>never</code>), never. | |
| When set to <code>true</code> or <code>auto</code>, use colors only when the output is | |
| to the terminal. If unset, then the value of <code>color.ui</code> is | |
| used (<code>auto</code> by default). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| color.interactive.<slot> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use customized color for <em>git add --interactive</em> and <em>git clean | |
| --interactive</em> output. <code><slot></code> may be <code>prompt</code>, <code>header</code>, <code>help</code> | |
| or <code>error</code>, for four distinct types of normal output from | |
| interactive commands. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| color.pager | |
| </dt> | |
| <dd> | |
| <p> | |
| A boolean to specify whether <code>auto</code> color modes should colorize | |
| output going to the pager. Defaults to true; set this to false | |
| if your pager does not understand ANSI color codes. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| color.push | |
| </dt> | |
| <dd> | |
| <p> | |
| A boolean to enable/disable color in push errors. May be set to | |
| <code>always</code>, <code>false</code> (or <code>never</code>) or <code>auto</code> (or <code>true</code>), in which | |
| case colors are used only when the error output goes to a terminal. | |
| If unset, then the value of <code>color.ui</code> is used (<code>auto</code> by default). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| color.push.error | |
| </dt> | |
| <dd> | |
| <p> | |
| Use customized color for push errors. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| color.remote | |
| </dt> | |
| <dd> | |
| <p> | |
| If set, keywords at the start of the line are highlighted. The | |
| keywords are "error", "warning", "hint" and "success", and are | |
| matched case-insensitively. May be set to <code>always</code>, <code>false</code> (or | |
| <code>never</code>) or <code>auto</code> (or <code>true</code>). If unset, then the value of | |
| <code>color.ui</code> is used (<code>auto</code> by default). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| color.remote.<slot> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use customized color for each remote keyword. <code><slot></code> may be | |
| <code>hint</code>, <code>warning</code>, <code>success</code> or <code>error</code> which match the | |
| corresponding keyword. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| color.showBranch | |
| </dt> | |
| <dd> | |
| <p> | |
| A boolean to enable/disable color in the output of | |
| <a href="git-show-branch.html">git-show-branch(1)</a>. May be set to <code>always</code>, | |
| <code>false</code> (or <code>never</code>) or <code>auto</code> (or <code>true</code>), in which case colors are used | |
| only when the output is to a terminal. If unset, then the | |
| value of <code>color.ui</code> is used (<code>auto</code> by default). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| color.status | |
| </dt> | |
| <dd> | |
| <p> | |
| A boolean to enable/disable color in the output of | |
| <a href="git-status.html">git-status(1)</a>. May be set to <code>always</code>, | |
| <code>false</code> (or <code>never</code>) or <code>auto</code> (or <code>true</code>), in which case colors are used | |
| only when the output is to a terminal. If unset, then the | |
| value of <code>color.ui</code> is used (<code>auto</code> by default). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| color.status.<slot> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use customized color for status colorization. <code><slot></code> is | |
| one of <code>header</code> (the header text of the status message), | |
| <code>added</code> or <code>updated</code> (files which are added but not committed), | |
| <code>changed</code> (files which are changed but not added in the index), | |
| <code>untracked</code> (files which are not tracked by Git), | |
| <code>branch</code> (the current branch), | |
| <code>nobranch</code> (the color the <em>no branch</em> warning is shown in, defaulting | |
| to red), | |
| <code>localBranch</code> or <code>remoteBranch</code> (the local and remote branch names, | |
| respectively, when branch and tracking information is displayed in the | |
| status short-format), or | |
| <code>unmerged</code> (files which have unmerged changes). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| color.transport | |
| </dt> | |
| <dd> | |
| <p> | |
| A boolean to enable/disable color when pushes are rejected. May be | |
| set to <code>always</code>, <code>false</code> (or <code>never</code>) or <code>auto</code> (or <code>true</code>), in which | |
| case colors are used only when the error output goes to a terminal. | |
| If unset, then the value of <code>color.ui</code> is used (<code>auto</code> by default). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| color.transport.rejected | |
| </dt> | |
| <dd> | |
| <p> | |
| Use customized color when a push was rejected. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| color.ui | |
| </dt> | |
| <dd> | |
| <p> | |
| This variable determines the default value for variables such | |
| as <code>color.diff</code> and <code>color.grep</code> that control the use of color | |
| per command family. Its scope will expand as more commands learn | |
| configuration to set a default for the <code>--color</code> option. Set it | |
| to <code>false</code> or <code>never</code> if you prefer Git commands not to use | |
| color unless enabled explicitly with some other configuration | |
| or the <code>--color</code> option. Set it to <code>always</code> if you want all | |
| output not intended for machine consumption to use color, to | |
| <code>true</code> or <code>auto</code> (this is the default since Git 1.8.4) if you | |
| want such output to use color when written to the terminal. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| column.ui | |
| </dt> | |
| <dd> | |
| <p> | |
| Specify whether supported commands should output in columns. | |
| This variable consists of a list of tokens separated by spaces | |
| or commas: | |
| </p> | |
| <div class="paragraph"><p>These options control when the feature should be enabled | |
| (defaults to <em>never</em>):</p></div> | |
| <div class="openblock"> | |
| <div class="content"> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| <code>always</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| always show in columns | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>never</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| never show in columns | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>auto</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| show in columns if the output is to the terminal | |
| </p> | |
| </dd> | |
| </dl></div> | |
| </div></div> | |
| <div class="paragraph"><p>These options control layout (defaults to <em>column</em>). Setting any | |
| of these implies <em>always</em> if none of <em>always</em>, <em>never</em>, or <em>auto</em> are | |
| specified.</p></div> | |
| <div class="openblock"> | |
| <div class="content"> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| <code>column</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| fill columns before rows | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>row</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| fill rows before columns | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>plain</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| show in one column | |
| </p> | |
| </dd> | |
| </dl></div> | |
| </div></div> | |
| <div class="paragraph"><p>Finally, these options can be combined with a layout option (defaults | |
| to <em>nodense</em>):</p></div> | |
| <div class="openblock"> | |
| <div class="content"> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| <code>dense</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| make unequal size columns to utilize more space | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>nodense</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| make equal size columns | |
| </p> | |
| </dd> | |
| </dl></div> | |
| </div></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| column.branch | |
| </dt> | |
| <dd> | |
| <p> | |
| Specify whether to output branch listing in <code>git branch</code> in columns. | |
| See <code>column.ui</code> for details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| column.clean | |
| </dt> | |
| <dd> | |
| <p> | |
| Specify the layout when listing items in <code>git clean -i</code>, which always | |
| shows files and directories in columns. See <code>column.ui</code> for details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| column.status | |
| </dt> | |
| <dd> | |
| <p> | |
| Specify whether to output untracked files in <code>git status</code> in columns. | |
| See <code>column.ui</code> for details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| column.tag | |
| </dt> | |
| <dd> | |
| <p> | |
| Specify whether to output tag listings in <code>git tag</code> in columns. | |
| See <code>column.ui</code> for details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| commit.cleanup | |
| </dt> | |
| <dd> | |
| <p> | |
| This setting overrides the default of the <code>--cleanup</code> option in | |
| <code>git commit</code>. See <a href="git-commit.html">git-commit(1)</a> for details. Changing the | |
| default can be useful when you always want to keep lines that begin | |
| with the comment character <code>#</code> in your log message, in which case you | |
| would do <code>git config commit.cleanup whitespace</code> (note that you will | |
| have to remove the help lines that begin with <code>#</code> in the commit log | |
| template yourself, if you do this). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| commit.gpgSign | |
| </dt> | |
| <dd> | |
| <p> | |
| A boolean to specify whether all commits should be GPG signed. | |
| Use of this option when doing operations such as rebase can | |
| result in a large number of commits being signed. It may be | |
| convenient to use an agent to avoid typing your GPG passphrase | |
| several times. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| commit.status | |
| </dt> | |
| <dd> | |
| <p> | |
| A boolean to enable/disable inclusion of status information in the | |
| commit message template when using an editor to prepare the commit | |
| message. Defaults to true. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| commit.template | |
| </dt> | |
| <dd> | |
| <p> | |
| Specify the pathname of a file to use as the template for | |
| new commit messages. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| commit.verbose | |
| </dt> | |
| <dd> | |
| <p> | |
| A boolean or int to specify the level of verbosity with <code>git commit</code>. | |
| See <a href="git-commit.html">git-commit(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| commitGraph.generationVersion | |
| </dt> | |
| <dd> | |
| <p> | |
| Specifies the type of generation number version to use when writing | |
| or reading the commit-graph file. If version 1 is specified, then | |
| the corrected commit dates will not be written or read. Defaults to | |
| 2. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| commitGraph.maxNewFilters | |
| </dt> | |
| <dd> | |
| <p> | |
| Specifies the default value for the <code>--max-new-filters</code> option of <code>git | |
| commit-graph write</code> (c.f., <a href="git-commit-graph.html">git-commit-graph(1)</a>). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| commitGraph.readChangedPaths | |
| </dt> | |
| <dd> | |
| <p> | |
| If true, then git will use the changed-path Bloom filters in the | |
| commit-graph file (if it exists, and they are present). Defaults to | |
| true. See <a href="git-commit-graph.html">git-commit-graph(1)</a> for more information. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| credential.helper | |
| </dt> | |
| <dd> | |
| <p> | |
| Specify an external helper to be called when a username or | |
| password credential is needed; the helper may consult external | |
| storage to avoid prompting the user for the credentials. This is | |
| normally the name of a credential helper with possible | |
| arguments, but may also be an absolute path with arguments or, if | |
| preceded by <code>!</code>, shell commands. | |
| </p> | |
| <div class="paragraph"><p>Note that multiple helpers may be defined. See <a href="gitcredentials.html">gitcredentials(7)</a> | |
| for details and examples.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| credential.useHttpPath | |
| </dt> | |
| <dd> | |
| <p> | |
| When acquiring credentials, consider the "path" component of an http | |
| or https URL to be important. Defaults to false. See | |
| <a href="gitcredentials.html">gitcredentials(7)</a> for more information. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| credential.username | |
| </dt> | |
| <dd> | |
| <p> | |
| If no username is set for a network authentication, use this username | |
| by default. See credential.<context>.* below, and | |
| <a href="gitcredentials.html">gitcredentials(7)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| credential.<url>.* | |
| </dt> | |
| <dd> | |
| <p> | |
| Any of the credential.* options above can be applied selectively to | |
| some credentials. For example, "credential.https://example.com.username" | |
| would set the default username only for https connections to | |
| example.com. See <a href="gitcredentials.html">gitcredentials(7)</a> for details on how URLs are | |
| matched. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| credentialCache.ignoreSIGHUP | |
| </dt> | |
| <dd> | |
| <p> | |
| Tell git-credential-cache—daemon to ignore SIGHUP, instead of quitting. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| credentialStore.lockTimeoutMS | |
| </dt> | |
| <dd> | |
| <p> | |
| The length of time, in milliseconds, for git-credential-store to retry | |
| when trying to lock the credentials file. A value of 0 means not to retry at | |
| all; -1 means to try indefinitely. Default is 1000 (i.e., retry for | |
| 1s). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| completion.commands | |
| </dt> | |
| <dd> | |
| <p> | |
| This is only used by git-completion.bash to add or remove | |
| commands from the list of completed commands. Normally only | |
| porcelain commands and a few select others are completed. You | |
| can add more commands, separated by space, in this | |
| variable. Prefixing the command with <em>-</em> will remove it from | |
| the existing list. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.autoRefreshIndex | |
| </dt> | |
| <dd> | |
| <p> | |
| When using <em>git diff</em> to compare with work tree | |
| files, do not consider stat-only changes as changed. | |
| Instead, silently run <code>git update-index --refresh</code> to | |
| update the cached stat information for paths whose | |
| contents in the work tree match the contents in the | |
| index. This option defaults to true. Note that this | |
| affects only <em>git diff</em> Porcelain, and not lower level | |
| <em>diff</em> commands such as <em>git diff-files</em>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.dirstat | |
| </dt> | |
| <dd> | |
| <p> | |
| A comma separated list of <code>--dirstat</code> parameters specifying the | |
| default behavior of the <code>--dirstat</code> option to <a href="git-diff.html">git-diff(1)</a> | |
| and friends. The defaults can be overridden on the command line | |
| (using <code>--dirstat=<param1,param2,...></code>). The fallback defaults | |
| (when not changed by <code>diff.dirstat</code>) are <code>changes,noncumulative,3</code>. | |
| The following parameters are available: | |
| </p> | |
| <div class="openblock"> | |
| <div class="content"> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| <code>changes</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Compute the dirstat numbers by counting the lines that have been | |
| removed from the source, or added to the destination. This ignores | |
| the amount of pure code movements within a file. In other words, | |
| rearranging lines in a file is not counted as much as other changes. | |
| This is the default behavior when no parameter is given. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>lines</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Compute the dirstat numbers by doing the regular line-based diff | |
| analysis, and summing the removed/added line counts. (For binary | |
| files, count 64-byte chunks instead, since binary files have no | |
| natural concept of lines). This is a more expensive <code>--dirstat</code> | |
| behavior than the <code>changes</code> behavior, but it does count rearranged | |
| lines within a file as much as other changes. The resulting output | |
| is consistent with what you get from the other <code>--*stat</code> options. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>files</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Compute the dirstat numbers by counting the number of files changed. | |
| Each changed file counts equally in the dirstat analysis. This is | |
| the computationally cheapest <code>--dirstat</code> behavior, since it does | |
| not have to look at the file contents at all. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>cumulative</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Count changes in a child directory for the parent directory as well. | |
| Note that when using <code>cumulative</code>, the sum of the percentages | |
| reported may exceed 100%. The default (non-cumulative) behavior can | |
| be specified with the <code>noncumulative</code> parameter. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <limit> | |
| </dt> | |
| <dd> | |
| <p> | |
| An integer parameter specifies a cut-off percent (3% by default). | |
| Directories contributing less than this percentage of the changes | |
| are not shown in the output. | |
| </p> | |
| </dd> | |
| </dl></div> | |
| </div></div> | |
| <div class="paragraph"><p>Example: The following will count changed files, while ignoring | |
| directories with less than 10% of the total amount of changed files, | |
| and accumulating child directory counts in the parent directories: | |
| <code>files,10,cumulative</code>.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.statNameWidth | |
| </dt> | |
| <dd> | |
| <p> | |
| Limit the width of the filename part in --stat output. If set, applies | |
| to all commands generating --stat output except format-patch. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.statGraphWidth | |
| </dt> | |
| <dd> | |
| <p> | |
| Limit the width of the graph part in --stat output. If set, applies | |
| to all commands generating --stat output except format-patch. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.context | |
| </dt> | |
| <dd> | |
| <p> | |
| Generate diffs with <n> lines of context instead of the default | |
| of 3. This value is overridden by the -U option. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.interHunkContext | |
| </dt> | |
| <dd> | |
| <p> | |
| Show the context between diff hunks, up to the specified number | |
| of lines, thereby fusing the hunks that are close to each other. | |
| This value serves as the default for the <code>--inter-hunk-context</code> | |
| command line option. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.external | |
| </dt> | |
| <dd> | |
| <p> | |
| If this config variable is set, diff generation is not | |
| performed using the internal diff machinery, but using the | |
| given command. Can be overridden with the ‘GIT_EXTERNAL_DIFF’ | |
| environment variable. The command is called with parameters | |
| as described under "git Diffs" in <a href="git.html">git(1)</a>. Note: if | |
| you want to use an external diff program only on a subset of | |
| your files, you might want to use <a href="gitattributes.html">gitattributes(5)</a> instead. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.ignoreSubmodules | |
| </dt> | |
| <dd> | |
| <p> | |
| Sets the default value of --ignore-submodules. Note that this | |
| affects only <em>git diff</em> Porcelain, and not lower level <em>diff</em> | |
| commands such as <em>git diff-files</em>. <em>git checkout</em> | |
| and <em>git switch</em> also honor | |
| this setting when reporting uncommitted changes. Setting it to | |
| <em>all</em> disables the submodule summary normally shown by <em>git commit</em> | |
| and <em>git status</em> when <code>status.submoduleSummary</code> is set unless it is | |
| overridden by using the --ignore-submodules command-line option. | |
| The <em>git submodule</em> commands are not affected by this setting. | |
| By default this is set to untracked so that any untracked | |
| submodules are ignored. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.mnemonicPrefix | |
| </dt> | |
| <dd> | |
| <p> | |
| If set, <em>git diff</em> uses a prefix pair that is different from the | |
| standard "a/" and "b/" depending on what is being compared. When | |
| this configuration is in effect, reverse diff output also swaps | |
| the order of the prefixes: | |
| </p> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| <code>git diff</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| compares the (i)ndex and the (w)ork tree; | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>git diff HEAD</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| compares a (c)ommit and the (w)ork tree; | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>git diff --cached</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| compares a (c)ommit and the (i)ndex; | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>git diff HEAD:file1 file2</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| compares an (o)bject and a (w)ork tree entity; | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>git diff --no-index a b</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| compares two non-git things (1) and (2). | |
| </p> | |
| </dd> | |
| </dl></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.noprefix | |
| </dt> | |
| <dd> | |
| <p> | |
| If set, <em>git diff</em> does not show any source or destination prefix. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.relative | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to <em>true</em>, <em>git diff</em> does not show changes outside of the directory | |
| and show pathnames relative to the current directory. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.orderFile | |
| </dt> | |
| <dd> | |
| <p> | |
| File indicating how to order files within a diff. | |
| See the <em>-O</em> option to <a href="git-diff.html">git-diff(1)</a> for details. | |
| If <code>diff.orderFile</code> is a relative pathname, it is treated as | |
| relative to the top of the working tree. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.renameLimit | |
| </dt> | |
| <dd> | |
| <p> | |
| The number of files to consider in the exhaustive portion of | |
| copy/rename detection; equivalent to the <em>git diff</em> option | |
| <code>-l</code>. If not set, the default value is currently 1000. This | |
| setting has no effect if rename detection is turned off. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.renames | |
| </dt> | |
| <dd> | |
| <p> | |
| Whether and how Git detects renames. If set to "false", | |
| rename detection is disabled. If set to "true", basic rename | |
| detection is enabled. If set to "copies" or "copy", Git will | |
| detect copies, as well. Defaults to true. Note that this | |
| affects only <em>git diff</em> Porcelain like <a href="git-diff.html">git-diff(1)</a> and | |
| <a href="git-log.html">git-log(1)</a>, and not lower level commands such as | |
| <a href="git-diff-files.html">git-diff-files(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.suppressBlankEmpty | |
| </dt> | |
| <dd> | |
| <p> | |
| A boolean to inhibit the standard behavior of printing a space | |
| before each empty output line. Defaults to false. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.submodule | |
| </dt> | |
| <dd> | |
| <p> | |
| Specify the format in which differences in submodules are | |
| shown. The "short" format just shows the names of the commits | |
| at the beginning and end of the range. The "log" format lists | |
| the commits in the range like <a href="git-submodule.html">git-submodule(1)</a> <code>summary</code> | |
| does. The "diff" format shows an inline diff of the changed | |
| contents of the submodule. Defaults to "short". | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.wordRegex | |
| </dt> | |
| <dd> | |
| <p> | |
| A POSIX Extended Regular Expression used to determine what is a "word" | |
| when performing word-by-word difference calculations. Character | |
| sequences that match the regular expression are "words", all other | |
| characters are <strong>ignorable</strong> whitespace. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.<driver>.command | |
| </dt> | |
| <dd> | |
| <p> | |
| The custom diff driver command. See <a href="gitattributes.html">gitattributes(5)</a> | |
| for details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.<driver>.xfuncname | |
| </dt> | |
| <dd> | |
| <p> | |
| The regular expression that the diff driver should use to | |
| recognize the hunk header. A built-in pattern may also be used. | |
| See <a href="gitattributes.html">gitattributes(5)</a> for details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.<driver>.binary | |
| </dt> | |
| <dd> | |
| <p> | |
| Set this option to true to make the diff driver treat files as | |
| binary. See <a href="gitattributes.html">gitattributes(5)</a> for details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.<driver>.textconv | |
| </dt> | |
| <dd> | |
| <p> | |
| The command that the diff driver should call to generate the | |
| text-converted version of a file. The result of the | |
| conversion is used to generate a human-readable diff. See | |
| <a href="gitattributes.html">gitattributes(5)</a> for details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.<driver>.wordRegex | |
| </dt> | |
| <dd> | |
| <p> | |
| The regular expression that the diff driver should use to | |
| split words in a line. See <a href="gitattributes.html">gitattributes(5)</a> for | |
| details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.<driver>.cachetextconv | |
| </dt> | |
| <dd> | |
| <p> | |
| Set this option to true to make the diff driver cache the text | |
| conversion outputs. See <a href="gitattributes.html">gitattributes(5)</a> for details. | |
| </p> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| <code>araxis</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Araxis Merge (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>bc</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Beyond Compare (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>bc3</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Beyond Compare (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>bc4</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Beyond Compare (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>codecompare</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Code Compare (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>deltawalker</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use DeltaWalker (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>diffmerge</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use DiffMerge (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>diffuse</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Diffuse (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>ecmerge</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use ECMerge (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>emerge</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Emacs' Emerge | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>examdiff</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use ExamDiff Pro (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>guiffy</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Guiffy’s Diff Tool (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>gvimdiff</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use gVim (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>kdiff3</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use KDiff3 (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>kompare</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Kompare (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>meld</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Meld (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>nvimdiff</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Neovim | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>opendiff</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use FileMerge (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>p4merge</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use HelixCore P4Merge (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>smerge</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Sublime Merge (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>tkdiff</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use TkDiff (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>vimdiff</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Vim | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>winmerge</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use WinMerge (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>xxdiff</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use xxdiff (requires a graphical session) | |
| </p> | |
| </dd> | |
| </dl></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.indentHeuristic | |
| </dt> | |
| <dd> | |
| <p> | |
| Set this option to <code>false</code> to disable the default heuristics | |
| that shift diff hunk boundaries to make patches easier to read. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.algorithm | |
| </dt> | |
| <dd> | |
| <p> | |
| Choose a diff algorithm. The variants are as follows: | |
| </p> | |
| <div class="openblock"> | |
| <div class="content"> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| <code>default</code>, <code>myers</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| The basic greedy diff algorithm. Currently, this is the default. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>minimal</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Spend extra time to make sure the smallest possible diff is | |
| produced. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>patience</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use "patience diff" algorithm when generating patches. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>histogram</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| This algorithm extends the patience algorithm to "support | |
| low-occurrence common elements". | |
| </p> | |
| </dd> | |
| </dl></div> | |
| </div></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.wsErrorHighlight | |
| </dt> | |
| <dd> | |
| <p> | |
| Highlight whitespace errors in the <code>context</code>, <code>old</code> or <code>new</code> | |
| lines of the diff. Multiple values are separated by comma, | |
| <code>none</code> resets previous values, <code>default</code> reset the list to | |
| <code>new</code> and <code>all</code> is a shorthand for <code>old,new,context</code>. The | |
| whitespace errors are colored with <code>color.diff.whitespace</code>. | |
| The command line option <code>--ws-error-highlight=<kind></code> | |
| overrides this setting. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.colorMoved | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to either a valid <code><mode></code> or a true value, moved lines | |
| in a diff are colored differently, for details of valid modes | |
| see <em>--color-moved</em> in <a href="git-diff.html">git-diff(1)</a>. If simply set to | |
| true the default color mode will be used. When set to false, | |
| moved lines are not colored. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.colorMovedWS | |
| </dt> | |
| <dd> | |
| <p> | |
| When moved lines are colored using e.g. the <code>diff.colorMoved</code> setting, | |
| this option controls the <code><mode></code> how spaces are treated | |
| for details of valid modes see <em>--color-moved-ws</em> in <a href="git-diff.html">git-diff(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.tool | |
| </dt> | |
| <dd> | |
| <p> | |
| Controls which diff tool is used by <a href="git-difftool.html">git-difftool(1)</a>. | |
| This variable overrides the value configured in <code>merge.tool</code>. | |
| The list below shows the valid built-in values. | |
| Any other value is treated as a custom diff tool and requires | |
| that a corresponding difftool.<tool>.cmd variable is defined. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| diff.guitool | |
| </dt> | |
| <dd> | |
| <p> | |
| Controls which diff tool is used by <a href="git-difftool.html">git-difftool(1)</a> when | |
| the -g/--gui flag is specified. This variable overrides the value | |
| configured in <code>merge.guitool</code>. The list below shows the valid | |
| built-in values. Any other value is treated as a custom diff tool | |
| and requires that a corresponding difftool.<guitool>.cmd variable | |
| is defined. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| difftool.<tool>.cmd | |
| </dt> | |
| <dd> | |
| <p> | |
| Specify the command to invoke the specified diff tool. | |
| The specified command is evaluated in shell with the following | |
| variables available: <em>LOCAL</em> is set to the name of the temporary | |
| file containing the contents of the diff pre-image and <em>REMOTE</em> | |
| is set to the name of the temporary file containing the contents | |
| of the diff post-image. | |
| </p> | |
| <div class="paragraph"><p>See the <code>--tool=<tool></code> option in <a href="git-difftool.html">git-difftool(1)</a> for more details.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| difftool.<tool>.path | |
| </dt> | |
| <dd> | |
| <p> | |
| Override the path for the given tool. This is useful in case | |
| your tool is not in the PATH. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| difftool.trustExitCode | |
| </dt> | |
| <dd> | |
| <p> | |
| Exit difftool if the invoked diff tool returns a non-zero exit status. | |
| </p> | |
| <div class="paragraph"><p>See the <code>--trust-exit-code</code> option in <a href="git-difftool.html">git-difftool(1)</a> for more details.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| difftool.prompt | |
| </dt> | |
| <dd> | |
| <p> | |
| Prompt before each invocation of the diff tool. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| difftool.guiDefault | |
| </dt> | |
| <dd> | |
| <p> | |
| Set <code>true</code> to use the <code>diff.guitool</code> by default (equivalent to specifying | |
| the <code>--gui</code> argument), or <code>auto</code> to select <code>diff.guitool</code> or <code>diff.tool</code> | |
| depending on the presence of a <code>DISPLAY</code> environment variable value. The | |
| default is <code>false</code>, where the <code>--gui</code> argument must be provided | |
| explicitly for the <code>diff.guitool</code> to be used. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| extensions.objectFormat | |
| </dt> | |
| <dd> | |
| <p> | |
| Specify the hash algorithm to use. The acceptable values are <code>sha1</code> and | |
| <code>sha256</code>. If not specified, <code>sha1</code> is assumed. It is an error to specify | |
| this key unless <code>core.repositoryFormatVersion</code> is 1. | |
| </p> | |
| <div class="paragraph"><p>Note that this setting should only be set by <a href="git-init.html">git-init(1)</a> or | |
| <a href="git-clone.html">git-clone(1)</a>. Trying to change it after initialization will not | |
| work and will produce hard-to-diagnose issues.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| extensions.refStorage | |
| </dt> | |
| <dd> | |
| <p> | |
| Specify the ref storage format to use. The acceptable values are: | |
| </p> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| <code>files</code> for loose files with packed-refs. This is the default. | |
| </p> | |
| <div class="paragraph"><p>It is an error to specify this key unless <code>core.repositoryFormatVersion</code> is 1.</p></div> | |
| <div class="paragraph"><p>Note that this setting should only be set by <a href="git-init.html">git-init(1)</a> or | |
| <a href="git-clone.html">git-clone(1)</a>. Trying to change it after initialization will not | |
| work and will produce hard-to-diagnose issues.</p></div> | |
| </li> | |
| </ul></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| extensions.worktreeConfig | |
| </dt> | |
| <dd> | |
| <p> | |
| If enabled, then worktrees will load config settings from the | |
| <code>$GIT_DIR/config.worktree</code> file in addition to the | |
| <code>$GIT_COMMON_DIR/config</code> file. Note that <code>$GIT_COMMON_DIR</code> and | |
| <code>$GIT_DIR</code> are the same for the main working tree, while other | |
| working trees have <code>$GIT_DIR</code> equal to | |
| <code>$GIT_COMMON_DIR/worktrees/<id>/</code>. The settings in the | |
| <code>config.worktree</code> file will override settings from any other | |
| config files. | |
| </p> | |
| <div class="paragraph"><p>When enabling <code>extensions.worktreeConfig</code>, you must be careful to move | |
| certain values from the common config file to the main working tree’s | |
| <code>config.worktree</code> file, if present:</p></div> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| <code>core.worktree</code> must be moved from <code>$GIT_COMMON_DIR/config</code> to | |
| <code>$GIT_COMMON_DIR/config.worktree</code>. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| If <code>core.bare</code> is true, then it must be moved from <code>$GIT_COMMON_DIR/config</code> | |
| to <code>$GIT_COMMON_DIR/config.worktree</code>. | |
| </p> | |
| <div class="paragraph"><p>It may also be beneficial to adjust the locations of <code>core.sparseCheckout</code> | |
| and <code>core.sparseCheckoutCone</code> depending on your desire for customizable | |
| sparse-checkout settings for each worktree. By default, the <code>git | |
| sparse-checkout</code> builtin enables <code>extensions.worktreeConfig</code>, assigns | |
| these config values on a per-worktree basis, and uses the | |
| <code>$GIT_DIR/info/sparse-checkout</code> file to specify the sparsity for each | |
| worktree independently. See <a href="git-sparse-checkout.html">git-sparse-checkout(1)</a> for more | |
| details.</p></div> | |
| <div class="paragraph"><p>For historical reasons, <code>extensions.worktreeConfig</code> is respected | |
| regardless of the <code>core.repositoryFormatVersion</code> setting.</p></div> | |
| </li> | |
| </ul></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| fastimport.unpackLimit | |
| </dt> | |
| <dd> | |
| <p> | |
| If the number of objects imported by <a href="git-fast-import.html">git-fast-import(1)</a> | |
| is below this limit, then the objects will be unpacked into | |
| loose object files. However, if the number of imported objects | |
| equals or exceeds this limit, then the pack will be stored as a | |
| pack. Storing the pack from a fast-import can make the import | |
| operation complete faster, especially on slow filesystems. If | |
| not set, the value of <code>transfer.unpackLimit</code> is used instead. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| feature.* | |
| </dt> | |
| <dd> | |
| <p> | |
| The config settings that start with <code>feature.</code> modify the defaults of | |
| a group of other config settings. These groups are created by the Git | |
| developer community as recommended defaults and are subject to change. | |
| In particular, new config options may be added with different defaults. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| feature.experimental | |
| </dt> | |
| <dd> | |
| <p> | |
| Enable config options that are new to Git, and are being considered for | |
| future defaults. Config settings included here may be added or removed | |
| with each release, including minor version updates. These settings may | |
| have unintended interactions since they are so new. Please enable this | |
| setting if you are interested in providing feedback on experimental | |
| features. The new default values are: | |
| </p> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| <code>fetch.negotiationAlgorithm=skipping</code> may improve fetch negotiation times by | |
| skipping more commits at a time, reducing the number of round trips. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>pack.useBitmapBoundaryTraversal=true</code> may improve bitmap traversal times by | |
| walking fewer objects. | |
| </p> | |
| </li> | |
| </ul></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| feature.manyFiles | |
| </dt> | |
| <dd> | |
| <p> | |
| Enable config options that optimize for repos with many files in the | |
| working directory. With many files, commands such as <code>git status</code> and | |
| <code>git checkout</code> may be slow and these new defaults improve performance: | |
| </p> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| <code>index.skipHash=true</code> speeds up index writes by not computing a trailing | |
| checksum. Note that this will cause Git versions earlier than 2.13.0 to | |
| refuse to parse the index and Git versions earlier than 2.40.0 will report | |
| a corrupted index during <code>git fsck</code>. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>index.version=4</code> enables path-prefix compression in the index. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>core.untrackedCache=true</code> enables the untracked cache. This setting assumes | |
| that mtime is working on your machine. | |
| </p> | |
| </li> | |
| </ul></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| fetch.recurseSubmodules | |
| </dt> | |
| <dd> | |
| <p> | |
| This option controls whether <code>git fetch</code> (and the underlying fetch | |
| in <code>git pull</code>) will recursively fetch into populated submodules. | |
| This option can be set either to a boolean value or to <em>on-demand</em>. | |
| Setting it to a boolean changes the behavior of fetch and pull to | |
| recurse unconditionally into submodules when set to true or to not | |
| recurse at all when set to false. When set to <em>on-demand</em>, fetch and | |
| pull will only recurse into a populated submodule when its | |
| superproject retrieves a commit that updates the submodule’s | |
| reference. | |
| Defaults to <em>on-demand</em>, or to the value of <em>submodule.recurse</em> if set. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| fetch.fsckObjects | |
| </dt> | |
| <dd> | |
| <p> | |
| If it is set to true, git-fetch-pack will check all fetched | |
| objects. See <code>transfer.fsckObjects</code> for what’s | |
| checked. Defaults to false. If not set, the value of | |
| <code>transfer.fsckObjects</code> is used instead. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| fetch.fsck.<msg-id> | |
| </dt> | |
| <dd> | |
| <p> | |
| Acts like <code>fsck.<msg-id></code>, but is used by | |
| <a href="git-fetch-pack.html">git-fetch-pack(1)</a> instead of <a href="git-fsck.html">git-fsck(1)</a>. See | |
| the <code>fsck.<msg-id></code> documentation for details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| fetch.fsck.skipList | |
| </dt> | |
| <dd> | |
| <p> | |
| Acts like <code>fsck.skipList</code>, but is used by | |
| <a href="git-fetch-pack.html">git-fetch-pack(1)</a> instead of <a href="git-fsck.html">git-fsck(1)</a>. See | |
| the <code>fsck.skipList</code> documentation for details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| fetch.unpackLimit | |
| </dt> | |
| <dd> | |
| <p> | |
| If the number of objects fetched over the Git native | |
| transfer is below this | |
| limit, then the objects will be unpacked into loose object | |
| files. However if the number of received objects equals or | |
| exceeds this limit then the received pack will be stored as | |
| a pack, after adding any missing delta bases. Storing the | |
| pack from a push can make the push operation complete faster, | |
| especially on slow filesystems. If not set, the value of | |
| <code>transfer.unpackLimit</code> is used instead. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| fetch.prune | |
| </dt> | |
| <dd> | |
| <p> | |
| If true, fetch will automatically behave as if the <code>--prune</code> | |
| option was given on the command line. See also <code>remote.<name>.prune</code> | |
| and the PRUNING section of <a href="git-fetch.html">git-fetch(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| fetch.pruneTags | |
| </dt> | |
| <dd> | |
| <p> | |
| If true, fetch will automatically behave as if the | |
| <code>refs/tags/*:refs/tags/*</code> refspec was provided when pruning, | |
| if not set already. This allows for setting both this option | |
| and <code>fetch.prune</code> to maintain a 1=1 mapping to upstream | |
| refs. See also <code>remote.<name>.pruneTags</code> and the PRUNING | |
| section of <a href="git-fetch.html">git-fetch(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| fetch.all | |
| </dt> | |
| <dd> | |
| <p> | |
| If true, fetch will attempt to update all available remotes. | |
| This behavior can be overridden by passing <code>--no-all</code> or by | |
| explicitly specifying one or more remote(s) to fetch from. | |
| Defaults to false. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| fetch.output | |
| </dt> | |
| <dd> | |
| <p> | |
| Control how ref update status is printed. Valid values are | |
| <code>full</code> and <code>compact</code>. Default value is <code>full</code>. See the | |
| OUTPUT section in <a href="git-fetch.html">git-fetch(1)</a> for details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| fetch.negotiationAlgorithm | |
| </dt> | |
| <dd> | |
| <p> | |
| Control how information about the commits in the local repository | |
| is sent when negotiating the contents of the packfile to be sent by | |
| the server. Set to "consecutive" to use an algorithm that walks | |
| over consecutive commits checking each one. Set to "skipping" to | |
| use an algorithm that skips commits in an effort to converge | |
| faster, but may result in a larger-than-necessary packfile; or set | |
| to "noop" to not send any information at all, which will almost | |
| certainly result in a larger-than-necessary packfile, but will skip | |
| the negotiation step. Set to "default" to override settings made | |
| previously and use the default behaviour. The default is normally | |
| "consecutive", but if <code>feature.experimental</code> is true, then the | |
| default is "skipping". Unknown values will cause <em>git fetch</em> to | |
| error out. | |
| </p> | |
| <div class="paragraph"><p>See also the <code>--negotiate-only</code> and <code>--negotiation-tip</code> options to | |
| <a href="git-fetch.html">git-fetch(1)</a>.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| fetch.showForcedUpdates | |
| </dt> | |
| <dd> | |
| <p> | |
| Set to false to enable <code>--no-show-forced-updates</code> in | |
| <a href="git-fetch.html">git-fetch(1)</a> and <a href="git-pull.html">git-pull(1)</a> commands. | |
| Defaults to true. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| fetch.parallel | |
| </dt> | |
| <dd> | |
| <p> | |
| Specifies the maximal number of fetch operations to be run in parallel | |
| at a time (submodules, or remotes when the <code>--multiple</code> option of | |
| <a href="git-fetch.html">git-fetch(1)</a> is in effect). | |
| </p> | |
| <div class="paragraph"><p>A value of 0 will give some reasonable default. If unset, it defaults to 1.</p></div> | |
| <div class="paragraph"><p>For submodules, this setting can be overridden using the <code>submodule.fetchJobs</code> | |
| config setting.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| fetch.writeCommitGraph | |
| </dt> | |
| <dd> | |
| <p> | |
| Set to true to write a commit-graph after every <code>git fetch</code> command | |
| that downloads a pack-file from a remote. Using the <code>--split</code> option, | |
| most executions will create a very small commit-graph file on top of | |
| the existing commit-graph file(s). Occasionally, these files will | |
| merge and the write may take longer. Having an updated commit-graph | |
| file helps performance of many Git commands, including <code>git merge-base</code>, | |
| <code>git push -f</code>, and <code>git log --graph</code>. Defaults to false. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| fetch.bundleURI | |
| </dt> | |
| <dd> | |
| <p> | |
| This value stores a URI for downloading Git object data from a bundle | |
| URI before performing an incremental fetch from the origin Git server. | |
| This is similar to how the <code>--bundle-uri</code> option behaves in | |
| <a href="git-clone.html">git-clone(1)</a>. <code>git clone --bundle-uri</code> will set the | |
| <code>fetch.bundleURI</code> value if the supplied bundle URI contains a bundle | |
| list that is organized for incremental fetches. | |
| </p> | |
| <div class="paragraph"><p>If you modify this value and your repository has a <code>fetch.bundleCreationToken</code> | |
| value, then remove that <code>fetch.bundleCreationToken</code> value before fetching from | |
| the new bundle URI.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| fetch.bundleCreationToken | |
| </dt> | |
| <dd> | |
| <p> | |
| When using <code>fetch.bundleURI</code> to fetch incrementally from a bundle | |
| list that uses the "creationToken" heuristic, this config value | |
| stores the maximum <code>creationToken</code> value of the downloaded bundles. | |
| This value is used to prevent downloading bundles in the future | |
| if the advertised <code>creationToken</code> is not strictly larger than this | |
| value. | |
| </p> | |
| <div class="paragraph"><p>The creation token values are chosen by the provider serving the specific | |
| bundle URI. If you modify the URI at <code>fetch.bundleURI</code>, then be sure to | |
| remove the value for the <code>fetch.bundleCreationToken</code> value before fetching.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| format.attach | |
| </dt> | |
| <dd> | |
| <p> | |
| Enable multipart/mixed attachments as the default for | |
| <em>format-patch</em>. The value can also be a double quoted string | |
| which will enable attachments as the default and set the | |
| value as the boundary. See the --attach option in | |
| <a href="git-format-patch.html">git-format-patch(1)</a>. To countermand an earlier | |
| value, set it to an empty string. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| format.from | |
| </dt> | |
| <dd> | |
| <p> | |
| Provides the default value for the <code>--from</code> option to format-patch. | |
| Accepts a boolean value, or a name and email address. If false, | |
| format-patch defaults to <code>--no-from</code>, using commit authors directly in | |
| the "From:" field of patch mails. If true, format-patch defaults to | |
| <code>--from</code>, using your committer identity in the "From:" field of patch | |
| mails and including a "From:" field in the body of the patch mail if | |
| different. If set to a non-boolean value, format-patch uses that | |
| value instead of your committer identity. Defaults to false. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| format.forceInBodyFrom | |
| </dt> | |
| <dd> | |
| <p> | |
| Provides the default value for the <code>--[no-]force-in-body-from</code> | |
| option to format-patch. Defaults to false. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| format.numbered | |
| </dt> | |
| <dd> | |
| <p> | |
| A boolean which can enable or disable sequence numbers in patch | |
| subjects. It defaults to "auto" which enables it only if there | |
| is more than one patch. It can be enabled or disabled for all | |
| messages by setting it to "true" or "false". See --numbered | |
| option in <a href="git-format-patch.html">git-format-patch(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| format.headers | |
| </dt> | |
| <dd> | |
| <p> | |
| Additional email headers to include in a patch to be submitted | |
| by mail. See <a href="git-format-patch.html">git-format-patch(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| format.to | |
| </dt> | |
| <dt class="hdlist1"> | |
| format.cc | |
| </dt> | |
| <dd> | |
| <p> | |
| Additional recipients to include in a patch to be submitted | |
| by mail. See the --to and --cc options in | |
| <a href="git-format-patch.html">git-format-patch(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| format.subjectPrefix | |
| </dt> | |
| <dd> | |
| <p> | |
| The default for format-patch is to output files with the <em>[PATCH]</em> | |
| subject prefix. Use this variable to change that prefix. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| format.coverFromDescription | |
| </dt> | |
| <dd> | |
| <p> | |
| The default mode for format-patch to determine which parts of | |
| the cover letter will be populated using the branch’s | |
| description. See the <code>--cover-from-description</code> option in | |
| <a href="git-format-patch.html">git-format-patch(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| format.signature | |
| </dt> | |
| <dd> | |
| <p> | |
| The default for format-patch is to output a signature containing | |
| the Git version number. Use this variable to change that default. | |
| Set this variable to the empty string ("") to suppress | |
| signature generation. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| format.signatureFile | |
| </dt> | |
| <dd> | |
| <p> | |
| Works just like format.signature except the contents of the | |
| file specified by this variable will be used as the signature. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| format.suffix | |
| </dt> | |
| <dd> | |
| <p> | |
| The default for format-patch is to output files with the suffix | |
| <code>.patch</code>. Use this variable to change that suffix (make sure to | |
| include the dot if you want it). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| format.encodeEmailHeaders | |
| </dt> | |
| <dd> | |
| <p> | |
| Encode email headers that have non-ASCII characters with | |
| "Q-encoding" (described in RFC 2047) for email transmission. | |
| Defaults to true. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| format.pretty | |
| </dt> | |
| <dd> | |
| <p> | |
| The default pretty format for log/show/whatchanged command. | |
| See <a href="git-log.html">git-log(1)</a>, <a href="git-show.html">git-show(1)</a>, | |
| <a href="git-whatchanged.html">git-whatchanged(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| format.thread | |
| </dt> | |
| <dd> | |
| <p> | |
| The default threading style for <em>git format-patch</em>. Can be | |
| a boolean value, or <code>shallow</code> or <code>deep</code>. <code>shallow</code> threading | |
| makes every mail a reply to the head of the series, | |
| where the head is chosen from the cover letter, the | |
| <code>--in-reply-to</code>, and the first patch mail, in this order. | |
| <code>deep</code> threading makes every mail a reply to the previous one. | |
| A true boolean value is the same as <code>shallow</code>, and a false | |
| value disables threading. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| format.signOff | |
| </dt> | |
| <dd> | |
| <p> | |
| A boolean value which lets you enable the <code>-s/--signoff</code> option of | |
| format-patch by default. <strong>Note:</strong> Adding the <code>Signed-off-by</code> trailer to a | |
| patch should be a conscious act and means that you certify you have | |
| the rights to submit this work under the same open source license. | |
| Please see the <em>SubmittingPatches</em> document for further discussion. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| format.coverLetter | |
| </dt> | |
| <dd> | |
| <p> | |
| A boolean that controls whether to generate a cover-letter when | |
| format-patch is invoked, but in addition can be set to "auto", to | |
| generate a cover-letter only when there’s more than one patch. | |
| Default is false. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| format.outputDirectory | |
| </dt> | |
| <dd> | |
| <p> | |
| Set a custom directory to store the resulting files instead of the | |
| current working directory. All directory components will be created. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| format.filenameMaxLength | |
| </dt> | |
| <dd> | |
| <p> | |
| The maximum length of the output filenames generated by the | |
| <code>format-patch</code> command; defaults to 64. Can be overridden | |
| by the <code>--filename-max-length=<n></code> command line option. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| format.useAutoBase | |
| </dt> | |
| <dd> | |
| <p> | |
| A boolean value which lets you enable the <code>--base=auto</code> option of | |
| format-patch by default. Can also be set to "whenAble" to allow | |
| enabling <code>--base=auto</code> if a suitable base is available, but to skip | |
| adding base info otherwise without the format dying. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| format.notes | |
| </dt> | |
| <dd> | |
| <p> | |
| Provides the default value for the <code>--notes</code> option to | |
| format-patch. Accepts a boolean value, or a ref which specifies | |
| where to get notes. If false, format-patch defaults to | |
| <code>--no-notes</code>. If true, format-patch defaults to <code>--notes</code>. If | |
| set to a non-boolean value, format-patch defaults to | |
| <code>--notes=<ref></code>, where <code>ref</code> is the non-boolean value. Defaults | |
| to false. | |
| </p> | |
| <div class="paragraph"><p>If one wishes to use the ref <code>refs/notes/true</code>, please use that literal | |
| instead.</p></div> | |
| <div class="paragraph"><p>This configuration can be specified multiple times in order to allow | |
| multiple notes refs to be included. In that case, it will behave | |
| similarly to multiple <code>--[no-]notes[=]</code> options passed in. That is, a | |
| value of <code>true</code> will show the default notes, a value of <code><ref></code> will | |
| also show notes from that notes ref and a value of <code>false</code> will negate | |
| previous configurations and not show notes.</p></div> | |
| <div class="paragraph"><p>For example,</p></div> | |
| <div class="listingblock"> | |
| <div class="content"> | |
| <pre><code>[format] | |
| notes = true | |
| notes = foo | |
| notes = false | |
| notes = bar</code></pre> | |
| </div></div> | |
| <div class="paragraph"><p>will only show notes from <code>refs/notes/bar</code>.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| format.mboxrd | |
| </dt> | |
| <dd> | |
| <p> | |
| A boolean value which enables the robust "mboxrd" format when | |
| <code>--stdout</code> is in use to escape "^>+From " lines. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| format.noprefix | |
| </dt> | |
| <dd> | |
| <p> | |
| If set, do not show any source or destination prefix in patches. | |
| This is equivalent to the <code>diff.noprefix</code> option used by <code>git | |
| diff</code> (but which is not respected by <code>format-patch</code>). Note that | |
| by setting this, the receiver of any patches you generate will | |
| have to apply them using the <code>-p0</code> option. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| filter.<driver>.clean | |
| </dt> | |
| <dd> | |
| <p> | |
| The command which is used to convert the content of a worktree | |
| file to a blob upon checkin. See <a href="gitattributes.html">gitattributes(5)</a> for | |
| details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| filter.<driver>.smudge | |
| </dt> | |
| <dd> | |
| <p> | |
| The command which is used to convert the content of a blob | |
| object to a worktree file upon checkout. See | |
| <a href="gitattributes.html">gitattributes(5)</a> for details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| fsck.<msg-id> | |
| </dt> | |
| <dd> | |
| <p> | |
| During fsck git may find issues with legacy data which | |
| wouldn’t be generated by current versions of git, and which | |
| wouldn’t be sent over the wire if <code>transfer.fsckObjects</code> was | |
| set. This feature is intended to support working with legacy | |
| repositories containing such data. | |
| </p> | |
| <div class="paragraph"><p>Setting <code>fsck.<msg-id></code> will be picked up by <a href="git-fsck.html">git-fsck(1)</a>, but | |
| to accept pushes of such data set <code>receive.fsck.<msg-id></code> instead, or | |
| to clone or fetch it set <code>fetch.fsck.<msg-id></code>.</p></div> | |
| <div class="paragraph"><p>The rest of the documentation discusses <code>fsck.*</code> for brevity, but the | |
| same applies for the corresponding <code>receive.fsck.*</code> and | |
| <code>fetch.fsck.*</code>. variables.</p></div> | |
| <div class="paragraph"><p>Unlike variables like <code>color.ui</code> and <code>core.editor</code>, the | |
| <code>receive.fsck.<msg-id></code> and <code>fetch.fsck.<msg-id></code> variables will not | |
| fall back on the <code>fsck.<msg-id></code> configuration if they aren’t set. To | |
| uniformly configure the same fsck settings in different circumstances, | |
| all three of them must be set to the same values.</p></div> | |
| <div class="paragraph"><p>When <code>fsck.<msg-id></code> is set, errors can be switched to warnings and | |
| vice versa by configuring the <code>fsck.<msg-id></code> setting where the | |
| <code><msg-id></code> is the fsck message ID and the value is one of <code>error</code>, | |
| <code>warn</code> or <code>ignore</code>. For convenience, fsck prefixes the error/warning | |
| with the message ID, e.g. "missingEmail: invalid author/committer | |
| line - missing email" means that setting <code>fsck.missingEmail = ignore</code> | |
| will hide that issue.</p></div> | |
| <div class="paragraph"><p>In general, it is better to enumerate existing objects with problems | |
| with <code>fsck.skipList</code>, instead of listing the kind of breakages these | |
| problematic objects share to be ignored, as doing the latter will | |
| allow new instances of the same breakages go unnoticed.</p></div> | |
| <div class="paragraph"><p>Setting an unknown <code>fsck.<msg-id></code> value will cause fsck to die, but | |
| doing the same for <code>receive.fsck.<msg-id></code> and <code>fetch.fsck.<msg-id></code> | |
| will only cause git to warn.</p></div> | |
| <div class="paragraph"><p>See the <code>Fsck Messages</code> section of <a href="git-fsck.html">git-fsck(1)</a> for supported | |
| values of <code><msg-id></code>.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| fsck.skipList | |
| </dt> | |
| <dd> | |
| <p> | |
| The path to a list of object names (i.e. one unabbreviated SHA-1 per | |
| line) that are known to be broken in a non-fatal way and should | |
| be ignored. On versions of Git 2.20 and later, comments (<em>#</em>), empty | |
| lines, and any leading and trailing whitespace are ignored. Everything | |
| but a SHA-1 per line will error out on older versions. | |
| </p> | |
| <div class="paragraph"><p>This feature is useful when an established project should be accepted | |
| despite early commits containing errors that can be safely ignored, | |
| such as invalid committer email addresses. Note: corrupt objects | |
| cannot be skipped with this setting.</p></div> | |
| <div class="paragraph"><p>Like <code>fsck.<msg-id></code> this variable has corresponding | |
| <code>receive.fsck.skipList</code> and <code>fetch.fsck.skipList</code> variants.</p></div> | |
| <div class="paragraph"><p>Unlike variables like <code>color.ui</code> and <code>core.editor</code> the | |
| <code>receive.fsck.skipList</code> and <code>fetch.fsck.skipList</code> variables will not | |
| fall back on the <code>fsck.skipList</code> configuration if they aren’t set. To | |
| uniformly configure the same fsck settings in different circumstances, | |
| all three of them must be set to the same values.</p></div> | |
| <div class="paragraph"><p>Older versions of Git (before 2.20) documented that the object names | |
| list should be sorted. This was never a requirement; the object names | |
| could appear in any order, but when reading the list we tracked whether | |
| the list was sorted for the purposes of an internal binary search | |
| implementation, which could save itself some work with an already sorted | |
| list. Unless you had a humongous list there was no reason to go out of | |
| your way to pre-sort the list. After Git version 2.20 a hash implementation | |
| is used instead, so there’s now no reason to pre-sort the list.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| fsmonitor.allowRemote | |
| </dt> | |
| <dd> | |
| <p> | |
| By default, the fsmonitor daemon refuses to work with network-mounted | |
| repositories. Setting <code>fsmonitor.allowRemote</code> to <code>true</code> overrides this | |
| behavior. Only respected when <code>core.fsmonitor</code> is set to <code>true</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| fsmonitor.socketDir | |
| </dt> | |
| <dd> | |
| <p> | |
| This Mac OS-specific option, if set, specifies the directory in | |
| which to create the Unix domain socket used for communication | |
| between the fsmonitor daemon and various Git commands. The directory must | |
| reside on a native Mac OS filesystem. Only respected when <code>core.fsmonitor</code> | |
| is set to <code>true</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gc.aggressiveDepth | |
| </dt> | |
| <dd> | |
| <p> | |
| The depth parameter used in the delta compression | |
| algorithm used by <em>git gc --aggressive</em>. This defaults | |
| to 50, which is the default for the <code>--depth</code> option when | |
| <code>--aggressive</code> isn’t in use. | |
| </p> | |
| <div class="paragraph"><p>See the documentation for the <code>--depth</code> option in | |
| <a href="git-repack.html">git-repack(1)</a> for more details.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gc.aggressiveWindow | |
| </dt> | |
| <dd> | |
| <p> | |
| The window size parameter used in the delta compression | |
| algorithm used by <em>git gc --aggressive</em>. This defaults | |
| to 250, which is a much more aggressive window size than | |
| the default <code>--window</code> of 10. | |
| </p> | |
| <div class="paragraph"><p>See the documentation for the <code>--window</code> option in | |
| <a href="git-repack.html">git-repack(1)</a> for more details.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gc.auto | |
| </dt> | |
| <dd> | |
| <p> | |
| When there are approximately more than this many loose | |
| objects in the repository, <code>git gc --auto</code> will pack them. | |
| Some Porcelain commands use this command to perform a | |
| light-weight garbage collection from time to time. The | |
| default value is 6700. | |
| </p> | |
| <div class="paragraph"><p>Setting this to 0 disables not only automatic packing based on the | |
| number of loose objects, but also any other heuristic <code>git gc --auto</code> will | |
| otherwise use to determine if there’s work to do, such as | |
| <code>gc.autoPackLimit</code>.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gc.autoPackLimit | |
| </dt> | |
| <dd> | |
| <p> | |
| When there are more than this many packs that are not | |
| marked with <code>*.keep</code> file in the repository, <code>git gc | |
| --auto</code> consolidates them into one larger pack. The | |
| default value is 50. Setting this to 0 disables it. | |
| Setting <code>gc.auto</code> to 0 will also disable this. | |
| </p> | |
| <div class="paragraph"><p>See the <code>gc.bigPackThreshold</code> configuration variable below. When in | |
| use, it’ll affect how the auto pack limit works.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gc.autoDetach | |
| </dt> | |
| <dd> | |
| <p> | |
| Make <code>git gc --auto</code> return immediately and run in the background | |
| if the system supports it. Default is true. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gc.bigPackThreshold | |
| </dt> | |
| <dd> | |
| <p> | |
| If non-zero, all non-cruft packs larger than this limit are kept | |
| when <code>git gc</code> is run. This is very similar to | |
| <code>--keep-largest-pack</code> except that all non-cruft packs that meet | |
| the threshold are kept, not just the largest pack. Defaults to | |
| zero. Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported. | |
| </p> | |
| <div class="paragraph"><p>Note that if the number of kept packs is more than gc.autoPackLimit, | |
| this configuration variable is ignored, all packs except the base pack | |
| will be repacked. After this the number of packs should go below | |
| gc.autoPackLimit and gc.bigPackThreshold should be respected again.</p></div> | |
| <div class="paragraph"><p>If the amount of memory estimated for <code>git repack</code> to run smoothly is | |
| not available and <code>gc.bigPackThreshold</code> is not set, the largest pack | |
| will also be excluded (this is the equivalent of running <code>git gc</code> with | |
| <code>--keep-largest-pack</code>).</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gc.writeCommitGraph | |
| </dt> | |
| <dd> | |
| <p> | |
| If true, then gc will rewrite the commit-graph file when | |
| <a href="git-gc.html">git-gc(1)</a> is run. When using <code>git gc --auto</code> | |
| the commit-graph will be updated if housekeeping is | |
| required. Default is true. See <a href="git-commit-graph.html">git-commit-graph(1)</a> | |
| for details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gc.logExpiry | |
| </dt> | |
| <dd> | |
| <p> | |
| If the file gc.log exists, then <code>git gc --auto</code> will print | |
| its content and exit with status zero instead of running | |
| unless that file is more than <em>gc.logExpiry</em> old. Default is | |
| "1.day". See <code>gc.pruneExpire</code> for more ways to specify its | |
| value. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gc.packRefs | |
| </dt> | |
| <dd> | |
| <p> | |
| Running <code>git pack-refs</code> in a repository renders it | |
| unclonable by Git versions prior to 1.5.1.2 over dumb | |
| transports such as HTTP. This variable determines whether | |
| <em>git gc</em> runs <code>git pack-refs</code>. This can be set to <code>notbare</code> | |
| to enable it within all non-bare repos or it can be set to a | |
| boolean value. The default is <code>true</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gc.cruftPacks | |
| </dt> | |
| <dd> | |
| <p> | |
| Store unreachable objects in a cruft pack (see | |
| <a href="git-repack.html">git-repack(1)</a>) instead of as loose objects. The default | |
| is <code>true</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gc.maxCruftSize | |
| </dt> | |
| <dd> | |
| <p> | |
| Limit the size of new cruft packs when repacking. When | |
| specified in addition to <code>--max-cruft-size</code>, the command line | |
| option takes priority. See the <code>--max-cruft-size</code> option of | |
| <a href="git-repack.html">git-repack(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gc.pruneExpire | |
| </dt> | |
| <dd> | |
| <p> | |
| When <em>git gc</em> is run, it will call <em>prune --expire 2.weeks.ago</em> | |
| (and <em>repack --cruft --cruft-expiration 2.weeks.ago</em> if using | |
| cruft packs via <code>gc.cruftPacks</code> or <code>--cruft</code>). Override the | |
| grace period with this config variable. The value "now" may be | |
| used to disable this grace period and always prune unreachable | |
| objects immediately, or "never" may be used to suppress pruning. | |
| This feature helps prevent corruption when <em>git gc</em> runs | |
| concurrently with another process writing to the repository; see | |
| the "NOTES" section of <a href="git-gc.html">git-gc(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gc.worktreePruneExpire | |
| </dt> | |
| <dd> | |
| <p> | |
| When <em>git gc</em> is run, it calls | |
| <em>git worktree prune --expire 3.months.ago</em>. | |
| This config variable can be used to set a different grace | |
| period. The value "now" may be used to disable the grace | |
| period and prune <code>$GIT_DIR/worktrees</code> immediately, or "never" | |
| may be used to suppress pruning. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gc.reflogExpire | |
| </dt> | |
| <dt class="hdlist1"> | |
| gc.<pattern>.reflogExpire | |
| </dt> | |
| <dd> | |
| <p> | |
| <em>git reflog expire</em> removes reflog entries older than | |
| this time; defaults to 90 days. The value "now" expires all | |
| entries immediately, and "never" suppresses expiration | |
| altogether. With "<pattern>" (e.g. | |
| "refs/stash") in the middle the setting applies only to | |
| the refs that match the <pattern>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gc.reflogExpireUnreachable | |
| </dt> | |
| <dt class="hdlist1"> | |
| gc.<pattern>.reflogExpireUnreachable | |
| </dt> | |
| <dd> | |
| <p> | |
| <em>git reflog expire</em> removes reflog entries older than | |
| this time and are not reachable from the current tip; | |
| defaults to 30 days. The value "now" expires all entries | |
| immediately, and "never" suppresses expiration altogether. | |
| With "<pattern>" (e.g. "refs/stash") | |
| in the middle, the setting applies only to the refs that | |
| match the <pattern>. | |
| </p> | |
| <div class="paragraph"><p>These types of entries are generally created as a result of using <code>git | |
| commit --amend</code> or <code>git rebase</code> and are the commits prior to the amend | |
| or rebase occurring. Since these changes are not part of the current | |
| project most users will want to expire them sooner, which is why the | |
| default is more aggressive than <code>gc.reflogExpire</code>.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gc.recentObjectsHook | |
| </dt> | |
| <dd> | |
| <p> | |
| When considering whether or not to remove an object (either when | |
| generating a cruft pack or storing unreachable objects as | |
| loose), use the shell to execute the specified command(s). | |
| Interpret their output as object IDs which Git will consider as | |
| "recent", regardless of their age. By treating their mtimes as | |
| "now", any objects (and their descendants) mentioned in the | |
| output will be kept regardless of their true age. | |
| </p> | |
| <div class="paragraph"><p>Output must contain exactly one hex object ID per line, and nothing | |
| else. Objects which cannot be found in the repository are ignored. | |
| Multiple hooks are supported, but all must exit successfully, else the | |
| operation (either generating a cruft pack or unpacking unreachable | |
| objects) will be halted.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gc.repackFilter | |
| </dt> | |
| <dd> | |
| <p> | |
| When repacking, use the specified filter to move certain | |
| objects into a separate packfile. See the | |
| <code>--filter=<filter-spec></code> option of <a href="git-repack.html">git-repack(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gc.repackFilterTo | |
| </dt> | |
| <dd> | |
| <p> | |
| When repacking and using a filter, see <code>gc.repackFilter</code>, the | |
| specified location will be used to create the packfile | |
| containing the filtered out objects. <strong>WARNING:</strong> The | |
| specified location should be accessible, using for example the | |
| Git alternates mechanism, otherwise the repo could be | |
| considered corrupt by Git as it migh not be able to access the | |
| objects in that packfile. See the <code>--filter-to=<dir></code> option | |
| of <a href="git-repack.html">git-repack(1)</a> and the <code>objects/info/alternates</code> | |
| section of <a href="gitrepository-layout.html">gitrepository-layout(5)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gc.rerereResolved | |
| </dt> | |
| <dd> | |
| <p> | |
| Records of conflicted merge you resolved earlier are | |
| kept for this many days when <em>git rerere gc</em> is run. | |
| You can also use more human-readable "1.month.ago", etc. | |
| The default is 60 days. See <a href="git-rerere.html">git-rerere(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gc.rerereUnresolved | |
| </dt> | |
| <dd> | |
| <p> | |
| Records of conflicted merge you have not resolved are | |
| kept for this many days when <em>git rerere gc</em> is run. | |
| You can also use more human-readable "1.month.ago", etc. | |
| The default is 15 days. See <a href="git-rerere.html">git-rerere(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gitcvs.commitMsgAnnotation | |
| </dt> | |
| <dd> | |
| <p> | |
| Append this string to each commit message. Set to empty string | |
| to disable this feature. Defaults to "via git-CVS emulator". | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gitcvs.enabled | |
| </dt> | |
| <dd> | |
| <p> | |
| Whether the CVS server interface is enabled for this repository. | |
| See <a href="git-cvsserver.html">git-cvsserver(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gitcvs.logFile | |
| </dt> | |
| <dd> | |
| <p> | |
| Path to a log file where the CVS server interface well… logs | |
| various stuff. See <a href="git-cvsserver.html">git-cvsserver(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gitcvs.usecrlfattr | |
| </dt> | |
| <dd> | |
| <p> | |
| If true, the server will look up the end-of-line conversion | |
| attributes for files to determine the <code>-k</code> modes to use. If | |
| the attributes force Git to treat a file as text, | |
| the <code>-k</code> mode will be left blank so CVS clients will | |
| treat it as text. If they suppress text conversion, the file | |
| will be set with <em>-kb</em> mode, which suppresses any newline munging | |
| the client might otherwise do. If the attributes do not allow | |
| the file type to be determined, then <code>gitcvs.allBinary</code> is | |
| used. See <a href="gitattributes.html">gitattributes(5)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gitcvs.allBinary | |
| </dt> | |
| <dd> | |
| <p> | |
| This is used if <code>gitcvs.usecrlfattr</code> does not resolve | |
| the correct <em>-kb</em> mode to use. If true, all | |
| unresolved files are sent to the client in | |
| mode <em>-kb</em>. This causes the client to treat them | |
| as binary files, which suppresses any newline munging it | |
| otherwise might do. Alternatively, if it is set to "guess", | |
| then the contents of the file are examined to decide if | |
| it is binary, similar to <code>core.autocrlf</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gitcvs.dbName | |
| </dt> | |
| <dd> | |
| <p> | |
| Database used by git-cvsserver to cache revision information | |
| derived from the Git repository. The exact meaning depends on the | |
| used database driver, for SQLite (which is the default driver) this | |
| is a filename. Supports variable substitution (see | |
| <a href="git-cvsserver.html">git-cvsserver(1)</a> for details). May not contain semicolons (<code>;</code>). | |
| Default: <em>%Ggitcvs.%m.sqlite</em> | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gitcvs.dbDriver | |
| </dt> | |
| <dd> | |
| <p> | |
| Used Perl DBI driver. You can specify any available driver | |
| for this here, but it might not work. git-cvsserver is tested | |
| with <em>DBD::SQLite</em>, reported to work with <em>DBD::Pg</em>, and | |
| reported <strong>not</strong> to work with <em>DBD::mysql</em>. Experimental feature. | |
| May not contain double colons (<code>:</code>). Default: <em>SQLite</em>. | |
| See <a href="git-cvsserver.html">git-cvsserver(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gitcvs.dbUser, gitcvs.dbPass | |
| </dt> | |
| <dd> | |
| <p> | |
| Database user and password. Only useful if setting <code>gitcvs.dbDriver</code>, | |
| since SQLite has no concept of database users and/or passwords. | |
| <em>gitcvs.dbUser</em> supports variable substitution (see | |
| <a href="git-cvsserver.html">git-cvsserver(1)</a> for details). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gitcvs.dbTableNamePrefix | |
| </dt> | |
| <dd> | |
| <p> | |
| Database table name prefix. Prepended to the names of any | |
| database tables used, allowing a single database to be used | |
| for several repositories. Supports variable substitution (see | |
| <a href="git-cvsserver.html">git-cvsserver(1)</a> for details). Any non-alphabetic | |
| characters will be replaced with underscores. | |
| </p> | |
| </dd> | |
| </dl></div> | |
| <div class="paragraph"><p>All gitcvs variables except for <code>gitcvs.usecrlfattr</code> and | |
| <code>gitcvs.allBinary</code> can also be specified as | |
| <em>gitcvs.<access_method>.<varname></em> (where <em>access_method</em> | |
| is one of "ext" and "pserver") to make them apply only for the given | |
| access method.</p></div> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| gitweb.category | |
| </dt> | |
| <dt class="hdlist1"> | |
| gitweb.description | |
| </dt> | |
| <dt class="hdlist1"> | |
| gitweb.owner | |
| </dt> | |
| <dt class="hdlist1"> | |
| gitweb.url | |
| </dt> | |
| <dd> | |
| <p> | |
| See <a href="gitweb.html">gitweb(1)</a> for description. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gitweb.avatar | |
| </dt> | |
| <dt class="hdlist1"> | |
| gitweb.blame | |
| </dt> | |
| <dt class="hdlist1"> | |
| gitweb.grep | |
| </dt> | |
| <dt class="hdlist1"> | |
| gitweb.highlight | |
| </dt> | |
| <dt class="hdlist1"> | |
| gitweb.patches | |
| </dt> | |
| <dt class="hdlist1"> | |
| gitweb.pickaxe | |
| </dt> | |
| <dt class="hdlist1"> | |
| gitweb.remote_heads | |
| </dt> | |
| <dt class="hdlist1"> | |
| gitweb.showSizes | |
| </dt> | |
| <dt class="hdlist1"> | |
| gitweb.snapshot | |
| </dt> | |
| <dd> | |
| <p> | |
| See <a href="gitweb.conf.html">gitweb.conf(5)</a> for description. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| grep.lineNumber | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to true, enable <code>-n</code> option by default. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| grep.column | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to true, enable the <code>--column</code> option by default. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| grep.patternType | |
| </dt> | |
| <dd> | |
| <p> | |
| Set the default matching behavior. Using a value of <em>basic</em>, <em>extended</em>, | |
| <em>fixed</em>, or <em>perl</em> will enable the <code>--basic-regexp</code>, <code>--extended-regexp</code>, | |
| <code>--fixed-strings</code>, or <code>--perl-regexp</code> option accordingly, while the | |
| value <em>default</em> will use the <code>grep.extendedRegexp</code> option to choose | |
| between <em>basic</em> and <em>extended</em>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| grep.extendedRegexp | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to true, enable <code>--extended-regexp</code> option by default. This | |
| option is ignored when the <code>grep.patternType</code> option is set to a value | |
| other than <em>default</em>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| grep.threads | |
| </dt> | |
| <dd> | |
| <p> | |
| Number of grep worker threads to use. If unset (or set to 0), Git will | |
| use as many threads as the number of logical cores available. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| grep.fullName | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to true, enable <code>--full-name</code> option by default. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| grep.fallbackToNoIndex | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to true, fall back to git grep --no-index if git grep | |
| is executed outside of a git repository. Defaults to false. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gpg.program | |
| </dt> | |
| <dd> | |
| <p> | |
| Use this custom program instead of "<code>gpg</code>" found on <code>$PATH</code> when | |
| making or verifying a PGP signature. The program must support the | |
| same command-line interface as GPG, namely, to verify a detached | |
| signature, "<code>gpg --verify $signature - <$file</code>" is run, and the | |
| program is expected to signal a good signature by exiting with | |
| code 0. To generate an ASCII-armored detached signature, the | |
| standard input of "<code>gpg -bsau $key</code>" is fed with the contents to be | |
| signed, and the program is expected to send the result to its | |
| standard output. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gpg.format | |
| </dt> | |
| <dd> | |
| <p> | |
| Specifies which key format to use when signing with <code>--gpg-sign</code>. | |
| Default is "openpgp". Other possible values are "x509", "ssh". | |
| </p> | |
| <div class="paragraph"><p>See <a href="gitformat-signature.html">gitformat-signature(5)</a> for the signature format, which differs | |
| based on the selected <code>gpg.format</code>.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gpg.<format>.program | |
| </dt> | |
| <dd> | |
| <p> | |
| Use this to customize the program used for the signing format you | |
| chose. (see <code>gpg.program</code> and <code>gpg.format</code>) <code>gpg.program</code> can still | |
| be used as a legacy synonym for <code>gpg.openpgp.program</code>. The default | |
| value for <code>gpg.x509.program</code> is "gpgsm" and <code>gpg.ssh.program</code> is "ssh-keygen". | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gpg.minTrustLevel | |
| </dt> | |
| <dd> | |
| <p> | |
| Specifies a minimum trust level for signature verification. If | |
| this option is unset, then signature verification for merge | |
| operations requires a key with at least <code>marginal</code> trust. Other | |
| operations that perform signature verification require a key | |
| with at least <code>undefined</code> trust. Setting this option overrides | |
| the required trust-level for all operations. Supported values, | |
| in increasing order of significance: | |
| </p> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| <code>undefined</code> | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>never</code> | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>marginal</code> | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>fully</code> | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>ultimate</code> | |
| </p> | |
| </li> | |
| </ul></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gpg.ssh.defaultKeyCommand | |
| </dt> | |
| <dd> | |
| <p> | |
| This command will be run when user.signingkey is not set and a ssh | |
| signature is requested. On successful exit a valid ssh public key | |
| prefixed with <code>key::</code> is expected in the first line of its output. | |
| This allows for a script doing a dynamic lookup of the correct public | |
| key when it is impractical to statically configure <code>user.signingKey</code>. | |
| For example when keys or SSH Certificates are rotated frequently or | |
| selection of the right key depends on external factors unknown to git. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gpg.ssh.allowedSignersFile | |
| </dt> | |
| <dd> | |
| <p> | |
| A file containing ssh public keys which you are willing to trust. | |
| The file consists of one or more lines of principals followed by an ssh | |
| public key. | |
| e.g.: <code>user1@example.com,user2@example.com ssh-rsa AAAAX1...</code> | |
| See ssh-keygen(1) "ALLOWED SIGNERS" for details. | |
| The principal is only used to identify the key and is available when | |
| verifying a signature. | |
| </p> | |
| <div class="paragraph"><p>SSH has no concept of trust levels like gpg does. To be able to differentiate | |
| between valid signatures and trusted signatures the trust level of a signature | |
| verification is set to <code>fully</code> when the public key is present in the allowedSignersFile. | |
| Otherwise the trust level is <code>undefined</code> and git verify-commit/tag will fail.</p></div> | |
| <div class="paragraph"><p>This file can be set to a location outside of the repository and every developer | |
| maintains their own trust store. A central repository server could generate this | |
| file automatically from ssh keys with push access to verify the code against. | |
| In a corporate setting this file is probably generated at a global location | |
| from automation that already handles developer ssh keys.</p></div> | |
| <div class="paragraph"><p>A repository that only allows signed commits can store the file | |
| in the repository itself using a path relative to the top-level of the working tree. | |
| This way only committers with an already valid key can add or change keys in the keyring.</p></div> | |
| <div class="paragraph"><p>Since OpensSSH 8.8 this file allows specifying a key lifetime using valid-after & | |
| valid-before options. Git will mark signatures as valid if the signing key was | |
| valid at the time of the signature’s creation. This allows users to change a | |
| signing key without invalidating all previously made signatures.</p></div> | |
| <div class="paragraph"><p>Using a SSH CA key with the cert-authority option | |
| (see ssh-keygen(1) "CERTIFICATES") is also valid.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gpg.ssh.revocationFile | |
| </dt> | |
| <dd> | |
| <p> | |
| Either a SSH KRL or a list of revoked public keys (without the principal prefix). | |
| See ssh-keygen(1) for details. | |
| If a public key is found in this file then it will always be treated | |
| as having trust level "never" and signatures will show as invalid. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gui.commitMsgWidth | |
| </dt> | |
| <dd> | |
| <p> | |
| Defines how wide the commit message window is in the | |
| <a href="git-gui.html">git-gui(1)</a>. "75" is the default. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gui.diffContext | |
| </dt> | |
| <dd> | |
| <p> | |
| Specifies how many context lines should be used in calls to diff | |
| made by the <a href="git-gui.html">git-gui(1)</a>. The default is "5". | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gui.displayUntracked | |
| </dt> | |
| <dd> | |
| <p> | |
| Determines if <a href="git-gui.html">git-gui(1)</a> shows untracked files | |
| in the file list. The default is "true". | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gui.encoding | |
| </dt> | |
| <dd> | |
| <p> | |
| Specifies the default character encoding to use for displaying of | |
| file contents in <a href="git-gui.html">git-gui(1)</a> and <a href="gitk.html">gitk(1)</a>. | |
| It can be overridden by setting the <em>encoding</em> attribute | |
| for relevant files (see <a href="gitattributes.html">gitattributes(5)</a>). | |
| If this option is not set, the tools default to the | |
| locale encoding. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gui.matchTrackingBranch | |
| </dt> | |
| <dd> | |
| <p> | |
| Determines if new branches created with <a href="git-gui.html">git-gui(1)</a> should | |
| default to tracking remote branches with matching names or | |
| not. Default: "false". | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gui.newBranchTemplate | |
| </dt> | |
| <dd> | |
| <p> | |
| Is used as a suggested name when creating new branches using the | |
| <a href="git-gui.html">git-gui(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gui.pruneDuringFetch | |
| </dt> | |
| <dd> | |
| <p> | |
| "true" if <a href="git-gui.html">git-gui(1)</a> should prune remote-tracking branches when | |
| performing a fetch. The default value is "false". | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gui.trustmtime | |
| </dt> | |
| <dd> | |
| <p> | |
| Determines if <a href="git-gui.html">git-gui(1)</a> should trust the file modification | |
| timestamp or not. By default the timestamps are not trusted. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gui.spellingDictionary | |
| </dt> | |
| <dd> | |
| <p> | |
| Specifies the dictionary used for spell checking commit messages in | |
| the <a href="git-gui.html">git-gui(1)</a>. When set to "none" spell checking is turned | |
| off. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gui.fastCopyBlame | |
| </dt> | |
| <dd> | |
| <p> | |
| If true, <em>git gui blame</em> uses <code>-C</code> instead of <code>-C -C</code> for original | |
| location detection. It makes blame significantly faster on huge | |
| repositories at the expense of less thorough copy detection. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gui.copyBlameThreshold | |
| </dt> | |
| <dd> | |
| <p> | |
| Specifies the threshold to use in <em>git gui blame</em> original location | |
| detection, measured in alphanumeric characters. See the | |
| <a href="git-blame.html">git-blame(1)</a> manual for more information on copy detection. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| gui.blamehistoryctx | |
| </dt> | |
| <dd> | |
| <p> | |
| Specifies the radius of history context in days to show in | |
| <a href="gitk.html">gitk(1)</a> for the selected commit, when the <code>Show History | |
| Context</code> menu item is invoked from <em>git gui blame</em>. If this | |
| variable is set to zero, the whole history is shown. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| guitool.<name>.cmd | |
| </dt> | |
| <dd> | |
| <p> | |
| Specifies the shell command line to execute when the corresponding item | |
| of the <a href="git-gui.html">git-gui(1)</a> <code>Tools</code> menu is invoked. This option is | |
| mandatory for every tool. The command is executed from the root of | |
| the working directory, and in the environment it receives the name of | |
| the tool as <code>GIT_GUITOOL</code>, the name of the currently selected file as | |
| <em>FILENAME</em>, and the name of the current branch as <em>CUR_BRANCH</em> (if | |
| the head is detached, <em>CUR_BRANCH</em> is empty). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| guitool.<name>.needsFile | |
| </dt> | |
| <dd> | |
| <p> | |
| Run the tool only if a diff is selected in the GUI. It guarantees | |
| that <em>FILENAME</em> is not empty. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| guitool.<name>.noConsole | |
| </dt> | |
| <dd> | |
| <p> | |
| Run the command silently, without creating a window to display its | |
| output. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| guitool.<name>.noRescan | |
| </dt> | |
| <dd> | |
| <p> | |
| Don’t rescan the working directory for changes after the tool | |
| finishes execution. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| guitool.<name>.confirm | |
| </dt> | |
| <dd> | |
| <p> | |
| Show a confirmation dialog before actually running the tool. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| guitool.<name>.argPrompt | |
| </dt> | |
| <dd> | |
| <p> | |
| Request a string argument from the user, and pass it to the tool | |
| through the <code>ARGS</code> environment variable. Since requesting an | |
| argument implies confirmation, the <em>confirm</em> option has no effect | |
| if this is enabled. If the option is set to <em>true</em>, <em>yes</em>, or <em>1</em>, | |
| the dialog uses a built-in generic prompt; otherwise the exact | |
| value of the variable is used. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| guitool.<name>.revPrompt | |
| </dt> | |
| <dd> | |
| <p> | |
| Request a single valid revision from the user, and set the | |
| <code>REVISION</code> environment variable. In other aspects this option | |
| is similar to <em>argPrompt</em>, and can be used together with it. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| guitool.<name>.revUnmerged | |
| </dt> | |
| <dd> | |
| <p> | |
| Show only unmerged branches in the <em>revPrompt</em> subdialog. | |
| This is useful for tools similar to merge or rebase, but not | |
| for things like checkout or reset. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| guitool.<name>.title | |
| </dt> | |
| <dd> | |
| <p> | |
| Specifies the title to use for the prompt dialog. The default | |
| is the tool name. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| guitool.<name>.prompt | |
| </dt> | |
| <dd> | |
| <p> | |
| Specifies the general prompt string to display at the top of | |
| the dialog, before subsections for <em>argPrompt</em> and <em>revPrompt</em>. | |
| The default value includes the actual command. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| help.browser | |
| </dt> | |
| <dd> | |
| <p> | |
| Specify the browser that will be used to display help in the | |
| <em>web</em> format. See <a href="git-help.html">git-help(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| help.format | |
| </dt> | |
| <dd> | |
| <p> | |
| Override the default help format used by <a href="git-help.html">git-help(1)</a>. | |
| Values <em>man</em>, <em>info</em>, <em>web</em> and <em>html</em> are supported. <em>man</em> is | |
| the default. <em>web</em> and <em>html</em> are the same. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| help.autoCorrect | |
| </dt> | |
| <dd> | |
| <p> | |
| If git detects typos and can identify exactly one valid command similar | |
| to the error, git will try to suggest the correct command or even | |
| run the suggestion automatically. Possible config values are: | |
| </p> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| 0 (default): show the suggested command. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| positive number: run the suggested command after specified | |
| deciseconds (0.1 sec). | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| "immediate": run the suggested command immediately. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| "prompt": show the suggestion and prompt for confirmation to run | |
| the command. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| "never": don’t run or show any suggested command. | |
| </p> | |
| </li> | |
| </ul></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| help.htmlPath | |
| </dt> | |
| <dd> | |
| <p> | |
| Specify the path where the HTML documentation resides. File system paths | |
| and URLs are supported. HTML pages will be prefixed with this path when | |
| help is displayed in the <em>web</em> format. This defaults to the documentation | |
| path of your Git installation. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.proxy | |
| </dt> | |
| <dd> | |
| <p> | |
| Override the HTTP proxy, normally configured using the <em>http_proxy</em>, | |
| <em>https_proxy</em>, and <em>all_proxy</em> environment variables (see <code>curl(1)</code>). In | |
| addition to the syntax understood by curl, it is possible to specify a | |
| proxy string with a user name but no password, in which case git will | |
| attempt to acquire one in the same way it does for other credentials. See | |
| <a href="gitcredentials.html">gitcredentials(7)</a> for more information. The syntax thus is | |
| <em>[protocol://][user[:password]@]proxyhost[:port]</em>. This can be overridden | |
| on a per-remote basis; see remote.<name>.proxy | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.proxyAuthMethod | |
| </dt> | |
| <dd> | |
| <p> | |
| Set the method with which to authenticate against the HTTP proxy. This | |
| only takes effect if the configured proxy string contains a user name part | |
| (i.e. is of the form <em>user@host</em> or <em>user@host:port</em>). This can be | |
| overridden on a per-remote basis; see <code>remote.<name>.proxyAuthMethod</code>. | |
| Both can be overridden by the <code>GIT_HTTP_PROXY_AUTHMETHOD</code> environment | |
| variable. Possible values are: | |
| </p> | |
| <div class="openblock"> | |
| <div class="content"> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| <code>anyauth</code> - Automatically pick a suitable authentication method. It is | |
| assumed that the proxy answers an unauthenticated request with a 407 | |
| status code and one or more Proxy-authenticate headers with supported | |
| authentication methods. This is the default. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>basic</code> - HTTP Basic authentication | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>digest</code> - HTTP Digest authentication; this prevents the password from being | |
| transmitted to the proxy in clear text | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>negotiate</code> - GSS-Negotiate authentication (compare the --negotiate option | |
| of <code>curl(1)</code>) | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>ntlm</code> - NTLM authentication (compare the --ntlm option of <code>curl(1)</code>) | |
| </p> | |
| </li> | |
| </ul></div> | |
| </div></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.proxySSLCert | |
| </dt> | |
| <dd> | |
| <p> | |
| The pathname of a file that stores a client certificate to use to authenticate | |
| with an HTTPS proxy. Can be overridden by the <code>GIT_PROXY_SSL_CERT</code> environment | |
| variable. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.proxySSLKey | |
| </dt> | |
| <dd> | |
| <p> | |
| The pathname of a file that stores a private key to use to authenticate with | |
| an HTTPS proxy. Can be overridden by the <code>GIT_PROXY_SSL_KEY</code> environment | |
| variable. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.proxySSLCertPasswordProtected | |
| </dt> | |
| <dd> | |
| <p> | |
| Enable Git’s password prompt for the proxy SSL certificate. Otherwise OpenSSL | |
| will prompt the user, possibly many times, if the certificate or private key | |
| is encrypted. Can be overridden by the <code>GIT_PROXY_SSL_CERT_PASSWORD_PROTECTED</code> | |
| environment variable. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.proxySSLCAInfo | |
| </dt> | |
| <dd> | |
| <p> | |
| Pathname to the file containing the certificate bundle that should be used to | |
| verify the proxy with when using an HTTPS proxy. Can be overridden by the | |
| <code>GIT_PROXY_SSL_CAINFO</code> environment variable. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.emptyAuth | |
| </dt> | |
| <dd> | |
| <p> | |
| Attempt authentication without seeking a username or password. This | |
| can be used to attempt GSS-Negotiate authentication without specifying | |
| a username in the URL, as libcurl normally requires a username for | |
| authentication. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.delegation | |
| </dt> | |
| <dd> | |
| <p> | |
| Control GSSAPI credential delegation. The delegation is disabled | |
| by default in libcurl since version 7.21.7. Set parameter to tell | |
| the server what it is allowed to delegate when it comes to user | |
| credentials. Used with GSS/kerberos. Possible values are: | |
| </p> | |
| <div class="openblock"> | |
| <div class="content"> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| <code>none</code> - Don’t allow any delegation. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>policy</code> - Delegates if and only if the OK-AS-DELEGATE flag is set in the | |
| Kerberos service ticket, which is a matter of realm policy. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>always</code> - Unconditionally allow the server to delegate. | |
| </p> | |
| </li> | |
| </ul></div> | |
| </div></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.extraHeader | |
| </dt> | |
| <dd> | |
| <p> | |
| Pass an additional HTTP header when communicating with a server. If | |
| more than one such entry exists, all of them are added as extra | |
| headers. To allow overriding the settings inherited from the system | |
| config, an empty value will reset the extra headers to the empty list. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.cookieFile | |
| </dt> | |
| <dd> | |
| <p> | |
| The pathname of a file containing previously stored cookie lines, | |
| which should be used | |
| in the Git http session, if they match the server. The file format | |
| of the file to read cookies from should be plain HTTP headers or | |
| the Netscape/Mozilla cookie file format (see <code>curl(1)</code>). | |
| NOTE that the file specified with http.cookieFile is used only as | |
| input unless http.saveCookies is set. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.saveCookies | |
| </dt> | |
| <dd> | |
| <p> | |
| If set, store cookies received during requests to the file specified by | |
| http.cookieFile. Has no effect if http.cookieFile is unset. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.version | |
| </dt> | |
| <dd> | |
| <p> | |
| Use the specified HTTP protocol version when communicating with a server. | |
| If you want to force the default. The available and default version depend | |
| on libcurl. Currently the possible values of | |
| this option are: | |
| </p> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| HTTP/2 | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| HTTP/1.1 | |
| </p> | |
| </li> | |
| </ul></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.curloptResolve | |
| </dt> | |
| <dd> | |
| <p> | |
| Hostname resolution information that will be used first by | |
| libcurl when sending HTTP requests. This information should | |
| be in one of the following formats: | |
| </p> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| [+]HOST:PORT:ADDRESS[,ADDRESS] | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| -HOST:PORT | |
| </p> | |
| </li> | |
| </ul></div> | |
| <div class="paragraph"><p>The first format redirects all requests to the given <code>HOST:PORT</code> | |
| to the provided <code>ADDRESS</code>(s). The second format clears all | |
| previous config values for that <code>HOST:PORT</code> combination. To | |
| allow easy overriding of all the settings inherited from the | |
| system config, an empty value will reset all resolution | |
| information to the empty list.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.sslVersion | |
| </dt> | |
| <dd> | |
| <p> | |
| The SSL version to use when negotiating an SSL connection, if you | |
| want to force the default. The available and default version | |
| depend on whether libcurl was built against NSS or OpenSSL and the | |
| particular configuration of the crypto library in use. Internally | |
| this sets the <em>CURLOPT_SSL_VERSION</em> option; see the libcurl | |
| documentation for more details on the format of this option and | |
| for the ssl version supported. Currently the possible values of | |
| this option are: | |
| </p> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| sslv2 | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| sslv3 | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| tlsv1 | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| tlsv1.0 | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| tlsv1.1 | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| tlsv1.2 | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| tlsv1.3 | |
| </p> | |
| </li> | |
| </ul></div> | |
| <div class="paragraph"><p>Can be overridden by the <code>GIT_SSL_VERSION</code> environment variable. | |
| To force git to use libcurl’s default ssl version and ignore any | |
| explicit http.sslversion option, set <code>GIT_SSL_VERSION</code> to the | |
| empty string.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.sslCipherList | |
| </dt> | |
| <dd> | |
| <p> | |
| A list of SSL ciphers to use when negotiating an SSL connection. | |
| The available ciphers depend on whether libcurl was built against | |
| NSS or OpenSSL and the particular configuration of the crypto | |
| library in use. Internally this sets the <em>CURLOPT_SSL_CIPHER_LIST</em> | |
| option; see the libcurl documentation for more details on the format | |
| of this list. | |
| </p> | |
| <div class="paragraph"><p>Can be overridden by the <code>GIT_SSL_CIPHER_LIST</code> environment variable. | |
| To force git to use libcurl’s default cipher list and ignore any | |
| explicit http.sslCipherList option, set <code>GIT_SSL_CIPHER_LIST</code> to the | |
| empty string.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.sslVerify | |
| </dt> | |
| <dd> | |
| <p> | |
| Whether to verify the SSL certificate when fetching or pushing | |
| over HTTPS. Defaults to true. Can be overridden by the | |
| <code>GIT_SSL_NO_VERIFY</code> environment variable. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.sslCert | |
| </dt> | |
| <dd> | |
| <p> | |
| File containing the SSL certificate when fetching or pushing | |
| over HTTPS. Can be overridden by the <code>GIT_SSL_CERT</code> environment | |
| variable. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.sslKey | |
| </dt> | |
| <dd> | |
| <p> | |
| File containing the SSL private key when fetching or pushing | |
| over HTTPS. Can be overridden by the <code>GIT_SSL_KEY</code> environment | |
| variable. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.sslCertPasswordProtected | |
| </dt> | |
| <dd> | |
| <p> | |
| Enable Git’s password prompt for the SSL certificate. Otherwise | |
| OpenSSL will prompt the user, possibly many times, if the | |
| certificate or private key is encrypted. Can be overridden by the | |
| <code>GIT_SSL_CERT_PASSWORD_PROTECTED</code> environment variable. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.sslCAInfo | |
| </dt> | |
| <dd> | |
| <p> | |
| File containing the certificates to verify the peer with when | |
| fetching or pushing over HTTPS. Can be overridden by the | |
| <code>GIT_SSL_CAINFO</code> environment variable. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.sslCAPath | |
| </dt> | |
| <dd> | |
| <p> | |
| Path containing files with the CA certificates to verify the peer | |
| with when fetching or pushing over HTTPS. Can be overridden | |
| by the <code>GIT_SSL_CAPATH</code> environment variable. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.sslBackend | |
| </dt> | |
| <dd> | |
| <p> | |
| Name of the SSL backend to use (e.g. "openssl" or "schannel"). | |
| This option is ignored if cURL lacks support for choosing the SSL | |
| backend at runtime. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.schannelCheckRevoke | |
| </dt> | |
| <dd> | |
| <p> | |
| Used to enforce or disable certificate revocation checks in cURL | |
| when http.sslBackend is set to "schannel". Defaults to <code>true</code> if | |
| unset. Only necessary to disable this if Git consistently errors | |
| and the message is about checking the revocation status of a | |
| certificate. This option is ignored if cURL lacks support for | |
| setting the relevant SSL option at runtime. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.schannelUseSSLCAInfo | |
| </dt> | |
| <dd> | |
| <p> | |
| As of cURL v7.60.0, the Secure Channel backend can use the | |
| certificate bundle provided via <code>http.sslCAInfo</code>, but that would | |
| override the Windows Certificate Store. Since this is not desirable | |
| by default, Git will tell cURL not to use that bundle by default | |
| when the <code>schannel</code> backend was configured via <code>http.sslBackend</code>, | |
| unless <code>http.schannelUseSSLCAInfo</code> overrides this behavior. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.pinnedPubkey | |
| </dt> | |
| <dd> | |
| <p> | |
| Public key of the https service. It may either be the filename of | |
| a PEM or DER encoded public key file or a string starting with | |
| <em>sha256//</em> followed by the base64 encoded sha256 hash of the | |
| public key. See also libcurl <em>CURLOPT_PINNEDPUBLICKEY</em>. git will | |
| exit with an error if this option is set but not supported by | |
| cURL. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.sslTry | |
| </dt> | |
| <dd> | |
| <p> | |
| Attempt to use AUTH SSL/TLS and encrypted data transfers | |
| when connecting via regular FTP protocol. This might be needed | |
| if the FTP server requires it for security reasons or you wish | |
| to connect securely whenever remote FTP server supports it. | |
| Default is false since it might trigger certificate verification | |
| errors on misconfigured servers. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.maxRequests | |
| </dt> | |
| <dd> | |
| <p> | |
| How many HTTP requests to launch in parallel. Can be overridden | |
| by the <code>GIT_HTTP_MAX_REQUESTS</code> environment variable. Default is 5. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.minSessions | |
| </dt> | |
| <dd> | |
| <p> | |
| The number of curl sessions (counted across slots) to be kept across | |
| requests. They will not be ended with curl_easy_cleanup() until | |
| http_cleanup() is invoked. If USE_CURL_MULTI is not defined, this | |
| value will be capped at 1. Defaults to 1. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.postBuffer | |
| </dt> | |
| <dd> | |
| <p> | |
| Maximum size in bytes of the buffer used by smart HTTP | |
| transports when POSTing data to the remote system. | |
| For requests larger than this buffer size, HTTP/1.1 and | |
| Transfer-Encoding: chunked is used to avoid creating a | |
| massive pack file locally. Default is 1 MiB, which is | |
| sufficient for most requests. | |
| </p> | |
| <div class="paragraph"><p>Note that raising this limit is only effective for disabling chunked | |
| transfer encoding and therefore should be used only where the remote | |
| server or a proxy only supports HTTP/1.0 or is noncompliant with the | |
| HTTP standard. Raising this is not, in general, an effective solution | |
| for most push problems, but can increase memory consumption | |
| significantly since the entire buffer is allocated even for small | |
| pushes.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.lowSpeedLimit, http.lowSpeedTime | |
| </dt> | |
| <dd> | |
| <p> | |
| If the HTTP transfer speed, in bytes per second, is less than | |
| <em>http.lowSpeedLimit</em> for longer than <em>http.lowSpeedTime</em> seconds, | |
| the transfer is aborted. | |
| Can be overridden by the <code>GIT_HTTP_LOW_SPEED_LIMIT</code> and | |
| <code>GIT_HTTP_LOW_SPEED_TIME</code> environment variables. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.noEPSV | |
| </dt> | |
| <dd> | |
| <p> | |
| A boolean which disables using of EPSV ftp command by curl. | |
| This can be helpful with some "poor" ftp servers which don’t | |
| support EPSV mode. Can be overridden by the <code>GIT_CURL_FTP_NO_EPSV</code> | |
| environment variable. Default is false (curl will use EPSV). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.userAgent | |
| </dt> | |
| <dd> | |
| <p> | |
| The HTTP USER_AGENT string presented to an HTTP server. The default | |
| value represents the version of the Git client such as git/1.7.1. | |
| This option allows you to override this value to a more common value | |
| such as Mozilla/4.0. This may be necessary, for instance, if | |
| connecting through a firewall that restricts HTTP connections to a set | |
| of common USER_AGENT strings (but not including those like git/1.7.1). | |
| Can be overridden by the <code>GIT_HTTP_USER_AGENT</code> environment variable. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.followRedirects | |
| </dt> | |
| <dd> | |
| <p> | |
| Whether git should follow HTTP redirects. If set to <code>true</code>, git | |
| will transparently follow any redirect issued by a server it | |
| encounters. If set to <code>false</code>, git will treat all redirects as | |
| errors. If set to <code>initial</code>, git will follow redirects only for | |
| the initial request to a remote, but not for subsequent | |
| follow-up HTTP requests. Since git uses the redirected URL as | |
| the base for the follow-up requests, this is generally | |
| sufficient. The default is <code>initial</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| http.<url>.* | |
| </dt> | |
| <dd> | |
| <p> | |
| Any of the http.* options above can be applied selectively to some URLs. | |
| For a config key to match a URL, each element of the config key is | |
| compared to that of the URL, in the following order: | |
| </p> | |
| <div class="openblock"> | |
| <div class="content"> | |
| <div class="olist arabic"><ol class="arabic"> | |
| <li> | |
| <p> | |
| Scheme (e.g., <code>https</code> in <code>https://example.com/</code>). This field | |
| must match exactly between the config key and the URL. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| Host/domain name (e.g., <code>example.com</code> in <code>https://example.com/</code>). | |
| This field must match between the config key and the URL. It is | |
| possible to specify a <code>*</code> as part of the host name to match all subdomains | |
| at this level. <code>https://*.example.com/</code> for example would match | |
| <code>https://foo.example.com/</code>, but not <code>https://foo.bar.example.com/</code>. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| Port number (e.g., <code>8080</code> in <code>http://example.com:8080/</code>). | |
| This field must match exactly between the config key and the URL. | |
| Omitted port numbers are automatically converted to the correct | |
| default for the scheme before matching. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| Path (e.g., <code>repo.git</code> in <code>https://example.com/repo.git</code>). The | |
| path field of the config key must match the path field of the URL | |
| either exactly or as a prefix of slash-delimited path elements. This means | |
| a config key with path <code>foo/</code> matches URL path <code>foo/bar</code>. A prefix can only | |
| match on a slash (<code>/</code>) boundary. Longer matches take precedence (so a config | |
| key with path <code>foo/bar</code> is a better match to URL path <code>foo/bar</code> than a config | |
| key with just path <code>foo/</code>). | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| User name (e.g., <code>user</code> in <code>https://user@example.com/repo.git</code>). If | |
| the config key has a user name it must match the user name in the | |
| URL exactly. If the config key does not have a user name, that | |
| config key will match a URL with any user name (including none), | |
| but at a lower precedence than a config key with a user name. | |
| </p> | |
| </li> | |
| </ol></div> | |
| </div></div> | |
| <div class="paragraph"><p>The list above is ordered by decreasing precedence; a URL that matches | |
| a config key’s path is preferred to one that matches its user name. For example, | |
| if the URL is <code>https://user@example.com/foo/bar</code> a config key match of | |
| <code>https://example.com/foo</code> will be preferred over a config key match of | |
| <code>https://user@example.com</code>.</p></div> | |
| <div class="paragraph"><p>All URLs are normalized before attempting any matching (the password part, | |
| if embedded in the URL, is always ignored for matching purposes) so that | |
| equivalent URLs that are simply spelled differently will match properly. | |
| Environment variable settings always override any matches. The URLs that are | |
| matched against are those given directly to Git commands. This means any URLs | |
| visited as a result of a redirection do not participate in matching.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| i18n.commitEncoding | |
| </dt> | |
| <dd> | |
| <p> | |
| Character encoding the commit messages are stored in; Git itself | |
| does not care per se, but this information is necessary e.g. when | |
| importing commits from emails or in the gitk graphical history | |
| browser (and possibly in other places in the future or in other | |
| porcelains). See e.g. <a href="git-mailinfo.html">git-mailinfo(1)</a>. Defaults to <em>utf-8</em>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| i18n.logOutputEncoding | |
| </dt> | |
| <dd> | |
| <p> | |
| Character encoding the commit messages are converted to when | |
| running <em>git log</em> and friends. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| imap.folder | |
| </dt> | |
| <dd> | |
| <p> | |
| The folder to drop the mails into, which is typically the Drafts | |
| folder. For example: "INBOX.Drafts", "INBOX/Drafts" or | |
| "[Gmail]/Drafts". Required. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| imap.tunnel | |
| </dt> | |
| <dd> | |
| <p> | |
| Command used to set up a tunnel to the IMAP server through which | |
| commands will be piped instead of using a direct network connection | |
| to the server. Required when imap.host is not set. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| imap.host | |
| </dt> | |
| <dd> | |
| <p> | |
| A URL identifying the server. Use an <code>imap://</code> prefix for non-secure | |
| connections and an <code>imaps://</code> prefix for secure connections. | |
| Ignored when imap.tunnel is set, but required otherwise. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| imap.user | |
| </dt> | |
| <dd> | |
| <p> | |
| The username to use when logging in to the server. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| imap.pass | |
| </dt> | |
| <dd> | |
| <p> | |
| The password to use when logging in to the server. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| imap.port | |
| </dt> | |
| <dd> | |
| <p> | |
| An integer port number to connect to on the server. | |
| Defaults to 143 for imap:// hosts and 993 for imaps:// hosts. | |
| Ignored when imap.tunnel is set. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| imap.sslverify | |
| </dt> | |
| <dd> | |
| <p> | |
| A boolean to enable/disable verification of the server certificate | |
| used by the SSL/TLS connection. Default is <code>true</code>. Ignored when | |
| imap.tunnel is set. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| imap.preformattedHTML | |
| </dt> | |
| <dd> | |
| <p> | |
| A boolean to enable/disable the use of html encoding when sending | |
| a patch. An html encoded patch will be bracketed with <pre> | |
| and have a content type of text/html. Ironically, enabling this | |
| option causes Thunderbird to send the patch as a plain/text, | |
| format=fixed email. Default is <code>false</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| imap.authMethod | |
| </dt> | |
| <dd> | |
| <p> | |
| Specify the authentication method for authenticating with the IMAP server. | |
| If Git was built with the NO_CURL option, or if your curl version is older | |
| than 7.34.0, or if you’re running git-imap-send with the <code>--no-curl</code> | |
| option, the only supported method is <em>CRAM-MD5</em>. If this is not set | |
| then <em>git imap-send</em> uses the basic IMAP plaintext LOGIN command. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| include.path | |
| </dt> | |
| <dt class="hdlist1"> | |
| includeIf.<condition>.path | |
| </dt> | |
| <dd> | |
| <p> | |
| Special variables to include other configuration files. See | |
| the "CONFIGURATION FILE" section in the main | |
| <a href="git-config.html">git-config(1)</a> documentation, | |
| specifically the "Includes" and "Conditional Includes" subsections. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| index.recordEndOfIndexEntries | |
| </dt> | |
| <dd> | |
| <p> | |
| Specifies whether the index file should include an "End Of Index | |
| Entry" section. This reduces index load time on multiprocessor | |
| machines but produces a message "ignoring EOIE extension" when | |
| reading the index using Git versions before 2.20. Defaults to | |
| <em>true</em> if index.threads has been explicitly enabled, <em>false</em> | |
| otherwise. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| index.recordOffsetTable | |
| </dt> | |
| <dd> | |
| <p> | |
| Specifies whether the index file should include an "Index Entry | |
| Offset Table" section. This reduces index load time on | |
| multiprocessor machines but produces a message "ignoring IEOT | |
| extension" when reading the index using Git versions before 2.20. | |
| Defaults to <em>true</em> if index.threads has been explicitly enabled, | |
| <em>false</em> otherwise. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| index.sparse | |
| </dt> | |
| <dd> | |
| <p> | |
| When enabled, write the index using sparse-directory entries. This | |
| has no effect unless <code>core.sparseCheckout</code> and | |
| <code>core.sparseCheckoutCone</code> are both enabled. Defaults to <em>false</em>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| index.threads | |
| </dt> | |
| <dd> | |
| <p> | |
| Specifies the number of threads to spawn when loading the index. | |
| This is meant to reduce index load time on multiprocessor machines. | |
| Specifying 0 or <em>true</em> will cause Git to auto-detect the number of | |
| CPUs and set the number of threads accordingly. Specifying 1 or | |
| <em>false</em> will disable multithreading. Defaults to <em>true</em>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| index.version | |
| </dt> | |
| <dd> | |
| <p> | |
| Specify the version with which new index files should be | |
| initialized. This does not affect existing repositories. | |
| If <code>feature.manyFiles</code> is enabled, then the default is 4. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| index.skipHash | |
| </dt> | |
| <dd> | |
| <p> | |
| When enabled, do not compute the trailing hash for the index file. | |
| This accelerates Git commands that manipulate the index, such as | |
| <code>git add</code>, <code>git commit</code>, or <code>git status</code>. Instead of storing the | |
| checksum, write a trailing set of bytes with value zero, indicating | |
| that the computation was skipped. | |
| </p> | |
| <div class="paragraph"><p>If you enable <code>index.skipHash</code>, then Git clients older than 2.13.0 will | |
| refuse to parse the index and Git clients older than 2.40.0 will report an | |
| error during <code>git fsck</code>.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| init.templateDir | |
| </dt> | |
| <dd> | |
| <p> | |
| Specify the directory from which templates will be copied. | |
| (See the "TEMPLATE DIRECTORY" section of <a href="git-init.html">git-init(1)</a>.) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| init.defaultBranch | |
| </dt> | |
| <dd> | |
| <p> | |
| Allows overriding the default branch name e.g. when initializing | |
| a new repository. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| instaweb.browser | |
| </dt> | |
| <dd> | |
| <p> | |
| Specify the program that will be used to browse your working | |
| repository in gitweb. See <a href="git-instaweb.html">git-instaweb(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| instaweb.httpd | |
| </dt> | |
| <dd> | |
| <p> | |
| The HTTP daemon command-line to start gitweb on your working | |
| repository. See <a href="git-instaweb.html">git-instaweb(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| instaweb.local | |
| </dt> | |
| <dd> | |
| <p> | |
| If true the web server started by <a href="git-instaweb.html">git-instaweb(1)</a> will | |
| be bound to the local IP (127.0.0.1). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| instaweb.modulePath | |
| </dt> | |
| <dd> | |
| <p> | |
| The default module path for <a href="git-instaweb.html">git-instaweb(1)</a> to use | |
| instead of /usr/lib/apache2/modules. Only used if httpd | |
| is Apache. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| instaweb.port | |
| </dt> | |
| <dd> | |
| <p> | |
| The port number to bind the gitweb httpd to. See | |
| <a href="git-instaweb.html">git-instaweb(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| interactive.singleKey | |
| </dt> | |
| <dd> | |
| <p> | |
| In interactive commands, allow the user to provide one-letter | |
| input with a single key (i.e., without hitting enter). | |
| Currently this is used by the <code>--patch</code> mode of | |
| <a href="git-add.html">git-add(1)</a>, <a href="git-checkout.html">git-checkout(1)</a>, | |
| <a href="git-restore.html">git-restore(1)</a>, <a href="git-commit.html">git-commit(1)</a>, | |
| <a href="git-reset.html">git-reset(1)</a>, and <a href="git-stash.html">git-stash(1)</a>. Note that this | |
| setting is silently ignored if portable keystroke input | |
| is not available; requires the Perl module Term::ReadKey. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| interactive.diffFilter | |
| </dt> | |
| <dd> | |
| <p> | |
| When an interactive command (such as <code>git add --patch</code>) shows | |
| a colorized diff, git will pipe the diff through the shell | |
| command defined by this configuration variable. The command may | |
| mark up the diff further for human consumption, provided that it | |
| retains a one-to-one correspondence with the lines in the | |
| original diff. Defaults to disabled (no filtering). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| log.abbrevCommit | |
| </dt> | |
| <dd> | |
| <p> | |
| If true, makes <a href="git-log.html">git-log(1)</a>, <a href="git-show.html">git-show(1)</a>, and | |
| <a href="git-whatchanged.html">git-whatchanged(1)</a> assume <code>--abbrev-commit</code>. You may | |
| override this option with <code>--no-abbrev-commit</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| log.date | |
| </dt> | |
| <dd> | |
| <p> | |
| Set the default date-time mode for the <em>log</em> command. | |
| Setting a value for log.date is similar to using <em>git log</em>'s | |
| <code>--date</code> option. See <a href="git-log.html">git-log(1)</a> for details. | |
| </p> | |
| <div class="paragraph"><p>If the format is set to "auto:foo" and the pager is in use, format | |
| "foo" will be used for the date format. Otherwise, "default" will | |
| be used.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| log.decorate | |
| </dt> | |
| <dd> | |
| <p> | |
| Print out the ref names of any commits that are shown by the log | |
| command. If <em>short</em> is specified, the ref name prefixes <em>refs/heads/</em>, | |
| <em>refs/tags/</em> and <em>refs/remotes/</em> will not be printed. If <em>full</em> is | |
| specified, the full ref name (including prefix) will be printed. | |
| If <em>auto</em> is specified, then if the output is going to a terminal, | |
| the ref names are shown as if <em>short</em> were given, otherwise no ref | |
| names are shown. This is the same as the <code>--decorate</code> option | |
| of the <code>git log</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| log.initialDecorationSet | |
| </dt> | |
| <dd> | |
| <p> | |
| By default, <code>git log</code> only shows decorations for certain known ref | |
| namespaces. If <em>all</em> is specified, then show all refs as | |
| decorations. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| log.excludeDecoration | |
| </dt> | |
| <dd> | |
| <p> | |
| Exclude the specified patterns from the log decorations. This is | |
| similar to the <code>--decorate-refs-exclude</code> command-line option, but | |
| the config option can be overridden by the <code>--decorate-refs</code> | |
| option. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| log.diffMerges | |
| </dt> | |
| <dd> | |
| <p> | |
| Set diff format to be used when <code>--diff-merges=on</code> is | |
| specified, see <code>--diff-merges</code> in <a href="git-log.html">git-log(1)</a> for | |
| details. Defaults to <code>separate</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| log.follow | |
| </dt> | |
| <dd> | |
| <p> | |
| If <code>true</code>, <code>git log</code> will act as if the <code>--follow</code> option was used when | |
| a single <path> is given. This has the same limitations as <code>--follow</code>, | |
| i.e. it cannot be used to follow multiple files and does not work well | |
| on non-linear history. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| log.graphColors | |
| </dt> | |
| <dd> | |
| <p> | |
| A list of colors, separated by commas, that can be used to draw | |
| history lines in <code>git log --graph</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| log.showRoot | |
| </dt> | |
| <dd> | |
| <p> | |
| If true, the initial commit will be shown as a big creation event. | |
| This is equivalent to a diff against an empty tree. | |
| Tools like <a href="git-log.html">git-log(1)</a> or <a href="git-whatchanged.html">git-whatchanged(1)</a>, which | |
| normally hide the root commit will now show it. True by default. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| log.showSignature | |
| </dt> | |
| <dd> | |
| <p> | |
| If true, makes <a href="git-log.html">git-log(1)</a>, <a href="git-show.html">git-show(1)</a>, and | |
| <a href="git-whatchanged.html">git-whatchanged(1)</a> assume <code>--show-signature</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| log.mailmap | |
| </dt> | |
| <dd> | |
| <p> | |
| If true, makes <a href="git-log.html">git-log(1)</a>, <a href="git-show.html">git-show(1)</a>, and | |
| <a href="git-whatchanged.html">git-whatchanged(1)</a> assume <code>--use-mailmap</code>, otherwise | |
| assume <code>--no-use-mailmap</code>. True by default. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| lsrefs.unborn | |
| </dt> | |
| <dd> | |
| <p> | |
| May be "advertise" (the default), "allow", or "ignore". If "advertise", | |
| the server will respond to the client sending "unborn" (as described in | |
| <a href="gitprotocol-v2.html">gitprotocol-v2(5)</a>) and will advertise support for this feature during the | |
| protocol v2 capability advertisement. "allow" is the same as | |
| "advertise" except that the server will not advertise support for this | |
| feature; this is useful for load-balanced servers that cannot be | |
| updated atomically (for example), since the administrator could | |
| configure "allow", then after a delay, configure "advertise". | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| mailinfo.scissors | |
| </dt> | |
| <dd> | |
| <p> | |
| If true, makes <a href="git-mailinfo.html">git-mailinfo(1)</a> (and therefore | |
| <a href="git-am.html">git-am(1)</a>) act by default as if the --scissors option | |
| was provided on the command-line. When active, this feature | |
| removes everything from the message body before a scissors | |
| line (i.e. consisting mainly of ">8", "8<" and "-"). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| mailmap.file | |
| </dt> | |
| <dd> | |
| <p> | |
| The location of an augmenting mailmap file. The default | |
| mailmap, located in the root of the repository, is loaded | |
| first, then the mailmap file pointed to by this variable. | |
| The location of the mailmap file may be in a repository | |
| subdirectory, or somewhere outside of the repository itself. | |
| See <a href="git-shortlog.html">git-shortlog(1)</a> and <a href="git-blame.html">git-blame(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| mailmap.blob | |
| </dt> | |
| <dd> | |
| <p> | |
| Like <code>mailmap.file</code>, but consider the value as a reference to a | |
| blob in the repository. If both <code>mailmap.file</code> and | |
| <code>mailmap.blob</code> are given, both are parsed, with entries from | |
| <code>mailmap.file</code> taking precedence. In a bare repository, this | |
| defaults to <code>HEAD:.mailmap</code>. In a non-bare repository, it | |
| defaults to empty. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| maintenance.auto | |
| </dt> | |
| <dd> | |
| <p> | |
| This boolean config option controls whether some commands run | |
| <code>git maintenance run --auto</code> after doing their normal work. Defaults | |
| to true. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| maintenance.strategy | |
| </dt> | |
| <dd> | |
| <p> | |
| This string config option provides a way to specify one of a few | |
| recommended schedules for background maintenance. This only affects | |
| which tasks are run during <code>git maintenance run --schedule=X</code> | |
| commands, provided no <code>--task=<task></code> arguments are provided. | |
| Further, if a <code>maintenance.<task>.schedule</code> config value is set, | |
| then that value is used instead of the one provided by | |
| <code>maintenance.strategy</code>. The possible strategy strings are: | |
| </p> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| <code>none</code>: This default setting implies no tasks are run at any schedule. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>incremental</code>: This setting optimizes for performing small maintenance | |
| activities that do not delete any data. This does not schedule the <code>gc</code> | |
| task, but runs the <code>prefetch</code> and <code>commit-graph</code> tasks hourly, the | |
| <code>loose-objects</code> and <code>incremental-repack</code> tasks daily, and the <code>pack-refs</code> | |
| task weekly. | |
| </p> | |
| </li> | |
| </ul></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| maintenance.<task>.enabled | |
| </dt> | |
| <dd> | |
| <p> | |
| This boolean config option controls whether the maintenance task | |
| with name <code><task></code> is run when no <code>--task</code> option is specified to | |
| <code>git maintenance run</code>. These config values are ignored if a | |
| <code>--task</code> option exists. By default, only <code>maintenance.gc.enabled</code> | |
| is true. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| maintenance.<task>.schedule | |
| </dt> | |
| <dd> | |
| <p> | |
| This config option controls whether or not the given <code><task></code> runs | |
| during a <code>git maintenance run --schedule=<frequency></code> command. The | |
| value must be one of "hourly", "daily", or "weekly". | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| maintenance.commit-graph.auto | |
| </dt> | |
| <dd> | |
| <p> | |
| This integer config option controls how often the <code>commit-graph</code> task | |
| should be run as part of <code>git maintenance run --auto</code>. If zero, then | |
| the <code>commit-graph</code> task will not run with the <code>--auto</code> option. A | |
| negative value will force the task to run every time. Otherwise, a | |
| positive value implies the command should run when the number of | |
| reachable commits that are not in the commit-graph file is at least | |
| the value of <code>maintenance.commit-graph.auto</code>. The default value is | |
| 100. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| maintenance.loose-objects.auto | |
| </dt> | |
| <dd> | |
| <p> | |
| This integer config option controls how often the <code>loose-objects</code> task | |
| should be run as part of <code>git maintenance run --auto</code>. If zero, then | |
| the <code>loose-objects</code> task will not run with the <code>--auto</code> option. A | |
| negative value will force the task to run every time. Otherwise, a | |
| positive value implies the command should run when the number of | |
| loose objects is at least the value of <code>maintenance.loose-objects.auto</code>. | |
| The default value is 100. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| maintenance.incremental-repack.auto | |
| </dt> | |
| <dd> | |
| <p> | |
| This integer config option controls how often the <code>incremental-repack</code> | |
| task should be run as part of <code>git maintenance run --auto</code>. If zero, | |
| then the <code>incremental-repack</code> task will not run with the <code>--auto</code> | |
| option. A negative value will force the task to run every time. | |
| Otherwise, a positive value implies the command should run when the | |
| number of pack-files not in the multi-pack-index is at least the value | |
| of <code>maintenance.incremental-repack.auto</code>. The default value is 10. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| man.viewer | |
| </dt> | |
| <dd> | |
| <p> | |
| Specify the programs that may be used to display help in the | |
| <em>man</em> format. See <a href="git-help.html">git-help(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| man.<tool>.cmd | |
| </dt> | |
| <dd> | |
| <p> | |
| Specify the command to invoke the specified man viewer. The | |
| specified command is evaluated in shell with the man page | |
| passed as an argument. (See <a href="git-help.html">git-help(1)</a>.) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| man.<tool>.path | |
| </dt> | |
| <dd> | |
| <p> | |
| Override the path for the given tool that may be used to | |
| display help in the <em>man</em> format. See <a href="git-help.html">git-help(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| merge.conflictStyle | |
| </dt> | |
| <dd> | |
| <p> | |
| Specify the style in which conflicted hunks are written out to | |
| working tree files upon merge. The default is "merge", which | |
| shows a <code><<<<<<<</code> conflict marker, changes made by one side, | |
| a <code>=======</code> marker, changes made by the other side, and then | |
| a <code>>>>>>>></code> marker. An alternate style, "diff3", adds a <code>|||||||</code> | |
| marker and the original text before the <code>=======</code> marker. The | |
| "merge" style tends to produce smaller conflict regions than diff3, | |
| both because of the exclusion of the original text, and because | |
| when a subset of lines match on the two sides, they are just pulled | |
| out of the conflict region. Another alternate style, "zdiff3", is | |
| similar to diff3 but removes matching lines on the two sides from | |
| the conflict region when those matching lines appear near either | |
| the beginning or end of a conflict region. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| merge.defaultToUpstream | |
| </dt> | |
| <dd> | |
| <p> | |
| If merge is called without any commit argument, merge the upstream | |
| branches configured for the current branch by using their last | |
| observed values stored in their remote-tracking branches. | |
| The values of the <code>branch.<current branch>.merge</code> that name the | |
| branches at the remote named by <code>branch.<current branch>.remote</code> | |
| are consulted, and then they are mapped via <code>remote.<remote>.fetch</code> | |
| to their corresponding remote-tracking branches, and the tips of | |
| these tracking branches are merged. Defaults to true. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| merge.ff | |
| </dt> | |
| <dd> | |
| <p> | |
| By default, Git does not create an extra merge commit when merging | |
| a commit that is a descendant of the current commit. Instead, the | |
| tip of the current branch is fast-forwarded. When set to <code>false</code>, | |
| this variable tells Git to create an extra merge commit in such | |
| a case (equivalent to giving the <code>--no-ff</code> option from the command | |
| line). When set to <code>only</code>, only such fast-forward merges are | |
| allowed (equivalent to giving the <code>--ff-only</code> option from the | |
| command line). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| merge.verifySignatures | |
| </dt> | |
| <dd> | |
| <p> | |
| If true, this is equivalent to the --verify-signatures command | |
| line option. See <a href="git-merge.html">git-merge(1)</a> for details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| merge.branchdesc | |
| </dt> | |
| <dd> | |
| <p> | |
| In addition to branch names, populate the log message with | |
| the branch description text associated with them. Defaults | |
| to false. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| merge.log | |
| </dt> | |
| <dd> | |
| <p> | |
| In addition to branch names, populate the log message with at | |
| most the specified number of one-line descriptions from the | |
| actual commits that are being merged. Defaults to false, and | |
| true is a synonym for 20. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| merge.suppressDest | |
| </dt> | |
| <dd> | |
| <p> | |
| By adding a glob that matches the names of integration | |
| branches to this multi-valued configuration variable, the | |
| default merge message computed for merges into these | |
| integration branches will omit "into <branch name>" from | |
| its title. | |
| </p> | |
| <div class="paragraph"><p>An element with an empty value can be used to clear the list | |
| of globs accumulated from previous configuration entries. | |
| When there is no <code>merge.suppressDest</code> variable defined, the | |
| default value of <code>master</code> is used for backward compatibility.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| merge.renameLimit | |
| </dt> | |
| <dd> | |
| <p> | |
| The number of files to consider in the exhaustive portion of | |
| rename detection during a merge. If not specified, defaults | |
| to the value of diff.renameLimit. If neither | |
| merge.renameLimit nor diff.renameLimit are specified, | |
| currently defaults to 7000. This setting has no effect if | |
| rename detection is turned off. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| merge.renames | |
| </dt> | |
| <dd> | |
| <p> | |
| Whether Git detects renames. If set to "false", rename detection | |
| is disabled. If set to "true", basic rename detection is enabled. | |
| Defaults to the value of diff.renames. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| merge.directoryRenames | |
| </dt> | |
| <dd> | |
| <p> | |
| Whether Git detects directory renames, affecting what happens at | |
| merge time to new files added to a directory on one side of | |
| history when that directory was renamed on the other side of | |
| history. If merge.directoryRenames is set to "false", directory | |
| rename detection is disabled, meaning that such new files will be | |
| left behind in the old directory. If set to "true", directory | |
| rename detection is enabled, meaning that such new files will be | |
| moved into the new directory. If set to "conflict", a conflict | |
| will be reported for such paths. If merge.renames is false, | |
| merge.directoryRenames is ignored and treated as false. Defaults | |
| to "conflict". | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| merge.renormalize | |
| </dt> | |
| <dd> | |
| <p> | |
| Tell Git that canonical representation of files in the | |
| repository has changed over time (e.g. earlier commits record | |
| text files with CRLF line endings, but recent ones use LF line | |
| endings). In such a repository, Git can convert the data | |
| recorded in commits to a canonical form before performing a | |
| merge to reduce unnecessary conflicts. For more information, | |
| see section "Merging branches with differing checkin/checkout | |
| attributes" in <a href="gitattributes.html">gitattributes(5)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| merge.stat | |
| </dt> | |
| <dd> | |
| <p> | |
| Whether to print the diffstat between ORIG_HEAD and the merge result | |
| at the end of the merge. True by default. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| merge.autoStash | |
| </dt> | |
| <dd> | |
| <p> | |
| When set to true, automatically create a temporary stash entry | |
| before the operation begins, and apply it after the operation | |
| ends. This means that you can run merge on a dirty worktree. | |
| However, use with care: the final stash application after a | |
| successful merge might result in non-trivial conflicts. | |
| This option can be overridden by the <code>--no-autostash</code> and | |
| <code>--autostash</code> options of <a href="git-merge.html">git-merge(1)</a>. | |
| Defaults to false. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| merge.tool | |
| </dt> | |
| <dd> | |
| <p> | |
| Controls which merge tool is used by <a href="git-mergetool.html">git-mergetool(1)</a>. | |
| The list below shows the valid built-in values. | |
| Any other value is treated as a custom merge tool and requires | |
| that a corresponding mergetool.<tool>.cmd variable is defined. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| merge.guitool | |
| </dt> | |
| <dd> | |
| <p> | |
| Controls which merge tool is used by <a href="git-mergetool.html">git-mergetool(1)</a> when the | |
| -g/--gui flag is specified. The list below shows the valid built-in values. | |
| Any other value is treated as a custom merge tool and requires that a | |
| corresponding mergetool.<guitool>.cmd variable is defined. | |
| </p> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| <code>araxis</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Araxis Merge (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>bc</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Beyond Compare (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>bc3</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Beyond Compare (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>bc4</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Beyond Compare (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>codecompare</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Code Compare (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>deltawalker</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use DeltaWalker (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>diffmerge</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use DiffMerge (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>diffuse</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Diffuse (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>ecmerge</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use ECMerge (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>emerge</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Emacs' Emerge | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>examdiff</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use ExamDiff Pro (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>guiffy</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Guiffy’s Diff Tool (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>gvimdiff</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use gVim (requires a graphical session) with a custom layout (see <code>git help mergetool</code>'s <code>BACKEND SPECIFIC HINTS</code> section) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>gvimdiff1</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use gVim (requires a graphical session) with a 2 panes layout (LOCAL and REMOTE) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>gvimdiff2</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use gVim (requires a graphical session) with a 3 panes layout (LOCAL, MERGED and REMOTE) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>gvimdiff3</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use gVim (requires a graphical session) where only the MERGED file is shown | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>kdiff3</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use KDiff3 (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>meld</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Meld (requires a graphical session) with optional <code>auto merge</code> (see <code>git help mergetool</code>'s <code>CONFIGURATION</code> section) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>nvimdiff</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Neovim with a custom layout (see <code>git help mergetool</code>'s <code>BACKEND SPECIFIC HINTS</code> section) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>nvimdiff1</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Neovim with a 2 panes layout (LOCAL and REMOTE) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>nvimdiff2</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Neovim with a 3 panes layout (LOCAL, MERGED and REMOTE) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>nvimdiff3</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Neovim where only the MERGED file is shown | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>opendiff</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use FileMerge (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>p4merge</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use HelixCore P4Merge (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>smerge</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Sublime Merge (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>tkdiff</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use TkDiff (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>tortoisemerge</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use TortoiseMerge (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>vimdiff</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Vim with a custom layout (see <code>git help mergetool</code>'s <code>BACKEND SPECIFIC HINTS</code> section) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>vimdiff1</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Vim with a 2 panes layout (LOCAL and REMOTE) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>vimdiff2</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Vim with a 3 panes layout (LOCAL, MERGED and REMOTE) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>vimdiff3</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use Vim where only the MERGED file is shown | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>winmerge</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use WinMerge (requires a graphical session) | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| <code>xxdiff</code> | |
| </dt> | |
| <dd> | |
| <p> | |
| Use xxdiff (requires a graphical session) | |
| </p> | |
| </dd> | |
| </dl></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| merge.verbosity | |
| </dt> | |
| <dd> | |
| <p> | |
| Controls the amount of output shown by the recursive merge | |
| strategy. Level 0 outputs nothing except a final error | |
| message if conflicts were detected. Level 1 outputs only | |
| conflicts, 2 outputs conflicts and file changes. Level 5 and | |
| above outputs debugging information. The default is level 2. | |
| Can be overridden by the <code>GIT_MERGE_VERBOSITY</code> environment variable. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| merge.<driver>.name | |
| </dt> | |
| <dd> | |
| <p> | |
| Defines a human-readable name for a custom low-level | |
| merge driver. See <a href="gitattributes.html">gitattributes(5)</a> for details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| merge.<driver>.driver | |
| </dt> | |
| <dd> | |
| <p> | |
| Defines the command that implements a custom low-level | |
| merge driver. See <a href="gitattributes.html">gitattributes(5)</a> for details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| merge.<driver>.recursive | |
| </dt> | |
| <dd> | |
| <p> | |
| Names a low-level merge driver to be used when | |
| performing an internal merge between common ancestors. | |
| See <a href="gitattributes.html">gitattributes(5)</a> for details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| mergetool.<tool>.path | |
| </dt> | |
| <dd> | |
| <p> | |
| Override the path for the given tool. This is useful in case | |
| your tool is not in the PATH. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| mergetool.<tool>.cmd | |
| </dt> | |
| <dd> | |
| <p> | |
| Specify the command to invoke the specified merge tool. The | |
| specified command is evaluated in shell with the following | |
| variables available: <em>BASE</em> is the name of a temporary file | |
| containing the common base of the files to be merged, if available; | |
| <em>LOCAL</em> is the name of a temporary file containing the contents of | |
| the file on the current branch; <em>REMOTE</em> is the name of a temporary | |
| file containing the contents of the file from the branch being | |
| merged; <em>MERGED</em> contains the name of the file to which the merge | |
| tool should write the results of a successful merge. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| mergetool.<tool>.hideResolved | |
| </dt> | |
| <dd> | |
| <p> | |
| Allows the user to override the global <code>mergetool.hideResolved</code> value | |
| for a specific tool. See <code>mergetool.hideResolved</code> for the full | |
| description. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| mergetool.<tool>.trustExitCode | |
| </dt> | |
| <dd> | |
| <p> | |
| For a custom merge command, specify whether the exit code of | |
| the merge command can be used to determine whether the merge was | |
| successful. If this is not set to true then the merge target file | |
| timestamp is checked, and the merge is assumed to have been successful | |
| if the file has been updated; otherwise, the user is prompted to | |
| indicate the success of the merge. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| mergetool.meld.hasOutput | |
| </dt> | |
| <dd> | |
| <p> | |
| Older versions of <code>meld</code> do not support the <code>--output</code> option. | |
| Git will attempt to detect whether <code>meld</code> supports <code>--output</code> | |
| by inspecting the output of <code>meld --help</code>. Configuring | |
| <code>mergetool.meld.hasOutput</code> will make Git skip these checks and | |
| use the configured value instead. Setting <code>mergetool.meld.hasOutput</code> | |
| to <code>true</code> tells Git to unconditionally use the <code>--output</code> option, | |
| and <code>false</code> avoids using <code>--output</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| mergetool.meld.useAutoMerge | |
| </dt> | |
| <dd> | |
| <p> | |
| When the <code>--auto-merge</code> is given, meld will merge all non-conflicting | |
| parts automatically, highlight the conflicting parts, and wait for | |
| user decision. Setting <code>mergetool.meld.useAutoMerge</code> to <code>true</code> tells | |
| Git to unconditionally use the <code>--auto-merge</code> option with <code>meld</code>. | |
| Setting this value to <code>auto</code> makes git detect whether <code>--auto-merge</code> | |
| is supported and will only use <code>--auto-merge</code> when available. A | |
| value of <code>false</code> avoids using <code>--auto-merge</code> altogether, and is the | |
| default value. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| mergetool.vimdiff.layout | |
| </dt> | |
| <dd> | |
| <p> | |
| The vimdiff backend uses this variable to control how its split | |
| windows appear. Applies even if you are using Neovim (<code>nvim</code>) or | |
| gVim (<code>gvim</code>) as the merge tool. See BACKEND SPECIFIC HINTS section | |
| in <a href="git-mergetool.html">git-mergetool(1)</a>. | |
| for details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| mergetool.hideResolved | |
| </dt> | |
| <dd> | |
| <p> | |
| During a merge, Git will automatically resolve as many conflicts as | |
| possible and write the <em>MERGED</em> file containing conflict markers around | |
| any conflicts that it cannot resolve; <em>LOCAL</em> and <em>REMOTE</em> normally | |
| represent the versions of the file from before Git’s conflict | |
| resolution. This flag causes <em>LOCAL</em> and <em>REMOTE</em> to be overwritten so | |
| that only the unresolved conflicts are presented to the merge tool. Can | |
| be configured per-tool via the <code>mergetool.<tool>.hideResolved</code> | |
| configuration variable. Defaults to <code>false</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| mergetool.keepBackup | |
| </dt> | |
| <dd> | |
| <p> | |
| After performing a merge, the original file with conflict markers | |
| can be saved as a file with a <code>.orig</code> extension. If this variable | |
| is set to <code>false</code> then this file is not preserved. Defaults to | |
| <code>true</code> (i.e. keep the backup files). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| mergetool.keepTemporaries | |
| </dt> | |
| <dd> | |
| <p> | |
| When invoking a custom merge tool, Git uses a set of temporary | |
| files to pass to the tool. If the tool returns an error and this | |
| variable is set to <code>true</code>, then these temporary files will be | |
| preserved; otherwise, they will be removed after the tool has | |
| exited. Defaults to <code>false</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| mergetool.writeToTemp | |
| </dt> | |
| <dd> | |
| <p> | |
| Git writes temporary <em>BASE</em>, <em>LOCAL</em>, and <em>REMOTE</em> versions of | |
| conflicting files in the worktree by default. Git will attempt | |
| to use a temporary directory for these files when set <code>true</code>. | |
| Defaults to <code>false</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| mergetool.prompt | |
| </dt> | |
| <dd> | |
| <p> | |
| Prompt before each invocation of the merge resolution program. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| mergetool.guiDefault | |
| </dt> | |
| <dd> | |
| <p> | |
| Set <code>true</code> to use the <code>merge.guitool</code> by default (equivalent to | |
| specifying the <code>--gui</code> argument), or <code>auto</code> to select <code>merge.guitool</code> | |
| or <code>merge.tool</code> depending on the presence of a <code>DISPLAY</code> environment | |
| variable value. The default is <code>false</code>, where the <code>--gui</code> argument | |
| must be provided explicitly for the <code>merge.guitool</code> to be used. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| notes.mergeStrategy | |
| </dt> | |
| <dd> | |
| <p> | |
| Which merge strategy to choose by default when resolving notes | |
| conflicts. Must be one of <code>manual</code>, <code>ours</code>, <code>theirs</code>, <code>union</code>, or | |
| <code>cat_sort_uniq</code>. Defaults to <code>manual</code>. See the "NOTES MERGE STRATEGIES" | |
| section of <a href="git-notes.html">git-notes(1)</a> for more information on each strategy. | |
| </p> | |
| <div class="paragraph"><p>This setting can be overridden by passing the <code>--strategy</code> option to | |
| <a href="git-notes.html">git-notes(1)</a>.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| notes.<name>.mergeStrategy | |
| </dt> | |
| <dd> | |
| <p> | |
| Which merge strategy to choose when doing a notes merge into | |
| refs/notes/<name>. This overrides the more general | |
| "notes.mergeStrategy". See the "NOTES MERGE STRATEGIES" section in | |
| <a href="git-notes.html">git-notes(1)</a> for more information on the available strategies. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| notes.displayRef | |
| </dt> | |
| <dd> | |
| <p> | |
| Which ref (or refs, if a glob or specified more than once), in | |
| addition to the default set by <code>core.notesRef</code> or | |
| <code>GIT_NOTES_REF</code>, to read notes from when showing commit | |
| messages with the <em>git log</em> family of commands. | |
| </p> | |
| <div class="paragraph"><p>This setting can be overridden with the <code>GIT_NOTES_DISPLAY_REF</code> | |
| environment variable, which must be a colon separated list of refs or | |
| globs.</p></div> | |
| <div class="paragraph"><p>A warning will be issued for refs that do not exist, | |
| but a glob that does not match any refs is silently ignored.</p></div> | |
| <div class="paragraph"><p>This setting can be disabled by the <code>--no-notes</code> option to the <em>git | |
| log</em> family of commands, or by the <code>--notes=<ref></code> option accepted by | |
| those commands.</p></div> | |
| <div class="paragraph"><p>The effective value of "core.notesRef" (possibly overridden by | |
| GIT_NOTES_REF) is also implicitly added to the list of refs to be | |
| displayed.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| notes.rewrite.<command> | |
| </dt> | |
| <dd> | |
| <p> | |
| When rewriting commits with <command> (currently <code>amend</code> or | |
| <code>rebase</code>), if this variable is <code>false</code>, git will not copy | |
| notes from the original to the rewritten commit. Defaults to | |
| <code>true</code>. See also "<code>notes.rewriteRef</code>" below. | |
| </p> | |
| <div class="paragraph"><p>This setting can be overridden with the <code>GIT_NOTES_REWRITE_REF</code> | |
| environment variable, which must be a colon separated list of refs or | |
| globs.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| notes.rewriteMode | |
| </dt> | |
| <dd> | |
| <p> | |
| When copying notes during a rewrite (see the | |
| "notes.rewrite.<command>" option), determines what to do if | |
| the target commit already has a note. Must be one of | |
| <code>overwrite</code>, <code>concatenate</code>, <code>cat_sort_uniq</code>, or <code>ignore</code>. | |
| Defaults to <code>concatenate</code>. | |
| </p> | |
| <div class="paragraph"><p>This setting can be overridden with the <code>GIT_NOTES_REWRITE_MODE</code> | |
| environment variable.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| notes.rewriteRef | |
| </dt> | |
| <dd> | |
| <p> | |
| When copying notes during a rewrite, specifies the (fully | |
| qualified) ref whose notes should be copied. May be a glob, | |
| in which case notes in all matching refs will be copied. You | |
| may also specify this configuration several times. | |
| </p> | |
| <div class="paragraph"><p>Does not have a default value; you must configure this variable to | |
| enable note rewriting. Set it to <code>refs/notes/commits</code> to enable | |
| rewriting for the default commit notes.</p></div> | |
| <div class="paragraph"><p>Can be overridden with the <code>GIT_NOTES_REWRITE_REF</code> environment variable. | |
| See <code>notes.rewrite.<command></code> above for a further description of its format.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pack.window | |
| </dt> | |
| <dd> | |
| <p> | |
| The size of the window used by <a href="git-pack-objects.html">git-pack-objects(1)</a> when no | |
| window size is given on the command line. Defaults to 10. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pack.depth | |
| </dt> | |
| <dd> | |
| <p> | |
| The maximum delta depth used by <a href="git-pack-objects.html">git-pack-objects(1)</a> when no | |
| maximum depth is given on the command line. Defaults to 50. | |
| Maximum value is 4095. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pack.windowMemory | |
| </dt> | |
| <dd> | |
| <p> | |
| The maximum size of memory that is consumed by each thread | |
| in <a href="git-pack-objects.html">git-pack-objects(1)</a> for pack window memory when | |
| no limit is given on the command line. The value can be | |
| suffixed with "k", "m", or "g". When left unconfigured (or | |
| set explicitly to 0), there will be no limit. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pack.compression | |
| </dt> | |
| <dd> | |
| <p> | |
| An integer -1..9, indicating the compression level for objects | |
| in a pack file. -1 is the zlib default. 0 means no | |
| compression, and 1..9 are various speed/size tradeoffs, 9 being | |
| slowest. If not set, defaults to core.compression. If that is | |
| not set, defaults to -1, the zlib default, which is "a default | |
| compromise between speed and compression (currently equivalent | |
| to level 6)." | |
| </p> | |
| <div class="paragraph"><p>Note that changing the compression level will not automatically recompress | |
| all existing objects. You can force recompression by passing the -F option | |
| to <a href="git-repack.html">git-repack(1)</a>.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pack.allowPackReuse | |
| </dt> | |
| <dd> | |
| <p> | |
| When true or "single", and when reachability bitmaps are | |
| enabled, pack-objects will try to send parts of the bitmapped | |
| packfile verbatim. When "multi", and when a multi-pack | |
| reachability bitmap is available, pack-objects will try to send | |
| parts of all packs in the MIDX. | |
| </p> | |
| <div class="literalblock"> | |
| <div class="content"> | |
| <pre><code>If only a single pack bitmap is available, and | |
| `pack.allowPackReuse` is set to "multi", reuse parts of just the | |
| bitmapped packfile. This can reduce memory and CPU usage to | |
| serve fetches, but might result in sending a slightly larger | |
| pack. Defaults to true.</code></pre> | |
| </div></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pack.island | |
| </dt> | |
| <dd> | |
| <p> | |
| An extended regular expression configuring a set of delta | |
| islands. See "DELTA ISLANDS" in <a href="git-pack-objects.html">git-pack-objects(1)</a> | |
| for details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pack.islandCore | |
| </dt> | |
| <dd> | |
| <p> | |
| Specify an island name which gets to have its objects be | |
| packed first. This creates a kind of pseudo-pack at the front | |
| of one pack, so that the objects from the specified island are | |
| hopefully faster to copy into any pack that should be served | |
| to a user requesting these objects. In practice this means | |
| that the island specified should likely correspond to what is | |
| the most commonly cloned in the repo. See also "DELTA ISLANDS" | |
| in <a href="git-pack-objects.html">git-pack-objects(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pack.deltaCacheSize | |
| </dt> | |
| <dd> | |
| <p> | |
| The maximum memory in bytes used for caching deltas in | |
| <a href="git-pack-objects.html">git-pack-objects(1)</a> before writing them out to a pack. | |
| This cache is used to speed up the writing object phase by not | |
| having to recompute the final delta result once the best match | |
| for all objects is found. Repacking large repositories on machines | |
| which are tight with memory might be badly impacted by this though, | |
| especially if this cache pushes the system into swapping. | |
| A value of 0 means no limit. The smallest size of 1 byte may be | |
| used to virtually disable this cache. Defaults to 256 MiB. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pack.deltaCacheLimit | |
| </dt> | |
| <dd> | |
| <p> | |
| The maximum size of a delta, that is cached in | |
| <a href="git-pack-objects.html">git-pack-objects(1)</a>. This cache is used to speed up the | |
| writing object phase by not having to recompute the final delta | |
| result once the best match for all objects is found. | |
| Defaults to 1000. Maximum value is 65535. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pack.threads | |
| </dt> | |
| <dd> | |
| <p> | |
| Specifies the number of threads to spawn when searching for best | |
| delta matches. This requires that <a href="git-pack-objects.html">git-pack-objects(1)</a> | |
| be compiled with pthreads otherwise this option is ignored with a | |
| warning. This is meant to reduce packing time on multiprocessor | |
| machines. The required amount of memory for the delta search window | |
| is however multiplied by the number of threads. | |
| Specifying 0 will cause Git to auto-detect the number of CPUs | |
| and set the number of threads accordingly. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pack.indexVersion | |
| </dt> | |
| <dd> | |
| <p> | |
| Specify the default pack index version. Valid values are 1 for | |
| legacy pack index used by Git versions prior to 1.5.2, and 2 for | |
| the new pack index with capabilities for packs larger than 4 GB | |
| as well as proper protection against the repacking of corrupted | |
| packs. Version 2 is the default. Note that version 2 is enforced | |
| and this config option is ignored whenever the corresponding pack is | |
| larger than 2 GB. | |
| </p> | |
| <div class="paragraph"><p>If you have an old Git that does not understand the version 2 <code>*.idx</code> file, | |
| cloning or fetching over a non-native protocol (e.g. "http") | |
| that will copy both <code>*.pack</code> file and corresponding <code>*.idx</code> file from the | |
| other side may give you a repository that cannot be accessed with your | |
| older version of Git. If the <code>*.pack</code> file is smaller than 2 GB, however, | |
| you can use <a href="git-index-pack.html">git-index-pack(1)</a> on the *.pack file to regenerate | |
| the <code>*.idx</code> file.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pack.packSizeLimit | |
| </dt> | |
| <dd> | |
| <p> | |
| The maximum size of a pack. This setting only affects | |
| packing to a file when repacking, i.e. the git:// protocol | |
| is unaffected. It can be overridden by the <code>--max-pack-size</code> | |
| option of <a href="git-repack.html">git-repack(1)</a>. Reaching this limit results | |
| in the creation of multiple packfiles. | |
| </p> | |
| <div class="paragraph"><p>Note that this option is rarely useful, and may result in a larger total | |
| on-disk size (because Git will not store deltas between packs) and | |
| worse runtime performance (object lookup within multiple packs is | |
| slower than a single pack, and optimizations like reachability bitmaps | |
| cannot cope with multiple packs).</p></div> | |
| <div class="paragraph"><p>If you need to actively run Git using smaller packfiles (e.g., because your | |
| filesystem does not support large files), this option may help. But if | |
| your goal is to transmit a packfile over a medium that supports limited | |
| sizes (e.g., removable media that cannot store the whole repository), | |
| you are likely better off creating a single large packfile and splitting | |
| it using a generic multi-volume archive tool (e.g., Unix <code>split</code>).</p></div> | |
| <div class="paragraph"><p>The minimum size allowed is limited to 1 MiB. The default is unlimited. | |
| Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pack.useBitmaps | |
| </dt> | |
| <dd> | |
| <p> | |
| When true, git will use pack bitmaps (if available) when packing | |
| to stdout (e.g., during the server side of a fetch). Defaults to | |
| true. You should not generally need to turn this off unless | |
| you are debugging pack bitmaps. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pack.useBitmapBoundaryTraversal | |
| </dt> | |
| <dd> | |
| <p> | |
| When true, Git will use an experimental algorithm for computing | |
| reachability queries with bitmaps. Instead of building up | |
| complete bitmaps for all of the negated tips and then OR-ing | |
| them together, consider negated tips with existing bitmaps as | |
| additive (i.e. OR-ing them into the result if they exist, | |
| ignoring them otherwise), and build up a bitmap at the boundary | |
| instead. | |
| </p> | |
| <div class="paragraph"><p>When using this algorithm, Git may include too many objects as a result | |
| of not opening up trees belonging to certain UNINTERESTING commits. This | |
| inexactness matches the non-bitmap traversal algorithm.</p></div> | |
| <div class="paragraph"><p>In many cases, this can provide a speed-up over the exact algorithm, | |
| particularly when there is poor bitmap coverage of the negated side of | |
| the query.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pack.useSparse | |
| </dt> | |
| <dd> | |
| <p> | |
| When true, git will default to using the <em>--sparse</em> option in | |
| <em>git pack-objects</em> when the <em>--revs</em> option is present. This | |
| algorithm only walks trees that appear in paths that introduce new | |
| objects. This can have significant performance benefits when | |
| computing a pack to send a small change. However, it is possible | |
| that extra objects are added to the pack-file if the included | |
| commits contain certain types of direct renames. Default is | |
| <code>true</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pack.preferBitmapTips | |
| </dt> | |
| <dd> | |
| <p> | |
| When selecting which commits will receive bitmaps, prefer a | |
| commit at the tip of any reference that is a suffix of any value | |
| of this configuration over any other commits in the "selection | |
| window". | |
| </p> | |
| <div class="paragraph"><p>Note that setting this configuration to <code>refs/foo</code> does not mean that | |
| the commits at the tips of <code>refs/foo/bar</code> and <code>refs/foo/baz</code> will | |
| necessarily be selected. This is because commits are selected for | |
| bitmaps from within a series of windows of variable length.</p></div> | |
| <div class="paragraph"><p>If a commit at the tip of any reference which is a suffix of any value | |
| of this configuration is seen in a window, it is immediately given | |
| preference over any other commit in that window.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pack.writeBitmaps (deprecated) | |
| </dt> | |
| <dd> | |
| <p> | |
| This is a deprecated synonym for <code>repack.writeBitmaps</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pack.writeBitmapHashCache | |
| </dt> | |
| <dd> | |
| <p> | |
| When true, git will include a "hash cache" section in the bitmap | |
| index (if one is written). This cache can be used to feed git’s | |
| delta heuristics, potentially leading to better deltas between | |
| bitmapped and non-bitmapped objects (e.g., when serving a fetch | |
| between an older, bitmapped pack and objects that have been | |
| pushed since the last gc). The downside is that it consumes 4 | |
| bytes per object of disk space. Defaults to true. | |
| </p> | |
| <div class="paragraph"><p>When writing a multi-pack reachability bitmap, no new namehashes are | |
| computed; instead, any namehashes stored in an existing bitmap are | |
| permuted into their appropriate location when writing a new bitmap.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pack.writeBitmapLookupTable | |
| </dt> | |
| <dd> | |
| <p> | |
| When true, Git will include a "lookup table" section in the | |
| bitmap index (if one is written). This table is used to defer | |
| loading individual bitmaps as late as possible. This can be | |
| beneficial in repositories that have relatively large bitmap | |
| indexes. Defaults to false. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pack.readReverseIndex | |
| </dt> | |
| <dd> | |
| <p> | |
| When true, git will read any .rev file(s) that may be available | |
| (see: <a href="gitformat-pack.html">gitformat-pack(5)</a>). When false, the reverse index | |
| will be generated from scratch and stored in memory. Defaults to | |
| true. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pack.writeReverseIndex | |
| </dt> | |
| <dd> | |
| <p> | |
| When true, git will write a corresponding .rev file (see: | |
| <a href="gitformat-pack.html">gitformat-pack(5)</a>) | |
| for each new packfile that it writes in all places except for | |
| <a href="git-fast-import.html">git-fast-import(1)</a> and in the bulk checkin mechanism. | |
| Defaults to true. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pager.<cmd> | |
| </dt> | |
| <dd> | |
| <p> | |
| If the value is boolean, turns on or off pagination of the | |
| output of a particular Git subcommand when writing to a tty. | |
| Otherwise, turns on pagination for the subcommand using the | |
| pager specified by the value of <code>pager.<cmd></code>. If <code>--paginate</code> | |
| or <code>--no-pager</code> is specified on the command line, it takes | |
| precedence over this option. To disable pagination for all | |
| commands, set <code>core.pager</code> or <code>GIT_PAGER</code> to <code>cat</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pretty.<name> | |
| </dt> | |
| <dd> | |
| <p> | |
| Alias for a --pretty= format string, as specified in | |
| <a href="git-log.html">git-log(1)</a>. Any aliases defined here can be used just | |
| as the built-in pretty formats could. For example, | |
| running <code>git config pretty.changelog "format:* %H %s"</code> | |
| would cause the invocation <code>git log --pretty=changelog</code> | |
| to be equivalent to running <code>git log "--pretty=format:* %H %s"</code>. | |
| Note that an alias with the same name as a built-in format | |
| will be silently ignored. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| protocol.allow | |
| </dt> | |
| <dd> | |
| <p> | |
| If set, provide a user defined default policy for all protocols which | |
| don’t explicitly have a policy (<code>protocol.<name>.allow</code>). By default, | |
| if unset, known-safe protocols (http, https, git, ssh) have a | |
| default policy of <code>always</code>, known-dangerous protocols (ext) have a | |
| default policy of <code>never</code>, and all other protocols (including file) | |
| have a default policy of <code>user</code>. Supported policies: | |
| </p> | |
| <div class="openblock"> | |
| <div class="content"> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| <code>always</code> - protocol is always able to be used. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>never</code> - protocol is never able to be used. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>user</code> - protocol is only able to be used when <code>GIT_PROTOCOL_FROM_USER</code> is | |
| either unset or has a value of 1. This policy should be used when you want a | |
| protocol to be directly usable by the user but don’t want it used by commands which | |
| execute clone/fetch/push commands without user input, e.g. recursive | |
| submodule initialization. | |
| </p> | |
| </li> | |
| </ul></div> | |
| </div></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| protocol.<name>.allow | |
| </dt> | |
| <dd> | |
| <p> | |
| Set a policy to be used by protocol <code><name></code> with clone/fetch/push | |
| commands. See <code>protocol.allow</code> above for the available policies. | |
| </p> | |
| <div class="paragraph"><p>The protocol names currently used by git are:</p></div> | |
| <div class="openblock"> | |
| <div class="content"> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| <code>file</code>: any local file-based path (including <code>file://</code> URLs, | |
| or local paths) | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>git</code>: the anonymous git protocol over a direct TCP | |
| connection (or proxy, if configured) | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>ssh</code>: git over ssh (including <code>host:path</code> syntax, | |
| <code>ssh://</code>, etc). | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>http</code>: git over http, both "smart http" and "dumb http". | |
| Note that this does <em>not</em> include <code>https</code>; if you want to configure | |
| both, you must do so individually. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| any external helpers are named by their protocol (e.g., use | |
| <code>hg</code> to allow the <code>git-remote-hg</code> helper) | |
| </p> | |
| </li> | |
| </ul></div> | |
| </div></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| protocol.version | |
| </dt> | |
| <dd> | |
| <p> | |
| If set, clients will attempt to communicate with a server | |
| using the specified protocol version. If the server does | |
| not support it, communication falls back to version 0. | |
| If unset, the default is <code>2</code>. | |
| Supported versions: | |
| </p> | |
| <div class="openblock"> | |
| <div class="content"> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| <code>0</code> - the original wire protocol. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>1</code> - the original wire protocol with the addition of a version string | |
| in the initial response from the server. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>2</code> - Wire protocol version 2, see <a href="gitprotocol-v2.html">gitprotocol-v2(5)</a>. | |
| </p> | |
| </li> | |
| </ul></div> | |
| </div></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pull.ff | |
| </dt> | |
| <dd> | |
| <p> | |
| By default, Git does not create an extra merge commit when merging | |
| a commit that is a descendant of the current commit. Instead, the | |
| tip of the current branch is fast-forwarded. When set to <code>false</code>, | |
| this variable tells Git to create an extra merge commit in such | |
| a case (equivalent to giving the <code>--no-ff</code> option from the command | |
| line). When set to <code>only</code>, only such fast-forward merges are | |
| allowed (equivalent to giving the <code>--ff-only</code> option from the | |
| command line). This setting overrides <code>merge.ff</code> when pulling. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pull.rebase | |
| </dt> | |
| <dd> | |
| <p> | |
| When true, rebase branches on top of the fetched branch, instead | |
| of merging the default branch from the default remote when "git | |
| pull" is run. See "branch.<name>.rebase" for setting this on a | |
| per-branch basis. | |
| </p> | |
| <div class="paragraph"><p>When <code>merges</code> (or just <em>m</em>), pass the <code>--rebase-merges</code> option to <em>git rebase</em> | |
| so that the local merge commits are included in the rebase (see | |
| <a href="git-rebase.html">git-rebase(1)</a> for details).</p></div> | |
| <div class="paragraph"><p>When the value is <code>interactive</code> (or just <em>i</em>), the rebase is run in interactive | |
| mode.</p></div> | |
| <div class="paragraph"><p><strong>NOTE</strong>: this is a possibly dangerous operation; do <strong>not</strong> use | |
| it unless you understand the implications (see <a href="git-rebase.html">git-rebase(1)</a> | |
| for details).</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pull.octopus | |
| </dt> | |
| <dd> | |
| <p> | |
| The default merge strategy to use when pulling multiple branches | |
| at once. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| pull.twohead | |
| </dt> | |
| <dd> | |
| <p> | |
| The default merge strategy to use when pulling a single branch. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| push.autoSetupRemote | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to "true" assume <code>--set-upstream</code> on default push when no | |
| upstream tracking exists for the current branch; this option | |
| takes effect with push.default options <em>simple</em>, <em>upstream</em>, | |
| and <em>current</em>. It is useful if by default you want new branches | |
| to be pushed to the default remote (like the behavior of | |
| <em>push.default=current</em>) and you also want the upstream tracking | |
| to be set. Workflows most likely to benefit from this option are | |
| <em>simple</em> central workflows where all branches are expected to | |
| have the same name on the remote. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| push.default | |
| </dt> | |
| <dd> | |
| <p> | |
| Defines the action <code>git push</code> should take if no refspec is | |
| given (whether from the command-line, config, or elsewhere). | |
| Different values are well-suited for | |
| specific workflows; for instance, in a purely central workflow | |
| (i.e. the fetch source is equal to the push destination), | |
| <code>upstream</code> is probably what you want. Possible values are: | |
| </p> | |
| <div class="openblock"> | |
| <div class="content"> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| <code>nothing</code> - do not push anything (error out) unless a refspec is | |
| given. This is primarily meant for people who want to | |
| avoid mistakes by always being explicit. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>current</code> - push the current branch to update a branch with the same | |
| name on the receiving end. Works in both central and non-central | |
| workflows. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>upstream</code> - push the current branch back to the branch whose | |
| changes are usually integrated into the current branch (which is | |
| called <code>@{upstream}</code>). This mode only makes sense if you are | |
| pushing to the same repository you would normally pull from | |
| (i.e. central workflow). | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>tracking</code> - This is a deprecated synonym for <code>upstream</code>. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>simple</code> - push the current branch with the same name on the remote. | |
| </p> | |
| <div class="paragraph"><p>If you are working on a centralized workflow (pushing to the same repository you | |
| pull from, which is typically <code>origin</code>), then you need to configure an upstream | |
| branch with the same name.</p></div> | |
| <div class="paragraph"><p>This mode is the default since Git 2.0, and is the safest option suited for | |
| beginners.</p></div> | |
| </li> | |
| <li> | |
| <p> | |
| <code>matching</code> - push all branches having the same name on both ends. | |
| This makes the repository you are pushing to remember the set of | |
| branches that will be pushed out (e.g. if you always push <em>maint</em> | |
| and <em>master</em> there and no other branches, the repository you push | |
| to will have these two branches, and your local <em>maint</em> and | |
| <em>master</em> will be pushed there). | |
| </p> | |
| <div class="paragraph"><p>To use this mode effectively, you have to make sure <em>all</em> the | |
| branches you would push out are ready to be pushed out before | |
| running <em>git push</em>, as the whole point of this mode is to allow you | |
| to push all of the branches in one go. If you usually finish work | |
| on only one branch and push out the result, while other branches are | |
| unfinished, this mode is not for you. Also this mode is not | |
| suitable for pushing into a shared central repository, as other | |
| people may add new branches there, or update the tip of existing | |
| branches outside your control.</p></div> | |
| <div class="paragraph"><p>This used to be the default, but not since Git 2.0 (<code>simple</code> is the | |
| new default).</p></div> | |
| </li> | |
| </ul></div> | |
| </div></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| push.followTags | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to true, enable <code>--follow-tags</code> option by default. You | |
| may override this configuration at time of push by specifying | |
| <code>--no-follow-tags</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| push.gpgSign | |
| </dt> | |
| <dd> | |
| <p> | |
| May be set to a boolean value, or the string <em>if-asked</em>. A true | |
| value causes all pushes to be GPG signed, as if <code>--signed</code> is | |
| passed to <a href="git-push.html">git-push(1)</a>. The string <em>if-asked</em> causes | |
| pushes to be signed if the server supports it, as if | |
| <code>--signed=if-asked</code> is passed to <em>git push</em>. A false value may | |
| override a value from a lower-priority config file. An explicit | |
| command-line flag always overrides this config option. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| push.pushOption | |
| </dt> | |
| <dd> | |
| <p> | |
| When no <code>--push-option=<option></code> argument is given from the | |
| command line, <code>git push</code> behaves as if each <value> of | |
| this variable is given as <code>--push-option=<value></code>. | |
| </p> | |
| <div class="paragraph"><p>This is a multi-valued variable, and an empty value can be used in a | |
| higher priority configuration file (e.g. <code>.git/config</code> in a | |
| repository) to clear the values inherited from a lower priority | |
| configuration files (e.g. <code>$HOME/.gitconfig</code>).</p></div> | |
| <div class="listingblock"> | |
| <div class="content"> | |
| <pre><code>Example: | |
| /etc/gitconfig | |
| push.pushoption = a | |
| push.pushoption = b | |
| ~/.gitconfig | |
| push.pushoption = c | |
| repo/.git/config | |
| push.pushoption = | |
| push.pushoption = b | |
| This will result in only b (a and c are cleared).</code></pre> | |
| </div></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| push.recurseSubmodules | |
| </dt> | |
| <dd> | |
| <p> | |
| May be "check", "on-demand", "only", or "no", with the same behavior | |
| as that of "push --recurse-submodules". | |
| If not set, <em>no</em> is used by default, unless <em>submodule.recurse</em> is | |
| set (in which case a <em>true</em> value means <em>on-demand</em>). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| push.useForceIfIncludes | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to "true", it is equivalent to specifying | |
| <code>--force-if-includes</code> as an option to <a href="git-push.html">git-push(1)</a> | |
| in the command line. Adding <code>--no-force-if-includes</code> at the | |
| time of push overrides this configuration setting. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| push.negotiate | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to "true", attempt to reduce the size of the packfile | |
| sent by rounds of negotiation in which the client and the | |
| server attempt to find commits in common. If "false", Git will | |
| rely solely on the server’s ref advertisement to find commits | |
| in common. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| push.useBitmaps | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to "false", disable use of bitmaps for "git push" even if | |
| <code>pack.useBitmaps</code> is "true", without preventing other git operations | |
| from using bitmaps. Default is true. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| rebase.backend | |
| </dt> | |
| <dd> | |
| <p> | |
| Default backend to use for rebasing. Possible choices are | |
| <em>apply</em> or <em>merge</em>. In the future, if the merge backend gains | |
| all remaining capabilities of the apply backend, this setting | |
| may become unused. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| rebase.stat | |
| </dt> | |
| <dd> | |
| <p> | |
| Whether to show a diffstat of what changed upstream since the last | |
| rebase. False by default. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| rebase.autoSquash | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to true, enable the <code>--autosquash</code> option of | |
| <a href="git-rebase.html">git-rebase(1)</a> by default for interactive mode. | |
| This can be overridden with the <code>--no-autosquash</code> option. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| rebase.autoStash | |
| </dt> | |
| <dd> | |
| <p> | |
| When set to true, automatically create a temporary stash entry | |
| before the operation begins, and apply it after the operation | |
| ends. This means that you can run rebase on a dirty worktree. | |
| However, use with care: the final stash application after a | |
| successful rebase might result in non-trivial conflicts. | |
| This option can be overridden by the <code>--no-autostash</code> and | |
| <code>--autostash</code> options of <a href="git-rebase.html">git-rebase(1)</a>. | |
| Defaults to false. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| rebase.updateRefs | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to true enable <code>--update-refs</code> option by default. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| rebase.missingCommitsCheck | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to "warn", git rebase -i will print a warning if some | |
| commits are removed (e.g. a line was deleted), however the | |
| rebase will still proceed. If set to "error", it will print | |
| the previous warning and stop the rebase, <em>git rebase | |
| --edit-todo</em> can then be used to correct the error. If set to | |
| "ignore", no checking is done. | |
| To drop a commit without warning or error, use the <code>drop</code> | |
| command in the todo list. | |
| Defaults to "ignore". | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| rebase.instructionFormat | |
| </dt> | |
| <dd> | |
| <p> | |
| A format string, as specified in <a href="git-log.html">git-log(1)</a>, to be used for the | |
| todo list during an interactive rebase. The format will | |
| automatically have the commit hash prepended to the format. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| rebase.abbreviateCommands | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to true, <code>git rebase</code> will use abbreviated command names in the | |
| todo list resulting in something like this: | |
| </p> | |
| <div class="listingblock"> | |
| <div class="content"> | |
| <pre><code> p deadbee The oneline of the commit | |
| p fa1afe1 The oneline of the next commit | |
| ...</code></pre> | |
| </div></div> | |
| <div class="paragraph"><p>instead of:</p></div> | |
| <div class="listingblock"> | |
| <div class="content"> | |
| <pre><code> pick deadbee The oneline of the commit | |
| pick fa1afe1 The oneline of the next commit | |
| ...</code></pre> | |
| </div></div> | |
| <div class="paragraph"><p>Defaults to false.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| rebase.rescheduleFailedExec | |
| </dt> | |
| <dd> | |
| <p> | |
| Automatically reschedule <code>exec</code> commands that failed. This only makes | |
| sense in interactive mode (or when an <code>--exec</code> option was provided). | |
| This is the same as specifying the <code>--reschedule-failed-exec</code> option. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| rebase.forkPoint | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to false set <code>--no-fork-point</code> option by default. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| rebase.rebaseMerges | |
| </dt> | |
| <dd> | |
| <p> | |
| Whether and how to set the <code>--rebase-merges</code> option by default. Can | |
| be <code>rebase-cousins</code>, <code>no-rebase-cousins</code>, or a boolean. Setting to | |
| true or to <code>no-rebase-cousins</code> is equivalent to | |
| <code>--rebase-merges=no-rebase-cousins</code>, setting to <code>rebase-cousins</code> is | |
| equivalent to <code>--rebase-merges=rebase-cousins</code>, and setting to false is | |
| equivalent to <code>--no-rebase-merges</code>. Passing <code>--rebase-merges</code> on the | |
| command line, with or without an argument, overrides any | |
| <code>rebase.rebaseMerges</code> configuration. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| rebase.maxLabelLength | |
| </dt> | |
| <dd> | |
| <p> | |
| When generating label names from commit subjects, truncate the names to | |
| this length. By default, the names are truncated to a little less than | |
| <code>NAME_MAX</code> (to allow e.g. <code>.lock</code> files to be written for the | |
| corresponding loose refs). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| receive.advertiseAtomic | |
| </dt> | |
| <dd> | |
| <p> | |
| By default, git-receive-pack will advertise the atomic push | |
| capability to its clients. If you don’t want to advertise this | |
| capability, set this variable to false. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| receive.advertisePushOptions | |
| </dt> | |
| <dd> | |
| <p> | |
| When set to true, git-receive-pack will advertise the push options | |
| capability to its clients. False by default. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| receive.autogc | |
| </dt> | |
| <dd> | |
| <p> | |
| By default, git-receive-pack will run "git-gc --auto" after | |
| receiving data from git-push and updating refs. You can stop | |
| it by setting this variable to false. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| receive.certNonceSeed | |
| </dt> | |
| <dd> | |
| <p> | |
| By setting this variable to a string, <code>git receive-pack</code> | |
| will accept a <code>git push --signed</code> and verify it by using | |
| a "nonce" protected by HMAC using this string as a secret | |
| key. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| receive.certNonceSlop | |
| </dt> | |
| <dd> | |
| <p> | |
| When a <code>git push --signed</code> sends a push certificate with a | |
| "nonce" that was issued by a receive-pack serving the same | |
| repository within this many seconds, export the "nonce" | |
| found in the certificate to <code>GIT_PUSH_CERT_NONCE</code> to the | |
| hooks (instead of what the receive-pack asked the sending | |
| side to include). This may allow writing checks in | |
| <code>pre-receive</code> and <code>post-receive</code> a bit easier. Instead of | |
| checking <code>GIT_PUSH_CERT_NONCE_SLOP</code> environment variable | |
| that records by how many seconds the nonce is stale to | |
| decide if they want to accept the certificate, they only | |
| can check <code>GIT_PUSH_CERT_NONCE_STATUS</code> is <code>OK</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| receive.fsckObjects | |
| </dt> | |
| <dd> | |
| <p> | |
| If it is set to true, git-receive-pack will check all received | |
| objects. See <code>transfer.fsckObjects</code> for what’s checked. | |
| Defaults to false. If not set, the value of | |
| <code>transfer.fsckObjects</code> is used instead. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| receive.fsck.<msg-id> | |
| </dt> | |
| <dd> | |
| <p> | |
| Acts like <code>fsck.<msg-id></code>, but is used by | |
| <a href="git-receive-pack.html">git-receive-pack(1)</a> instead of | |
| <a href="git-fsck.html">git-fsck(1)</a>. See the <code>fsck.<msg-id></code> documentation for | |
| details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| receive.fsck.skipList | |
| </dt> | |
| <dd> | |
| <p> | |
| Acts like <code>fsck.skipList</code>, but is used by | |
| <a href="git-receive-pack.html">git-receive-pack(1)</a> instead of | |
| <a href="git-fsck.html">git-fsck(1)</a>. See the <code>fsck.skipList</code> documentation for | |
| details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| receive.keepAlive | |
| </dt> | |
| <dd> | |
| <p> | |
| After receiving the pack from the client, <code>receive-pack</code> may | |
| produce no output (if <code>--quiet</code> was specified) while processing | |
| the pack, causing some networks to drop the TCP connection. | |
| With this option set, if <code>receive-pack</code> does not transmit | |
| any data in this phase for <code>receive.keepAlive</code> seconds, it will | |
| send a short keepalive packet. The default is 5 seconds; set | |
| to 0 to disable keepalives entirely. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| receive.unpackLimit | |
| </dt> | |
| <dd> | |
| <p> | |
| If the number of objects received in a push is below this | |
| limit then the objects will be unpacked into loose object | |
| files. However if the number of received objects equals or | |
| exceeds this limit then the received pack will be stored as | |
| a pack, after adding any missing delta bases. Storing the | |
| pack from a push can make the push operation complete faster, | |
| especially on slow filesystems. If not set, the value of | |
| <code>transfer.unpackLimit</code> is used instead. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| receive.maxInputSize | |
| </dt> | |
| <dd> | |
| <p> | |
| If the size of the incoming pack stream is larger than this | |
| limit, then git-receive-pack will error out, instead of | |
| accepting the pack file. If not set or set to 0, then the size | |
| is unlimited. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| receive.denyDeletes | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to true, git-receive-pack will deny a ref update that deletes | |
| the ref. Use this to prevent such a ref deletion via a push. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| receive.denyDeleteCurrent | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to true, git-receive-pack will deny a ref update that | |
| deletes the currently checked out branch of a non-bare repository. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| receive.denyCurrentBranch | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to true or "refuse", git-receive-pack will deny a ref update | |
| to the currently checked out branch of a non-bare repository. | |
| Such a push is potentially dangerous because it brings the HEAD | |
| out of sync with the index and working tree. If set to "warn", | |
| print a warning of such a push to stderr, but allow the push to | |
| proceed. If set to false or "ignore", allow such pushes with no | |
| message. Defaults to "refuse". | |
| </p> | |
| <div class="paragraph"><p>Another option is "updateInstead" which will update the working | |
| tree if pushing into the current branch. This option is | |
| intended for synchronizing working directories when one side is not easily | |
| accessible via interactive ssh (e.g. a live web site, hence the requirement | |
| that the working directory be clean). This mode also comes in handy when | |
| developing inside a VM to test and fix code on different Operating Systems.</p></div> | |
| <div class="paragraph"><p>By default, "updateInstead" will refuse the push if the working tree or | |
| the index have any difference from the HEAD, but the <code>push-to-checkout</code> | |
| hook can be used to customize this. See <a href="githooks.html">githooks(5)</a>.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| receive.denyNonFastForwards | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to true, git-receive-pack will deny a ref update which is | |
| not a fast-forward. Use this to prevent such an update via a push, | |
| even if that push is forced. This configuration variable is | |
| set when initializing a shared repository. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| receive.hideRefs | |
| </dt> | |
| <dd> | |
| <p> | |
| This variable is the same as <code>transfer.hideRefs</code>, but applies | |
| only to <code>receive-pack</code> (and so affects pushes, but not fetches). | |
| An attempt to update or delete a hidden ref by <code>git push</code> is | |
| rejected. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| receive.procReceiveRefs | |
| </dt> | |
| <dd> | |
| <p> | |
| This is a multi-valued variable that defines reference prefixes | |
| to match the commands in <code>receive-pack</code>. Commands matching the | |
| prefixes will be executed by an external hook "proc-receive", | |
| instead of the internal <code>execute_commands</code> function. If this | |
| variable is not defined, the "proc-receive" hook will never be | |
| used, and all commands will be executed by the internal | |
| <code>execute_commands</code> function. | |
| </p> | |
| <div class="paragraph"><p>For example, if this variable is set to "refs/for", pushing to reference | |
| such as "refs/for/master" will not create or update a reference named | |
| "refs/for/master", but may create or update a pull request directly by | |
| running the hook "proc-receive".</p></div> | |
| <div class="paragraph"><p>Optional modifiers can be provided in the beginning of the value to filter | |
| commands for specific actions: create (a), modify (m), delete (d). | |
| A <code>!</code> can be included in the modifiers to negate the reference prefix entry. | |
| E.g.:</p></div> | |
| <div class="literalblock"> | |
| <div class="content"> | |
| <pre><code>git config --system --add receive.procReceiveRefs ad:refs/heads | |
| git config --system --add receive.procReceiveRefs !:refs/heads</code></pre> | |
| </div></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| receive.updateServerInfo | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to true, git-receive-pack will run git-update-server-info | |
| after receiving data from git-push and updating refs. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| receive.shallowUpdate | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to true, .git/shallow can be updated when new refs | |
| require new shallow roots. Otherwise those refs are rejected. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| remote.pushDefault | |
| </dt> | |
| <dd> | |
| <p> | |
| The remote to push to by default. Overrides | |
| <code>branch.<name>.remote</code> for all branches, and is overridden by | |
| <code>branch.<name>.pushRemote</code> for specific branches. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| remote.<name>.url | |
| </dt> | |
| <dd> | |
| <p> | |
| The URL of a remote repository. See <a href="git-fetch.html">git-fetch(1)</a> or | |
| <a href="git-push.html">git-push(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| remote.<name>.pushurl | |
| </dt> | |
| <dd> | |
| <p> | |
| The push URL of a remote repository. See <a href="git-push.html">git-push(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| remote.<name>.proxy | |
| </dt> | |
| <dd> | |
| <p> | |
| For remotes that require curl (http, https and ftp), the URL to | |
| the proxy to use for that remote. Set to the empty string to | |
| disable proxying for that remote. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| remote.<name>.proxyAuthMethod | |
| </dt> | |
| <dd> | |
| <p> | |
| For remotes that require curl (http, https and ftp), the method to use for | |
| authenticating against the proxy in use (probably set in | |
| <code>remote.<name>.proxy</code>). See <code>http.proxyAuthMethod</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| remote.<name>.fetch | |
| </dt> | |
| <dd> | |
| <p> | |
| The default set of "refspec" for <a href="git-fetch.html">git-fetch(1)</a>. See | |
| <a href="git-fetch.html">git-fetch(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| remote.<name>.push | |
| </dt> | |
| <dd> | |
| <p> | |
| The default set of "refspec" for <a href="git-push.html">git-push(1)</a>. See | |
| <a href="git-push.html">git-push(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| remote.<name>.mirror | |
| </dt> | |
| <dd> | |
| <p> | |
| If true, pushing to this remote will automatically behave | |
| as if the <code>--mirror</code> option was given on the command line. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| remote.<name>.skipDefaultUpdate | |
| </dt> | |
| <dd> | |
| <p> | |
| If true, this remote will be skipped by default when updating | |
| using <a href="git-fetch.html">git-fetch(1)</a> or the <code>update</code> subcommand of | |
| <a href="git-remote.html">git-remote(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| remote.<name>.skipFetchAll | |
| </dt> | |
| <dd> | |
| <p> | |
| If true, this remote will be skipped by default when updating | |
| using <a href="git-fetch.html">git-fetch(1)</a> or the <code>update</code> subcommand of | |
| <a href="git-remote.html">git-remote(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| remote.<name>.receivepack | |
| </dt> | |
| <dd> | |
| <p> | |
| The default program to execute on the remote side when pushing. See | |
| option --receive-pack of <a href="git-push.html">git-push(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| remote.<name>.uploadpack | |
| </dt> | |
| <dd> | |
| <p> | |
| The default program to execute on the remote side when fetching. See | |
| option --upload-pack of <a href="git-fetch-pack.html">git-fetch-pack(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| remote.<name>.tagOpt | |
| </dt> | |
| <dd> | |
| <p> | |
| Setting this value to --no-tags disables automatic tag following when | |
| fetching from remote <name>. Setting it to --tags will fetch every | |
| tag from remote <name>, even if they are not reachable from remote | |
| branch heads. Passing these flags directly to <a href="git-fetch.html">git-fetch(1)</a> can | |
| override this setting. See options --tags and --no-tags of | |
| <a href="git-fetch.html">git-fetch(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| remote.<name>.vcs | |
| </dt> | |
| <dd> | |
| <p> | |
| Setting this to a value <vcs> will cause Git to interact with | |
| the remote with the git-remote-<vcs> helper. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| remote.<name>.prune | |
| </dt> | |
| <dd> | |
| <p> | |
| When set to true, fetching from this remote by default will also | |
| remove any remote-tracking references that no longer exist on the | |
| remote (as if the <code>--prune</code> option was given on the command line). | |
| Overrides <code>fetch.prune</code> settings, if any. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| remote.<name>.pruneTags | |
| </dt> | |
| <dd> | |
| <p> | |
| When set to true, fetching from this remote by default will also | |
| remove any local tags that no longer exist on the remote if pruning | |
| is activated in general via <code>remote.<name>.prune</code>, <code>fetch.prune</code> or | |
| <code>--prune</code>. Overrides <code>fetch.pruneTags</code> settings, if any. | |
| </p> | |
| <div class="paragraph"><p>See also <code>remote.<name>.prune</code> and the PRUNING section of | |
| <a href="git-fetch.html">git-fetch(1)</a>.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| remote.<name>.promisor | |
| </dt> | |
| <dd> | |
| <p> | |
| When set to true, this remote will be used to fetch promisor | |
| objects. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| remote.<name>.partialclonefilter | |
| </dt> | |
| <dd> | |
| <p> | |
| The filter that will be applied when fetching from this promisor remote. | |
| Changing or clearing this value will only affect fetches for new commits. | |
| To fetch associated objects for commits already present in the local object | |
| database, use the <code>--refetch</code> option of <a href="git-fetch.html">git-fetch(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| remotes.<group> | |
| </dt> | |
| <dd> | |
| <p> | |
| The list of remotes which are fetched by "git remote update | |
| <group>". See <a href="git-remote.html">git-remote(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| repack.useDeltaBaseOffset | |
| </dt> | |
| <dd> | |
| <p> | |
| By default, <a href="git-repack.html">git-repack(1)</a> creates packs that use | |
| delta-base offset. If you need to share your repository with | |
| Git older than version 1.4.4, either directly or via a dumb | |
| protocol such as http, then you need to set this option to | |
| "false" and repack. Access from old Git versions over the | |
| native protocol are unaffected by this option. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| repack.packKeptObjects | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to true, makes <code>git repack</code> act as if | |
| <code>--pack-kept-objects</code> was passed. See <a href="git-repack.html">git-repack(1)</a> for | |
| details. Defaults to <code>false</code> normally, but <code>true</code> if a bitmap | |
| index is being written (either via <code>--write-bitmap-index</code> or | |
| <code>repack.writeBitmaps</code>). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| repack.useDeltaIslands | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to true, makes <code>git repack</code> act as if <code>--delta-islands</code> | |
| was passed. Defaults to <code>false</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| repack.writeBitmaps | |
| </dt> | |
| <dd> | |
| <p> | |
| When true, git will write a bitmap index when packing all | |
| objects to disk (e.g., when <code>git repack -a</code> is run). This | |
| index can speed up the "counting objects" phase of subsequent | |
| packs created for clones and fetches, at the cost of some disk | |
| space and extra time spent on the initial repack. This has | |
| no effect if multiple packfiles are created. | |
| Defaults to true on bare repos, false otherwise. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| repack.updateServerInfo | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to false, <a href="git-repack.html">git-repack(1)</a> will not run | |
| <a href="git-update-server-info.html">git-update-server-info(1)</a>. Defaults to true. Can be overridden | |
| when true by the <code>-n</code> option of <a href="git-repack.html">git-repack(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| repack.cruftWindow | |
| </dt> | |
| <dt class="hdlist1"> | |
| repack.cruftWindowMemory | |
| </dt> | |
| <dt class="hdlist1"> | |
| repack.cruftDepth | |
| </dt> | |
| <dt class="hdlist1"> | |
| repack.cruftThreads | |
| </dt> | |
| <dd> | |
| <p> | |
| Parameters used by <a href="git-pack-objects.html">git-pack-objects(1)</a> when generating | |
| a cruft pack and the respective parameters are not given over | |
| the command line. See similarly named <code>pack.*</code> configuration | |
| variables for defaults and meaning. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| rerere.autoUpdate | |
| </dt> | |
| <dd> | |
| <p> | |
| When set to true, <code>git-rerere</code> updates the index with the | |
| resulting contents after it cleanly resolves conflicts using | |
| previously recorded resolutions. Defaults to false. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| rerere.enabled | |
| </dt> | |
| <dd> | |
| <p> | |
| Activate recording of resolved conflicts, so that identical | |
| conflict hunks can be resolved automatically, should they be | |
| encountered again. By default, <a href="git-rerere.html">git-rerere(1)</a> is | |
| enabled if there is an <code>rr-cache</code> directory under the | |
| <code>$GIT_DIR</code>, e.g. if "rerere" was previously used in the | |
| repository. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| revert.reference | |
| </dt> | |
| <dd> | |
| <p> | |
| Setting this variable to true makes <code>git revert</code> behave | |
| as if the <code>--reference</code> option is given. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| safe.bareRepository | |
| </dt> | |
| <dd> | |
| <p> | |
| Specifies which bare repositories Git will work with. The currently | |
| supported values are: | |
| </p> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| <code>all</code>: Git works with all bare repositories. This is the default. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>explicit</code>: Git only works with bare repositories specified via | |
| the top-level <code>--git-dir</code> command-line option, or the <code>GIT_DIR</code> | |
| environment variable (see <a href="git.html">git(1)</a>). | |
| </p> | |
| <div class="paragraph"><p>If you do not use bare repositories in your workflow, then it may be | |
| beneficial to set <code>safe.bareRepository</code> to <code>explicit</code> in your global | |
| config. This will protect you from attacks that involve cloning a | |
| repository that contains a bare repository and running a Git command | |
| within that directory.</p></div> | |
| <div class="paragraph"><p>This config setting is only respected in protected configuration (see | |
| <a href="#SCOPES">[SCOPES]</a>). This prevents untrusted repositories from tampering with | |
| this value.</p></div> | |
| </li> | |
| </ul></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| safe.directory | |
| </dt> | |
| <dd> | |
| <p> | |
| These config entries specify Git-tracked directories that are | |
| considered safe even if they are owned by someone other than the | |
| current user. By default, Git will refuse to even parse a Git | |
| config of a repository owned by someone else, let alone run its | |
| hooks, and this config setting allows users to specify exceptions, | |
| e.g. for intentionally shared repositories (see the <code>--shared</code> | |
| option in <a href="git-init.html">git-init(1)</a>). | |
| </p> | |
| <div class="paragraph"><p>This is a multi-valued setting, i.e. you can add more than one directory | |
| via <code>git config --add</code>. To reset the list of safe directories (e.g. to | |
| override any such directories specified in the system config), add a | |
| <code>safe.directory</code> entry with an empty value.</p></div> | |
| <div class="paragraph"><p>This config setting is only respected in protected configuration (see | |
| <a href="#SCOPES">[SCOPES]</a>). This prevents untrusted repositories from tampering with this | |
| value.</p></div> | |
| <div class="paragraph"><p>The value of this setting is interpolated, i.e. <code>~/<path></code> expands to a | |
| path relative to the home directory and <code>%(prefix)/<path></code> expands to a | |
| path relative to Git’s (runtime) prefix.</p></div> | |
| <div class="paragraph"><p>To completely opt-out of this security check, set <code>safe.directory</code> to the | |
| string <code>*</code>. This will allow all repositories to be treated as if their | |
| directory was listed in the <code>safe.directory</code> list. If <code>safe.directory=*</code> | |
| is set in system config and you want to re-enable this protection, then | |
| initialize your list with an empty value before listing the repositories | |
| that you deem safe.</p></div> | |
| <div class="paragraph"><p>As explained, Git only allows you to access repositories owned by | |
| yourself, i.e. the user who is running Git, by default. When Git | |
| is running as <em>root</em> in a non Windows platform that provides sudo, | |
| however, git checks the SUDO_UID environment variable that sudo creates | |
| and will allow access to the uid recorded as its value in addition to | |
| the id from <em>root</em>. | |
| This is to make it easy to perform a common sequence during installation | |
| "make && sudo make install". A git process running under <em>sudo</em> runs as | |
| <em>root</em> but the <em>sudo</em> command exports the environment variable to record | |
| which id the original user has. | |
| If that is not what you would prefer and want git to only trust | |
| repositories that are owned by root instead, then you can remove | |
| the <code>SUDO_UID</code> variable from root’s environment before invoking git.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| sendemail.identity | |
| </dt> | |
| <dd> | |
| <p> | |
| A configuration identity. When given, causes values in the | |
| <em>sendemail.<identity></em> subsection to take precedence over | |
| values in the <em>sendemail</em> section. The default identity is | |
| the value of <code>sendemail.identity</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| sendemail.smtpEncryption | |
| </dt> | |
| <dd> | |
| <p> | |
| See <a href="git-send-email.html">git-send-email(1)</a> for description. Note that this | |
| setting is not subject to the <em>identity</em> mechanism. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| sendemail.smtpsslcertpath | |
| </dt> | |
| <dd> | |
| <p> | |
| Path to ca-certificates (either a directory or a single file). | |
| Set it to an empty string to disable certificate verification. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| sendemail.<identity>.* | |
| </dt> | |
| <dd> | |
| <p> | |
| Identity-specific versions of the <em>sendemail.*</em> parameters | |
| found below, taking precedence over those when this | |
| identity is selected, through either the command-line or | |
| <code>sendemail.identity</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| sendemail.multiEdit | |
| </dt> | |
| <dd> | |
| <p> | |
| If true (default), a single editor instance will be spawned to edit | |
| files you have to edit (patches when <code>--annotate</code> is used, and the | |
| summary when <code>--compose</code> is used). If false, files will be edited one | |
| after the other, spawning a new editor each time. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| sendemail.confirm | |
| </dt> | |
| <dd> | |
| <p> | |
| Sets the default for whether to confirm before sending. Must be | |
| one of <em>always</em>, <em>never</em>, <em>cc</em>, <em>compose</em>, or <em>auto</em>. See <code>--confirm</code> | |
| in the <a href="git-send-email.html">git-send-email(1)</a> documentation for the meaning of these | |
| values. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| sendemail.aliasesFile | |
| </dt> | |
| <dd> | |
| <p> | |
| To avoid typing long email addresses, point this to one or more | |
| email aliases files. You must also supply <code>sendemail.aliasFileType</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| sendemail.aliasFileType | |
| </dt> | |
| <dd> | |
| <p> | |
| Format of the file(s) specified in sendemail.aliasesFile. Must be | |
| one of <em>mutt</em>, <em>mailrc</em>, <em>pine</em>, <em>elm</em>, <em>gnus</em>, or <em>sendmail</em>. | |
| </p> | |
| <div class="paragraph"><p>What an alias file in each format looks like can be found in | |
| the documentation of the email program of the same name. The | |
| differences and limitations from the standard formats are | |
| described below:</p></div> | |
| <div class="openblock"> | |
| <div class="content"> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| sendmail | |
| </dt> | |
| <dd> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| Quoted aliases and quoted addresses are not supported: lines that | |
| contain a <code>"</code> symbol are ignored. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| Redirection to a file (<code>/path/name</code>) or pipe (<code>|command</code>) is not | |
| supported. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| File inclusion (<code>:include: /path/name</code>) is not supported. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| Warnings are printed on the standard error output for any | |
| explicitly unsupported constructs, and any other lines that are not | |
| recognized by the parser. | |
| </p> | |
| </li> | |
| </ul></div> | |
| </dd> | |
| </dl></div> | |
| </div></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| sendemail.annotate | |
| </dt> | |
| <dt class="hdlist1"> | |
| sendemail.bcc | |
| </dt> | |
| <dt class="hdlist1"> | |
| sendemail.cc | |
| </dt> | |
| <dt class="hdlist1"> | |
| sendemail.ccCmd | |
| </dt> | |
| <dt class="hdlist1"> | |
| sendemail.chainReplyTo | |
| </dt> | |
| <dt class="hdlist1"> | |
| sendemail.envelopeSender | |
| </dt> | |
| <dt class="hdlist1"> | |
| sendemail.from | |
| </dt> | |
| <dt class="hdlist1"> | |
| sendemail.headerCmd | |
| </dt> | |
| <dt class="hdlist1"> | |
| sendemail.signedoffbycc | |
| </dt> | |
| <dt class="hdlist1"> | |
| sendemail.smtpPass | |
| </dt> | |
| <dt class="hdlist1"> | |
| sendemail.suppresscc | |
| </dt> | |
| <dt class="hdlist1"> | |
| sendemail.suppressFrom | |
| </dt> | |
| <dt class="hdlist1"> | |
| sendemail.to | |
| </dt> | |
| <dt class="hdlist1"> | |
| sendemail.tocmd | |
| </dt> | |
| <dt class="hdlist1"> | |
| sendemail.smtpDomain | |
| </dt> | |
| <dt class="hdlist1"> | |
| sendemail.smtpServer | |
| </dt> | |
| <dt class="hdlist1"> | |
| sendemail.smtpServerPort | |
| </dt> | |
| <dt class="hdlist1"> | |
| sendemail.smtpServerOption | |
| </dt> | |
| <dt class="hdlist1"> | |
| sendemail.smtpUser | |
| </dt> | |
| <dt class="hdlist1"> | |
| sendemail.thread | |
| </dt> | |
| <dt class="hdlist1"> | |
| sendemail.transferEncoding | |
| </dt> | |
| <dt class="hdlist1"> | |
| sendemail.validate | |
| </dt> | |
| <dt class="hdlist1"> | |
| sendemail.xmailer | |
| </dt> | |
| <dd> | |
| <p> | |
| These configuration variables all provide a default for | |
| <a href="git-send-email.html">git-send-email(1)</a> command-line options. See its | |
| documentation for details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| sendemail.signedoffcc (deprecated) | |
| </dt> | |
| <dd> | |
| <p> | |
| Deprecated alias for <code>sendemail.signedoffbycc</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| sendemail.smtpBatchSize | |
| </dt> | |
| <dd> | |
| <p> | |
| Number of messages to be sent per connection, after that a relogin | |
| will happen. If the value is 0 or undefined, send all messages in | |
| one connection. | |
| See also the <code>--batch-size</code> option of <a href="git-send-email.html">git-send-email(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| sendemail.smtpReloginDelay | |
| </dt> | |
| <dd> | |
| <p> | |
| Seconds to wait before reconnecting to the smtp server. | |
| See also the <code>--relogin-delay</code> option of <a href="git-send-email.html">git-send-email(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| sendemail.forbidSendmailVariables | |
| </dt> | |
| <dd> | |
| <p> | |
| To avoid common misconfiguration mistakes, <a href="git-send-email.html">git-send-email(1)</a> | |
| will abort with a warning if any configuration options for "sendmail" | |
| exist. Set this variable to bypass the check. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| sequence.editor | |
| </dt> | |
| <dd> | |
| <p> | |
| Text editor used by <code>git rebase -i</code> for editing the rebase instruction file. | |
| The value is meant to be interpreted by the shell when it is used. | |
| It can be overridden by the <code>GIT_SEQUENCE_EDITOR</code> environment variable. | |
| When not configured, the default commit message editor is used instead. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| showBranch.default | |
| </dt> | |
| <dd> | |
| <p> | |
| The default set of branches for <a href="git-show-branch.html">git-show-branch(1)</a>. | |
| See <a href="git-show-branch.html">git-show-branch(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| sparse.expectFilesOutsideOfPatterns | |
| </dt> | |
| <dd> | |
| <p> | |
| Typically with sparse checkouts, files not matching any | |
| sparsity patterns are marked with a SKIP_WORKTREE bit in the | |
| index and are missing from the working tree. Accordingly, Git | |
| will ordinarily check whether files with the SKIP_WORKTREE bit | |
| are in fact present in the working tree contrary to | |
| expectations. If Git finds any, it marks those paths as | |
| present by clearing the relevant SKIP_WORKTREE bits. This | |
| option can be used to tell Git that such | |
| present-despite-skipped files are expected and to stop | |
| checking for them. | |
| </p> | |
| <div class="paragraph"><p>The default is <code>false</code>, which allows Git to automatically recover | |
| from the list of files in the index and working tree falling out of | |
| sync.</p></div> | |
| <div class="paragraph"><p>Set this to <code>true</code> if you are in a setup where some external factor | |
| relieves Git of the responsibility for maintaining the consistency | |
| between the presence of working tree files and sparsity patterns. For | |
| example, if you have a Git-aware virtual file system that has a robust | |
| mechanism for keeping the working tree and the sparsity patterns up to | |
| date based on access patterns.</p></div> | |
| <div class="paragraph"><p>Regardless of this setting, Git does not check for | |
| present-despite-skipped files unless sparse checkout is enabled, so | |
| this config option has no effect unless <code>core.sparseCheckout</code> is | |
| <code>true</code>.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| splitIndex.maxPercentChange | |
| </dt> | |
| <dd> | |
| <p> | |
| When the split index feature is used, this specifies the | |
| percent of entries the split index can contain compared to the | |
| total number of entries in both the split index and the shared | |
| index before a new shared index is written. | |
| The value should be between 0 and 100. If the value is 0, then | |
| a new shared index is always written; if it is 100, a new | |
| shared index is never written. | |
| By default, the value is 20, so a new shared index is written | |
| if the number of entries in the split index would be greater | |
| than 20 percent of the total number of entries. | |
| See <a href="git-update-index.html">git-update-index(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| splitIndex.sharedIndexExpire | |
| </dt> | |
| <dd> | |
| <p> | |
| When the split index feature is used, shared index files that | |
| were not modified since the time this variable specifies will | |
| be removed when a new shared index file is created. The value | |
| "now" expires all entries immediately, and "never" suppresses | |
| expiration altogether. | |
| The default value is "2.weeks.ago". | |
| Note that a shared index file is considered modified (for the | |
| purpose of expiration) each time a new split-index file is | |
| either created based on it or read from it. | |
| See <a href="git-update-index.html">git-update-index(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| ssh.variant | |
| </dt> | |
| <dd> | |
| <p> | |
| By default, Git determines the command line arguments to use | |
| based on the basename of the configured SSH command (configured | |
| using the environment variable <code>GIT_SSH</code> or <code>GIT_SSH_COMMAND</code> or | |
| the config setting <code>core.sshCommand</code>). If the basename is | |
| unrecognized, Git will attempt to detect support of OpenSSH | |
| options by first invoking the configured SSH command with the | |
| <code>-G</code> (print configuration) option and will subsequently use | |
| OpenSSH options (if that is successful) or no options besides | |
| the host and remote command (if it fails). | |
| </p> | |
| <div class="paragraph"><p>The config variable <code>ssh.variant</code> can be set to override this detection. | |
| Valid values are <code>ssh</code> (to use OpenSSH options), <code>plink</code>, <code>putty</code>, | |
| <code>tortoiseplink</code>, <code>simple</code> (no options except the host and remote command). | |
| The default auto-detection can be explicitly requested using the value | |
| <code>auto</code>. Any other value is treated as <code>ssh</code>. This setting can also be | |
| overridden via the environment variable <code>GIT_SSH_VARIANT</code>.</p></div> | |
| <div class="paragraph"><p>The current command-line parameters used for each variant are as | |
| follows:</p></div> | |
| <div class="openblock"> | |
| <div class="content"> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| <code>ssh</code> - [-p port] [-4] [-6] [-o option] [username@]host command | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>simple</code> - [username@]host command | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>plink</code> or <code>putty</code> - [-P port] [-4] [-6] [username@]host command | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>tortoiseplink</code> - [-P port] [-4] [-6] -batch [username@]host command | |
| </p> | |
| </li> | |
| </ul></div> | |
| </div></div> | |
| <div class="paragraph"><p>Except for the <code>simple</code> variant, command-line parameters are likely to | |
| change as git gains new features.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| status.relativePaths | |
| </dt> | |
| <dd> | |
| <p> | |
| By default, <a href="git-status.html">git-status(1)</a> shows paths relative to the | |
| current directory. Setting this variable to <code>false</code> shows paths | |
| relative to the repository root (this was the default for Git | |
| prior to v1.5.4). | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| status.short | |
| </dt> | |
| <dd> | |
| <p> | |
| Set to true to enable --short by default in <a href="git-status.html">git-status(1)</a>. | |
| The option --no-short takes precedence over this variable. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| status.branch | |
| </dt> | |
| <dd> | |
| <p> | |
| Set to true to enable --branch by default in <a href="git-status.html">git-status(1)</a>. | |
| The option --no-branch takes precedence over this variable. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| status.aheadBehind | |
| </dt> | |
| <dd> | |
| <p> | |
| Set to true to enable <code>--ahead-behind</code> and false to enable | |
| <code>--no-ahead-behind</code> by default in <a href="git-status.html">git-status(1)</a> for | |
| non-porcelain status formats. Defaults to true. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| status.displayCommentPrefix | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to true, <a href="git-status.html">git-status(1)</a> will insert a comment | |
| prefix before each output line (starting with | |
| <code>core.commentChar</code>, i.e. <code>#</code> by default). This was the | |
| behavior of <a href="git-status.html">git-status(1)</a> in Git 1.8.4 and previous. | |
| Defaults to false. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| status.renameLimit | |
| </dt> | |
| <dd> | |
| <p> | |
| The number of files to consider when performing rename detection | |
| in <a href="git-status.html">git-status(1)</a> and <a href="git-commit.html">git-commit(1)</a>. Defaults to | |
| the value of diff.renameLimit. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| status.renames | |
| </dt> | |
| <dd> | |
| <p> | |
| Whether and how Git detects renames in <a href="git-status.html">git-status(1)</a> and | |
| <a href="git-commit.html">git-commit(1)</a> . If set to "false", rename detection is | |
| disabled. If set to "true", basic rename detection is enabled. | |
| If set to "copies" or "copy", Git will detect copies, as well. | |
| Defaults to the value of diff.renames. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| status.showStash | |
| </dt> | |
| <dd> | |
| <p> | |
| If set to true, <a href="git-status.html">git-status(1)</a> will display the number of | |
| entries currently stashed away. | |
| Defaults to false. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| status.showUntrackedFiles | |
| </dt> | |
| <dd> | |
| <p> | |
| By default, <a href="git-status.html">git-status(1)</a> and <a href="git-commit.html">git-commit(1)</a> show | |
| files which are not currently tracked by Git. Directories which | |
| contain only untracked files, are shown with the directory name | |
| only. Showing untracked files means that Git needs to lstat() all | |
| the files in the whole repository, which might be slow on some | |
| systems. So, this variable controls how the commands display | |
| the untracked files. Possible values are: | |
| </p> | |
| <div class="openblock"> | |
| <div class="content"> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| <code>no</code> - Show no untracked files. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>normal</code> - Show untracked files and directories. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>all</code> - Show also individual files in untracked directories. | |
| </p> | |
| </li> | |
| </ul></div> | |
| </div></div> | |
| <div class="paragraph"><p>If this variable is not specified, it defaults to <em>normal</em>. | |
| This variable can be overridden with the -u|--untracked-files option | |
| of <a href="git-status.html">git-status(1)</a> and <a href="git-commit.html">git-commit(1)</a>.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| status.submoduleSummary | |
| </dt> | |
| <dd> | |
| <p> | |
| Defaults to false. | |
| If this is set to a non-zero number or true (identical to -1 or an | |
| unlimited number), the submodule summary will be enabled and a | |
| summary of commits for modified submodules will be shown (see | |
| --summary-limit option of <a href="git-submodule.html">git-submodule(1)</a>). Please note | |
| that the summary output command will be suppressed for all | |
| submodules when <code>diff.ignoreSubmodules</code> is set to <em>all</em> or only | |
| for those submodules where <code>submodule.<name>.ignore=all</code>. The only | |
| exception to that rule is that status and commit will show staged | |
| submodule changes. To | |
| also view the summary for ignored submodules you can either use | |
| the --ignore-submodules=dirty command-line option or the <em>git | |
| submodule summary</em> command, which shows a similar output but does | |
| not honor these settings. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| stash.showIncludeUntracked | |
| </dt> | |
| <dd> | |
| <p> | |
| If this is set to true, the <code>git stash show</code> command will show | |
| the untracked files of a stash entry. Defaults to false. See | |
| the description of the <em>show</em> command in <a href="git-stash.html">git-stash(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| stash.showPatch | |
| </dt> | |
| <dd> | |
| <p> | |
| If this is set to true, the <code>git stash show</code> command without an | |
| option will show the stash entry in patch form. Defaults to false. | |
| See the description of the <em>show</em> command in <a href="git-stash.html">git-stash(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| stash.showStat | |
| </dt> | |
| <dd> | |
| <p> | |
| If this is set to true, the <code>git stash show</code> command without an | |
| option will show a diffstat of the stash entry. Defaults to true. | |
| See the description of the <em>show</em> command in <a href="git-stash.html">git-stash(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| submodule.<name>.url | |
| </dt> | |
| <dd> | |
| <p> | |
| The URL for a submodule. This variable is copied from the .gitmodules | |
| file to the git config via <em>git submodule init</em>. The user can change | |
| the configured URL before obtaining the submodule via <em>git submodule | |
| update</em>. If neither submodule.<name>.active nor submodule.active are | |
| set, the presence of this variable is used as a fallback to indicate | |
| whether the submodule is of interest to git commands. | |
| See <a href="git-submodule.html">git-submodule(1)</a> and <a href="gitmodules.html">gitmodules(5)</a> for details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| submodule.<name>.update | |
| </dt> | |
| <dd> | |
| <p> | |
| The method by which a submodule is updated by <em>git submodule update</em>, | |
| which is the only affected command, others such as | |
| <em>git checkout --recurse-submodules</em> are unaffected. It exists for | |
| historical reasons, when <em>git submodule</em> was the only command to | |
| interact with submodules; settings like <code>submodule.active</code> | |
| and <code>pull.rebase</code> are more specific. It is populated by | |
| <code>git submodule init</code> from the <a href="gitmodules.html">gitmodules(5)</a> file. | |
| See description of <em>update</em> command in <a href="git-submodule.html">git-submodule(1)</a>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| submodule.<name>.branch | |
| </dt> | |
| <dd> | |
| <p> | |
| The remote branch name for a submodule, used by <code>git submodule | |
| update --remote</code>. Set this option to override the value found in | |
| the <code>.gitmodules</code> file. See <a href="git-submodule.html">git-submodule(1)</a> and | |
| <a href="gitmodules.html">gitmodules(5)</a> for details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| submodule.<name>.fetchRecurseSubmodules | |
| </dt> | |
| <dd> | |
| <p> | |
| This option can be used to control recursive fetching of this | |
| submodule. It can be overridden by using the --[no-]recurse-submodules | |
| command-line option to "git fetch" and "git pull". | |
| This setting will override that from in the <a href="gitmodules.html">gitmodules(5)</a> | |
| file. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| submodule.<name>.ignore | |
| </dt> | |
| <dd> | |
| <p> | |
| Defines under what circumstances "git status" and the diff family show | |
| a submodule as modified. When set to "all", it will never be considered | |
| modified (but it will nonetheless show up in the output of status and | |
| commit when it has been staged), "dirty" will ignore all changes | |
| to the submodule’s work tree and | |
| takes only differences between the HEAD of the submodule and the commit | |
| recorded in the superproject into account. "untracked" will additionally | |
| let submodules with modified tracked files in their work tree show up. | |
| Using "none" (the default when this option is not set) also shows | |
| submodules that have untracked files in their work tree as changed. | |
| This setting overrides any setting made in .gitmodules for this submodule, | |
| both settings can be overridden on the command line by using the | |
| "--ignore-submodules" option. The <em>git submodule</em> commands are not | |
| affected by this setting. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| submodule.<name>.active | |
| </dt> | |
| <dd> | |
| <p> | |
| Boolean value indicating if the submodule is of interest to git | |
| commands. This config option takes precedence over the | |
| submodule.active config option. See <a href="gitsubmodules.html">gitsubmodules(7)</a> for | |
| details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| submodule.active | |
| </dt> | |
| <dd> | |
| <p> | |
| A repeated field which contains a pathspec used to match against a | |
| submodule’s path to determine if the submodule is of interest to git | |
| commands. See <a href="gitsubmodules.html">gitsubmodules(7)</a> for details. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| submodule.recurse | |
| </dt> | |
| <dd> | |
| <p> | |
| A boolean indicating if commands should enable the <code>--recurse-submodules</code> | |
| option by default. Defaults to false. | |
| </p> | |
| <div class="paragraph"><p>When set to true, it can be deactivated via the | |
| <code>--no-recurse-submodules</code> option. Note that some Git commands | |
| lacking this option may call some of the above commands affected by | |
| <code>submodule.recurse</code>; for instance <code>git remote update</code> will call | |
| <code>git fetch</code> but does not have a <code>--no-recurse-submodules</code> option. | |
| For these commands a workaround is to temporarily change the | |
| configuration value by using <code>git -c submodule.recurse=0</code>.</p></div> | |
| <div class="paragraph"><p>The following list shows the commands that accept | |
| <code>--recurse-submodules</code> and whether they are supported by this | |
| setting.</p></div> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| <code>checkout</code>, <code>fetch</code>, <code>grep</code>, <code>pull</code>, <code>push</code>, <code>read-tree</code>, | |
| <code>reset</code>, <code>restore</code> and <code>switch</code> are always supported. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>clone</code> and <code>ls-files</code> are not supported. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>branch</code> is supported only if <code>submodule.propagateBranches</code> is | |
| enabled | |
| </p> | |
| </li> | |
| </ul></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| submodule.propagateBranches | |
| </dt> | |
| <dd> | |
| <p> | |
| [EXPERIMENTAL] A boolean that enables branching support when | |
| using <code>--recurse-submodules</code> or <code>submodule.recurse=true</code>. | |
| Enabling this will allow certain commands to accept | |
| <code>--recurse-submodules</code> and certain commands that already accept | |
| <code>--recurse-submodules</code> will now consider branches. | |
| Defaults to false. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| submodule.fetchJobs | |
| </dt> | |
| <dd> | |
| <p> | |
| Specifies how many submodules are fetched/cloned at the same time. | |
| A positive integer allows up to that number of submodules fetched | |
| in parallel. A value of 0 will give some reasonable default. | |
| If unset, it defaults to 1. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| submodule.alternateLocation | |
| </dt> | |
| <dd> | |
| <p> | |
| Specifies how the submodules obtain alternates when submodules are | |
| cloned. Possible values are <code>no</code>, <code>superproject</code>. | |
| By default <code>no</code> is assumed, which doesn’t add references. When the | |
| value is set to <code>superproject</code> the submodule to be cloned computes | |
| its alternates location relative to the superprojects alternate. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| submodule.alternateErrorStrategy | |
| </dt> | |
| <dd> | |
| <p> | |
| Specifies how to treat errors with the alternates for a submodule | |
| as computed via <code>submodule.alternateLocation</code>. Possible values are | |
| <code>ignore</code>, <code>info</code>, <code>die</code>. Default is <code>die</code>. Note that if set to <code>ignore</code> | |
| or <code>info</code>, and if there is an error with the computed alternate, the | |
| clone proceeds as if no alternate was specified. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| tag.forceSignAnnotated | |
| </dt> | |
| <dd> | |
| <p> | |
| A boolean to specify whether annotated tags created should be GPG signed. | |
| If <code>--annotate</code> is specified on the command line, it takes | |
| precedence over this option. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| tag.sort | |
| </dt> | |
| <dd> | |
| <p> | |
| This variable controls the sort ordering of tags when displayed by | |
| <a href="git-tag.html">git-tag(1)</a>. Without the "--sort=<value>" option provided, the | |
| value of this variable will be used as the default. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| tag.gpgSign | |
| </dt> | |
| <dd> | |
| <p> | |
| A boolean to specify whether all tags should be GPG signed. | |
| Use of this option when running in an automated script can | |
| result in a large number of tags being signed. It is therefore | |
| convenient to use an agent to avoid typing your gpg passphrase | |
| several times. Note that this option doesn’t affect tag signing | |
| behavior enabled by "-u <keyid>" or "--local-user=<keyid>" options. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| tar.umask | |
| </dt> | |
| <dd> | |
| <p> | |
| This variable can be used to restrict the permission bits of | |
| tar archive entries. The default is 0002, which turns off the | |
| world write bit. The special value "user" indicates that the | |
| archiving user’s umask will be used instead. See umask(2) and | |
| <a href="git-archive.html">git-archive(1)</a>. | |
| </p> | |
| </dd> | |
| </dl></div> | |
| <div class="paragraph"><p>Trace2 config settings are only read from the system and global | |
| config files; repository local and worktree config files and <code>-c</code> | |
| command line arguments are not respected.</p></div> | |
| <div class="dlist"><dl> | |
| <dt class="hdlist1"> | |
| trace2.normalTarget | |
| </dt> | |
| <dd> | |
| <p> | |
| This variable controls the normal target destination. | |
| It may be overridden by the <code>GIT_TRACE2</code> environment variable. | |
| The following table shows possible values. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| trace2.perfTarget | |
| </dt> | |
| <dd> | |
| <p> | |
| This variable controls the performance target destination. | |
| It may be overridden by the <code>GIT_TRACE2_PERF</code> environment variable. | |
| The following table shows possible values. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| trace2.eventTarget | |
| </dt> | |
| <dd> | |
| <p> | |
| This variable controls the event target destination. | |
| It may be overridden by the <code>GIT_TRACE2_EVENT</code> environment variable. | |
| The following table shows possible values. | |
| </p> | |
| <div class="openblock"> | |
| <div class="content"> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| <code>0</code> or <code>false</code> - Disables the target. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>1</code> or <code>true</code> - Writes to <code>STDERR</code>. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>[2-9]</code> - Writes to the already opened file descriptor. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code><absolute-pathname></code> - Writes to the file in append mode. If the target | |
| already exists and is a directory, the traces will be written to files (one | |
| per process) underneath the given directory. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>af_unix:[<socket-type>:]<absolute-pathname></code> - Write to a | |
| Unix DomainSocket (on platforms that support them). Socket | |
| type can be either <code>stream</code> or <code>dgram</code>; if omitted Git will | |
| try both. | |
| </p> | |
| </li> | |
| </ul></div> | |
| </div></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| trace2.normalBrief | |
| </dt> | |
| <dd> | |
| <p> | |
| Boolean. When true <code>time</code>, <code>filename</code>, and <code>line</code> fields are | |
| omitted from normal output. May be overridden by the | |
| <code>GIT_TRACE2_BRIEF</code> environment variable. Defaults to false. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| trace2.perfBrief | |
| </dt> | |
| <dd> | |
| <p> | |
| Boolean. When true <code>time</code>, <code>filename</code>, and <code>line</code> fields are | |
| omitted from PERF output. May be overridden by the | |
| <code>GIT_TRACE2_PERF_BRIEF</code> environment variable. Defaults to false. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| trace2.eventBrief | |
| </dt> | |
| <dd> | |
| <p> | |
| Boolean. When true <code>time</code>, <code>filename</code>, and <code>line</code> fields are | |
| omitted from event output. May be overridden by the | |
| <code>GIT_TRACE2_EVENT_BRIEF</code> environment variable. Defaults to false. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| trace2.eventNesting | |
| </dt> | |
| <dd> | |
| <p> | |
| Integer. Specifies desired depth of nested regions in the | |
| event output. Regions deeper than this value will be | |
| omitted. May be overridden by the <code>GIT_TRACE2_EVENT_NESTING</code> | |
| environment variable. Defaults to 2. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| trace2.configParams | |
| </dt> | |
| <dd> | |
| <p> | |
| A comma-separated list of patterns of "important" config | |
| settings that should be recorded in the trace2 output. | |
| For example, <code>core.*,remote.*.url</code> would cause the trace2 | |
| output to contain events listing each configured remote. | |
| May be overridden by the <code>GIT_TRACE2_CONFIG_PARAMS</code> environment | |
| variable. Unset by default. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| trace2.envVars | |
| </dt> | |
| <dd> | |
| <p> | |
| A comma-separated list of "important" environment variables that should | |
| be recorded in the trace2 output. For example, | |
| <code>GIT_HTTP_USER_AGENT,GIT_CONFIG</code> would cause the trace2 output to | |
| contain events listing the overrides for HTTP user agent and the | |
| location of the Git configuration file (assuming any are set). May be | |
| overridden by the <code>GIT_TRACE2_ENV_VARS</code> environment variable. Unset by | |
| default. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| trace2.destinationDebug | |
| </dt> | |
| <dd> | |
| <p> | |
| Boolean. When true Git will print error messages when a | |
| trace target destination cannot be opened for writing. | |
| By default, these errors are suppressed and tracing is | |
| silently disabled. May be overridden by the | |
| <code>GIT_TRACE2_DST_DEBUG</code> environment variable. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| trace2.maxFiles | |
| </dt> | |
| <dd> | |
| <p> | |
| Integer. When writing trace files to a target directory, do not | |
| write additional traces if doing so would exceed this many files. Instead, | |
| write a sentinel file that will block further tracing to this | |
| directory. Defaults to 0, which disables this check. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| transfer.credentialsInUrl | |
| </dt> | |
| <dd> | |
| <p> | |
| A configured URL can contain plaintext credentials in the form | |
| <code><protocol>://<user>:<password>@<domain>/<path></code>. You may want | |
| to warn or forbid the use of such configuration (in favor of | |
| using <a href="git-credential.html">git-credential(1)</a>). This will be used on | |
| <a href="git-clone.html">git-clone(1)</a>, <a href="git-fetch.html">git-fetch(1)</a>, <a href="git-push.html">git-push(1)</a>, | |
| and any other direct use of the configured URL. | |
| </p> | |
| <div class="paragraph"><p>Note that this is currently limited to detecting credentials in | |
| <code>remote.<name>.url</code> configuration; it won’t detect credentials in | |
| <code>remote.<name>.pushurl</code> configuration.</p></div> | |
| <div class="paragraph"><p>You might want to enable this to prevent inadvertent credentials | |
| exposure, e.g. because:</p></div> | |
| <div class="ulist"><ul> | |
| <li> | |
| <p> | |
| The OS or system where you’re running git may not provide a way or | |
| otherwise allow you to configure the permissions of the | |
| configuration file where the username and/or password are stored. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| Even if it does, having such data stored "at rest" might expose you | |
| in other ways, e.g. a backup process might copy the data to another | |
| system. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| The git programs will pass the full URL to one another as arguments | |
| on the command-line, meaning the credentials will be exposed to other | |
| unprivileged users on systems that allow them to see the full | |
| process list of other users. On linux the "hidepid" setting | |
| documented in procfs(5) allows for configuring this behavior. | |
| </p> | |
| <div class="paragraph"><p>If such concerns don’t apply to you then you probably don’t need to be | |
| concerned about credentials exposure due to storing sensitive | |
| data in git’s configuration files. If you do want to use this, set | |
| <code>transfer.credentialsInUrl</code> to one of these values:</p></div> | |
| </li> | |
| <li> | |
| <p> | |
| <code>allow</code> (default): Git will proceed with its activity without warning. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>warn</code>: Git will write a warning message to <code>stderr</code> when parsing a URL | |
| with a plaintext credential. | |
| </p> | |
| </li> | |
| <li> | |
| <p> | |
| <code>die</code>: Git will write a failure message to <code>stderr</code> when parsing a URL | |
| with a plaintext credential. | |
| </p> | |
| </li> | |
| </ul></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| transfer.fsckObjects | |
| </dt> | |
| <dd> | |
| <p> | |
| When <code>fetch.fsckObjects</code> or <code>receive.fsckObjects</code> are | |
| not set, the value of this variable is used instead. | |
| Defaults to false. | |
| </p> | |
| <div class="paragraph"><p>When set, the fetch or receive will abort in the case of a malformed | |
| object or a link to a nonexistent object. In addition, various other | |
| issues are checked for, including legacy issues (see <code>fsck.<msg-id></code>), | |
| and potential security issues like the existence of a <code>.GIT</code> directory | |
| or a malicious <code>.gitmodules</code> file (see the release notes for v2.2.1 | |
| and v2.17.1 for details). Other sanity and security checks may be | |
| added in future releases.</p></div> | |
| <div class="paragraph"><p>On the receiving side, failing fsckObjects will make those objects | |
| unreachable, see "QUARANTINE ENVIRONMENT" in | |
| <a href="git-receive-pack.html">git-receive-pack(1)</a>. On the fetch side, malformed objects will | |
| instead be left unreferenced in the repository.</p></div> | |
| <div class="paragraph"><p>Due to the non-quarantine nature of the <code>fetch.fsckObjects</code> | |
| implementation it cannot be relied upon to leave the object store | |
| clean like <code>receive.fsckObjects</code> can.</p></div> | |
| <div class="paragraph"><p>As objects are unpacked they’re written to the object store, so there | |
| can be cases where malicious objects get introduced even though the | |
| "fetch" failed, only to have a subsequent "fetch" succeed because only | |
| new incoming objects are checked, not those that have already been | |
| written to the object store. That difference in behavior should not be | |
| relied upon. In the future, such objects may be quarantined for | |
| "fetch" as well.</p></div> | |
| <div class="paragraph"><p>For now, the paranoid need to find some way to emulate the quarantine | |
| environment if they’d like the same protection as "push". E.g. in the | |
| case of an internal mirror do the mirroring in two steps, one to fetch | |
| the untrusted objects, and then do a second "push" (which will use the | |
| quarantine) to another internal repo, and have internal clients | |
| consume this pushed-to repository, or embargo internal fetches and | |
| only allow them once a full "fsck" has run (and no new fetches have | |
| happened in the meantime).</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| transfer.hideRefs | |
| </dt> | |
| <dd> | |
| <p> | |
| String(s) <code>receive-pack</code> and <code>upload-pack</code> use to decide which | |
| refs to omit from their initial advertisements. Use more than | |
| one definition to specify multiple prefix strings. A ref that is | |
| under the hierarchies listed in the value of this variable is | |
| excluded, and is hidden when responding to <code>git push</code> or <code>git | |
| fetch</code>. See <code>receive.hideRefs</code> and <code>uploadpack.hideRefs</code> for | |
| program-specific versions of this config. | |
| </p> | |
| <div class="paragraph"><p>You may also include a <code>!</code> in front of the ref name to negate the entry, | |
| explicitly exposing it, even if an earlier entry marked it as hidden. | |
| If you have multiple hideRefs values, later entries override earlier ones | |
| (and entries in more-specific config files override less-specific ones).</p></div> | |
| <div class="paragraph"><p>If a namespace is in use, the namespace prefix is stripped from each | |
| reference before it is matched against <code>transfer.hiderefs</code> patterns. In | |
| order to match refs before stripping, add a <code>^</code> in front of the ref name. If | |
| you combine <code>!</code> and <code>^</code>, <code>!</code> must be specified first.</p></div> | |
| <div class="paragraph"><p>For example, if <code>refs/heads/master</code> is specified in <code>transfer.hideRefs</code> and | |
| the current namespace is <code>foo</code>, then <code>refs/namespaces/foo/refs/heads/master</code> | |
| is omitted from the advertisements. If <code>uploadpack.allowRefInWant</code> is set, | |
| <code>upload-pack</code> will treat <code>want-ref refs/heads/master</code> in a protocol v2 | |
| <code>fetch</code> command as if <code>refs/namespaces/foo/refs/heads/master</code> did not exist. | |
| <code>receive-pack</code>, on the other hand, will still advertise the object id the | |
| ref is pointing to without mentioning its name (a so-called ".have" line).</p></div> | |
| <div class="paragraph"><p>Even if you hide refs, a client may still be able to steal the target | |
| objects via the techniques described in the "SECURITY" section of the | |
| <a href="gitnamespaces.html">gitnamespaces(7)</a> man page; it’s best to keep private data in a | |
| separate repository.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| transfer.unpackLimit | |
| </dt> | |
| <dd> | |
| <p> | |
| When <code>fetch.unpackLimit</code> or <code>receive.unpackLimit</code> are | |
| not set, the value of this variable is used instead. | |
| The default value is 100. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| transfer.advertiseSID | |
| </dt> | |
| <dd> | |
| <p> | |
| Boolean. When true, client and server processes will advertise their | |
| unique session IDs to their remote counterpart. Defaults to false. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| transfer.bundleURI | |
| </dt> | |
| <dd> | |
| <p> | |
| When <code>true</code>, local <code>git clone</code> commands will request bundle | |
| information from the remote server (if advertised) and download | |
| bundles before continuing the clone through the Git protocol. | |
| Defaults to <code>false</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| uploadarchive.allowUnreachable | |
| </dt> | |
| <dd> | |
| <p> | |
| If true, allow clients to use <code>git archive --remote</code> to request | |
| any tree, whether reachable from the ref tips or not. See the | |
| discussion in the "SECURITY" section of | |
| <a href="git-upload-archive.html">git-upload-archive(1)</a> for more details. Defaults to | |
| <code>false</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| uploadpack.hideRefs | |
| </dt> | |
| <dd> | |
| <p> | |
| This variable is the same as <code>transfer.hideRefs</code>, but applies | |
| only to <code>upload-pack</code> (and so affects only fetches, not pushes). | |
| An attempt to fetch a hidden ref by <code>git fetch</code> will fail. See | |
| also <code>uploadpack.allowTipSHA1InWant</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| uploadpack.allowTipSHA1InWant | |
| </dt> | |
| <dd> | |
| <p> | |
| When <code>uploadpack.hideRefs</code> is in effect, allow <code>upload-pack</code> | |
| to accept a fetch request that asks for an object at the tip | |
| of a hidden ref (by default, such a request is rejected). | |
| See also <code>uploadpack.hideRefs</code>. Even if this is false, a client | |
| may be able to steal objects via the techniques described in the | |
| "SECURITY" section of the <a href="gitnamespaces.html">gitnamespaces(7)</a> man page; it’s | |
| best to keep private data in a separate repository. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| uploadpack.allowReachableSHA1InWant | |
| </dt> | |
| <dd> | |
| <p> | |
| Allow <code>upload-pack</code> to accept a fetch request that asks for an | |
| object that is reachable from any ref tip. However, note that | |
| calculating object reachability is computationally expensive. | |
| Defaults to <code>false</code>. Even if this is false, a client may be able | |
| to steal objects via the techniques described in the "SECURITY" | |
| section of the <a href="gitnamespaces.html">gitnamespaces(7)</a> man page; it’s best to | |
| keep private data in a separate repository. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| uploadpack.allowAnySHA1InWant | |
| </dt> | |
| <dd> | |
| <p> | |
| Allow <code>upload-pack</code> to accept a fetch request that asks for any | |
| object at all. | |
| Defaults to <code>false</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| uploadpack.keepAlive | |
| </dt> | |
| <dd> | |
| <p> | |
| When <code>upload-pack</code> has started <code>pack-objects</code>, there may be a | |
| quiet period while <code>pack-objects</code> prepares the pack. Normally | |
| it would output progress information, but if <code>--quiet</code> was used | |
| for the fetch, <code>pack-objects</code> will output nothing at all until | |
| the pack data begins. Some clients and networks may consider | |
| the server to be hung and give up. Setting this option instructs | |
| <code>upload-pack</code> to send an empty keepalive packet every | |
| <code>uploadpack.keepAlive</code> seconds. Setting this option to 0 | |
| disables keepalive packets entirely. The default is 5 seconds. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| uploadpack.packObjectsHook | |
| </dt> | |
| <dd> | |
| <p> | |
| If this option is set, when <code>upload-pack</code> would run | |
| <code>git pack-objects</code> to create a packfile for a client, it will | |
| run this shell command instead. The <code>pack-objects</code> command and | |
| arguments it <em>would</em> have run (including the <code>git pack-objects</code> | |
| at the beginning) are appended to the shell command. The stdin | |
| and stdout of the hook are treated as if <code>pack-objects</code> itself | |
| was run. I.e., <code>upload-pack</code> will feed input intended for | |
| <code>pack-objects</code> to the hook, and expects a completed packfile on | |
| stdout. | |
| </p> | |
| <div class="paragraph"><p>Note that this configuration variable is only respected when it is specified | |
| in protected configuration (see <a href="#SCOPES">[SCOPES]</a>). This is a safety measure | |
| against fetching from untrusted repositories.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| uploadpack.allowFilter | |
| </dt> | |
| <dd> | |
| <p> | |
| If this option is set, <code>upload-pack</code> will support partial | |
| clone and partial fetch object filtering. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| uploadpackfilter.allow | |
| </dt> | |
| <dd> | |
| <p> | |
| Provides a default value for unspecified object filters (see: the | |
| below configuration variable). If set to <code>true</code>, this will also | |
| enable all filters which get added in the future. | |
| Defaults to <code>true</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| uploadpackfilter.<filter>.allow | |
| </dt> | |
| <dd> | |
| <p> | |
| Explicitly allow or ban the object filter corresponding to | |
| <code><filter></code>, where <code><filter></code> may be one of: <code>blob:none</code>, | |
| <code>blob:limit</code>, <code>object:type</code>, <code>tree</code>, <code>sparse:oid</code>, or <code>combine</code>. | |
| If using combined filters, both <code>combine</code> and all of the nested | |
| filter kinds must be allowed. Defaults to <code>uploadpackfilter.allow</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| uploadpackfilter.tree.maxDepth | |
| </dt> | |
| <dd> | |
| <p> | |
| Only allow <code>--filter=tree:<n></code> when <code><n></code> is no more than the value of | |
| <code>uploadpackfilter.tree.maxDepth</code>. If set, this also implies | |
| <code>uploadpackfilter.tree.allow=true</code>, unless this configuration | |
| variable had already been set. Has no effect if unset. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| uploadpack.allowRefInWant | |
| </dt> | |
| <dd> | |
| <p> | |
| If this option is set, <code>upload-pack</code> will support the <code>ref-in-want</code> | |
| feature of the protocol version 2 <code>fetch</code> command. This feature | |
| is intended for the benefit of load-balanced servers which may | |
| not have the same view of what OIDs their refs point to due to | |
| replication delay. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| url.<base>.insteadOf | |
| </dt> | |
| <dd> | |
| <p> | |
| Any URL that starts with this value will be rewritten to | |
| start, instead, with <base>. In cases where some site serves a | |
| large number of repositories, and serves them with multiple | |
| access methods, and some users need to use different access | |
| methods, this feature allows people to specify any of the | |
| equivalent URLs and have Git automatically rewrite the URL to | |
| the best alternative for the particular user, even for a | |
| never-before-seen repository on the site. When more than one | |
| insteadOf strings match a given URL, the longest match is used. | |
| </p> | |
| <div class="paragraph"><p>Note that any protocol restrictions will be applied to the rewritten | |
| URL. If the rewrite changes the URL to use a custom protocol or remote | |
| helper, you may need to adjust the <code>protocol.*.allow</code> config to permit | |
| the request. In particular, protocols you expect to use for submodules | |
| must be set to <code>always</code> rather than the default of <code>user</code>. See the | |
| description of <code>protocol.allow</code> above.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| url.<base>.pushInsteadOf | |
| </dt> | |
| <dd> | |
| <p> | |
| Any URL that starts with this value will not be pushed to; | |
| instead, it will be rewritten to start with <base>, and the | |
| resulting URL will be pushed to. In cases where some site serves | |
| a large number of repositories, and serves them with multiple | |
| access methods, some of which do not allow push, this feature | |
| allows people to specify a pull-only URL and have Git | |
| automatically use an appropriate URL to push, even for a | |
| never-before-seen repository on the site. When more than one | |
| pushInsteadOf strings match a given URL, the longest match is | |
| used. If a remote has an explicit pushurl, Git will ignore this | |
| setting for that remote. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| user.name | |
| </dt> | |
| <dt class="hdlist1"> | |
| user.email | |
| </dt> | |
| <dt class="hdlist1"> | |
| author.name | |
| </dt> | |
| <dt class="hdlist1"> | |
| author.email | |
| </dt> | |
| <dt class="hdlist1"> | |
| committer.name | |
| </dt> | |
| <dt class="hdlist1"> | |
| committer.email | |
| </dt> | |
| <dd> | |
| <p> | |
| The <code>user.name</code> and <code>user.email</code> variables determine what ends | |
| up in the <code>author</code> and <code>committer</code> fields of commit | |
| objects. | |
| If you need the <code>author</code> or <code>committer</code> to be different, the | |
| <code>author.name</code>, <code>author.email</code>, <code>committer.name</code>, or | |
| <code>committer.email</code> variables can be set. | |
| All of these can be overridden by the <code>GIT_AUTHOR_NAME</code>, | |
| <code>GIT_AUTHOR_EMAIL</code>, <code>GIT_COMMITTER_NAME</code>, | |
| <code>GIT_COMMITTER_EMAIL</code>, and <code>EMAIL</code> environment variables. | |
| </p> | |
| <div class="paragraph"><p>Note that the <code>name</code> forms of these variables conventionally refer to | |
| some form of a personal name. See <a href="git-commit.html">git-commit(1)</a> and the | |
| environment variables section of <a href="git.html">git(1)</a> for more information on | |
| these settings and the <code>credential.username</code> option if you’re looking | |
| for authentication credentials instead.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| user.useConfigOnly | |
| </dt> | |
| <dd> | |
| <p> | |
| Instruct Git to avoid trying to guess defaults for <code>user.email</code> | |
| and <code>user.name</code>, and instead retrieve the values only from the | |
| configuration. For example, if you have multiple email addresses | |
| and would like to use a different one for each repository, then | |
| with this configuration option set to <code>true</code> in the global config | |
| along with a name, Git will prompt you to set up an email before | |
| making new commits in a newly cloned repository. | |
| Defaults to <code>false</code>. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| user.signingKey | |
| </dt> | |
| <dd> | |
| <p> | |
| If <a href="git-tag.html">git-tag(1)</a> or <a href="git-commit.html">git-commit(1)</a> is not selecting the | |
| key you want it to automatically when creating a signed tag or | |
| commit, you can override the default selection with this variable. | |
| This option is passed unchanged to gpg’s --local-user parameter, | |
| so you may specify a key using any method that gpg supports. | |
| If gpg.format is set to <code>ssh</code> this can contain the path to either | |
| your private ssh key or the public key when ssh-agent is used. | |
| Alternatively it can contain a public key prefixed with <code>key::</code> | |
| directly (e.g.: "key::ssh-rsa XXXXXX identifier"). The private key | |
| needs to be available via ssh-agent. If not set Git will call | |
| gpg.ssh.defaultKeyCommand (e.g.: "ssh-add -L") and try to use the | |
| first key available. For backward compatibility, a raw key which | |
| begins with "ssh-", such as "ssh-rsa XXXXXX identifier", is treated | |
| as "key::ssh-rsa XXXXXX identifier", but this form is deprecated; | |
| use the <code>key::</code> form instead. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| versionsort.prereleaseSuffix (deprecated) | |
| </dt> | |
| <dd> | |
| <p> | |
| Deprecated alias for <code>versionsort.suffix</code>. Ignored if | |
| <code>versionsort.suffix</code> is set. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| versionsort.suffix | |
| </dt> | |
| <dd> | |
| <p> | |
| Even when version sort is used in <a href="git-tag.html">git-tag(1)</a>, tagnames | |
| with the same base version but different suffixes are still sorted | |
| lexicographically, resulting e.g. in prerelease tags appearing | |
| after the main release (e.g. "1.0-rc1" after "1.0"). This | |
| variable can be specified to determine the sorting order of tags | |
| with different suffixes. | |
| </p> | |
| <div class="paragraph"><p>By specifying a single suffix in this variable, any tagname containing | |
| that suffix will appear before the corresponding main release. E.g. if | |
| the variable is set to "-rc", then all "1.0-rcX" tags will appear before | |
| "1.0". If specified multiple times, once per suffix, then the order of | |
| suffixes in the configuration will determine the sorting order of tagnames | |
| with those suffixes. E.g. if "-pre" appears before "-rc" in the | |
| configuration, then all "1.0-preX" tags will be listed before any | |
| "1.0-rcX" tags. The placement of the main release tag relative to tags | |
| with various suffixes can be determined by specifying the empty suffix | |
| among those other suffixes. E.g. if the suffixes "-rc", "", "-ck", and | |
| "-bfs" appear in the configuration in this order, then all "v4.8-rcX" tags | |
| are listed first, followed by "v4.8", then "v4.8-ckX" and finally | |
| "v4.8-bfsX".</p></div> | |
| <div class="paragraph"><p>If more than one suffix matches the same tagname, then that tagname will | |
| be sorted according to the suffix which starts at the earliest position in | |
| the tagname. If more than one different matching suffix starts at | |
| that earliest position, then that tagname will be sorted according to the | |
| longest of those suffixes. | |
| The sorting order between different suffixes is undefined if they are | |
| in multiple config files.</p></div> | |
| </dd> | |
| <dt class="hdlist1"> | |
| web.browser | |
| </dt> | |
| <dd> | |
| <p> | |
| Specify a web browser that may be used by some commands. | |
| Currently only <a href="git-instaweb.html">git-instaweb(1)</a> and <a href="git-help.html">git-help(1)</a> | |
| may use it. | |
| </p> | |
| </dd> | |
| <dt class="hdlist1"> | |
| worktree.guessRemote | |
| </dt> | |
| <dd> | |
| <p> | |
| If no branch is specified and neither <code>-b</code> nor <code>-B</code> nor | |
| <code>--detach</code> is used, then <code>git worktree add</code> defaults to | |
| creating a new branch from HEAD. If <code>worktree.guessRemote</code> is | |
| set to true, <code>worktree add</code> tries to find a remote-tracking | |
| branch whose name uniquely matches the new branch name. If | |
| such a branch exists, it is checked out and set as "upstream" | |
| for the new branch. If no such match can be found, it falls | |
| back to creating a new branch from the current HEAD. | |
| </p> | |
| </dd> | |
| </dl></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="sect1"> | |
| <h2 id="_bugs">BUGS</h2> | |
| <div class="sectionbody"> | |
| <div class="paragraph"><p>When using the deprecated <code>[section.subsection]</code> syntax, changing a value | |
| will result in adding a multi-line key instead of a change, if the subsection | |
| is given with at least one uppercase character. For example when the config | |
| looks like</p></div> | |
| <div class="listingblock"> | |
| <div class="content"> | |
| <pre><code> [section.subsection] | |
| key = value1</code></pre> | |
| </div></div> | |
| <div class="paragraph"><p>and running <code>git config section.Subsection.key value2</code> will result in</p></div> | |
| <div class="listingblock"> | |
| <div class="content"> | |
| <pre><code> [section.subsection] | |
| key = value1 | |
| key = value2</code></pre> | |
| </div></div> | |
| </div> | |
| </div> | |
| <div class="sect1"> | |
| <h2 id="_git">GIT</h2> | |
| <div class="sectionbody"> | |
| <div class="paragraph"><p>Part of the <a href="git.html">git(1)</a> suite</p></div> | |
| </div> | |
| </div> | |
| </div> | |
| <div id="footnotes"><hr /></div> | |
| <div id="footer"> | |
| <div id="footer-text"> | |
| Last updated | |
| 2024-02-08 15:45:59 PST | |
| </div> | |
| </div> | |
| </body> | |
| </html> |