| <!DOCTYPE html> | 
 | <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> | 
 | <head> | 
 | <meta charset="UTF-8"/> | 
 | <meta http-equiv="X-UA-Compatible" content="IE=edge"/> | 
 | <meta name="viewport" content="width=device-width, initial-scale=1.0"/> | 
 | <meta name="generator" content="Asciidoctor 2.0.23"/> | 
 | <title>git-config(1)</title> | 
 | <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700"/> | 
 | <style> | 
 | /*! Asciidoctor default stylesheet | MIT License | https://asciidoctor.org */ | 
 | /* Uncomment the following line when using as a custom stylesheet */ | 
 | /* @import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700"; */ | 
 | html{font-family:sans-serif;-webkit-text-size-adjust:100%} | 
 | a{background:none} | 
 | a:focus{outline:thin dotted} | 
 | a:active,a:hover{outline:0} | 
 | h1{font-size:2em;margin:.67em 0} | 
 | b,strong{font-weight:bold} | 
 | abbr{font-size:.9em} | 
 | abbr[title]{cursor:help;border-bottom:1px dotted #dddddf;text-decoration:none} | 
 | dfn{font-style:italic} | 
 | hr{height:0} | 
 | mark{background:#ff0;color:#000} | 
 | code,kbd,pre,samp{font-family:monospace;font-size:1em} | 
 | pre{white-space:pre-wrap} | 
 | q{quotes:"\201C" "\201D" "\2018" "\2019"} | 
 | small{font-size:80%} | 
 | sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline} | 
 | sup{top:-.5em} | 
 | sub{bottom:-.25em} | 
 | img{border:0} | 
 | svg:not(:root){overflow:hidden} | 
 | figure{margin:0} | 
 | audio,video{display:inline-block} | 
 | audio:not([controls]){display:none;height:0} | 
 | fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em} | 
 | legend{border:0;padding:0} | 
 | button,input,select,textarea{font-family:inherit;font-size:100%;margin:0} | 
 | button,input{line-height:normal} | 
 | button,select{text-transform:none} | 
 | button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer} | 
 | button[disabled],html input[disabled]{cursor:default} | 
 | input[type=checkbox],input[type=radio]{padding:0} | 
 | button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0} | 
 | textarea{overflow:auto;vertical-align:top} | 
 | table{border-collapse:collapse;border-spacing:0} | 
 | *,::before,::after{box-sizing:border-box} | 
 | html,body{font-size:100%} | 
 | body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-wrap:anywhere;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased} | 
 | a:hover{cursor:pointer} | 
 | img,object,embed{max-width:100%;height:auto} | 
 | object,embed{height:100%} | 
 | img{-ms-interpolation-mode:bicubic} | 
 | .left{float:left!important} | 
 | .right{float:right!important} | 
 | .text-left{text-align:left!important} | 
 | .text-right{text-align:right!important} | 
 | .text-center{text-align:center!important} | 
 | .text-justify{text-align:justify!important} | 
 | .hide{display:none} | 
 | img,object,svg{display:inline-block;vertical-align:middle} | 
 | textarea{height:auto;min-height:50px} | 
 | select{width:100%} | 
 | .subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em} | 
 | div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0} | 
 | a{color:#2156a5;text-decoration:underline;line-height:inherit} | 
 | a:hover,a:focus{color:#1d4b8f} | 
 | a img{border:0} | 
 | p{line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility} | 
 | p aside{font-size:.875em;line-height:1.35;font-style:italic} | 
 | h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em} | 
 | h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0} | 
 | h1{font-size:2.125em} | 
 | h2{font-size:1.6875em} | 
 | h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em} | 
 | h4,h5{font-size:1.125em} | 
 | h6{font-size:1em} | 
 | hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em} | 
 | em,i{font-style:italic;line-height:inherit} | 
 | strong,b{font-weight:bold;line-height:inherit} | 
 | small{font-size:60%;line-height:inherit} | 
 | code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)} | 
 | ul,ol,dl{line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit} | 
 | ul,ol{margin-left:1.5em} | 
 | ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0} | 
 | ul.circle{list-style-type:circle} | 
 | ul.disc{list-style-type:disc} | 
 | ul.square{list-style-type:square} | 
 | ul.circle ul:not([class]),ul.disc ul:not([class]),ul.square ul:not([class]){list-style:inherit} | 
 | ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0} | 
 | dl dt{margin-bottom:.3125em;font-weight:bold} | 
 | dl dd{margin-bottom:1.25em} | 
 | blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd} | 
 | blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)} | 
 | @media screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2} | 
 | h1{font-size:2.75em} | 
 | h2{font-size:2.3125em} | 
 | h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em} | 
 | h4{font-size:1.4375em}} | 
 | table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede;word-wrap:normal} | 
 | table thead,table tfoot{background:#f7f8f7} | 
 | table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left} | 
 | table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)} | 
 | table tr.even,table tr.alt{background:#f8f8f7} | 
 | table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{line-height:1.6} | 
 | h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em} | 
 | h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400} | 
 | .center{margin-left:auto;margin-right:auto} | 
 | .stretch{width:100%} | 
 | .clearfix::before,.clearfix::after,.float-group::before,.float-group::after{content:" ";display:table} | 
 | .clearfix::after,.float-group::after{clear:both} | 
 | :not(pre).nobreak{word-wrap:normal} | 
 | :not(pre).nowrap{white-space:nowrap} | 
 | :not(pre).pre-wrap{white-space:pre-wrap} | 
 | :not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed} | 
 | pre{color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;line-height:1.45;text-rendering:optimizeSpeed} | 
 | pre code,pre pre{color:inherit;font-size:inherit;line-height:inherit} | 
 | pre>code{display:block} | 
 | pre.nowrap,pre.nowrap pre{white-space:pre;word-wrap:normal} | 
 | em em{font-style:normal} | 
 | strong strong{font-weight:400} | 
 | .keyseq{color:rgba(51,51,51,.8)} | 
 | kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap} | 
 | .keyseq kbd:first-child{margin-left:0} | 
 | .keyseq kbd:last-child{margin-right:0} | 
 | .menuseq,.menuref{color:#000} | 
 | .menuseq b:not(.caret),.menuref{font-weight:inherit} | 
 | .menuseq{word-spacing:-.02em} | 
 | .menuseq b.caret{font-size:1.25em;line-height:.8} | 
 | .menuseq i.caret{font-weight:bold;text-align:center;width:.45em} | 
 | b.button::before,b.button::after{position:relative;top:-1px;font-weight:400} | 
 | b.button::before{content:"[";padding:0 3px 0 2px} | 
 | b.button::after{content:"]";padding:0 2px 0 3px} | 
 | p a>code:hover{color:rgba(0,0,0,.9)} | 
 | #header,#content,#footnotes,#footer{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em} | 
 | #header::before,#header::after,#content::before,#content::after,#footnotes::before,#footnotes::after,#footer::before,#footer::after{content:" ";display:table} | 
 | #header::after,#content::after,#footnotes::after,#footer::after{clear:both} | 
 | #content{margin-top:1.25em} | 
 | #content::before{content:none} | 
 | #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0} | 
 | #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf} | 
 | #header>h1:only-child{border-bottom:1px solid #dddddf;padding-bottom:8px} | 
 | #header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap} | 
 | #header .details span:first-child{margin-left:-.125em} | 
 | #header .details span.email a{color:rgba(0,0,0,.85)} | 
 | #header .details br{display:none} | 
 | #header .details br+span::before{content:"\00a0\2013\00a0"} | 
 | #header .details br+span.author::before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)} | 
 | #header .details br+span#revremark::before{content:"\00a0|\00a0"} | 
 | #header #revnumber{text-transform:capitalize} | 
 | #header #revnumber::after{content:"\00a0"} | 
 | #content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem} | 
 | #toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em} | 
 | #toc>ul{margin-left:.125em} | 
 | #toc ul.sectlevel0>li>a{font-style:italic} | 
 | #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0} | 
 | #toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none} | 
 | #toc li{line-height:1.3334;margin-top:.3334em} | 
 | #toc a{text-decoration:none} | 
 | #toc a:active{text-decoration:underline} | 
 | #toctitle{color:#7a2518;font-size:1.2em} | 
 | @media screen and (min-width:768px){#toctitle{font-size:1.375em} | 
 | body.toc2{padding-left:15em;padding-right:0} | 
 | body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px} | 
 | #toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto} | 
 | #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em} | 
 | #toc.toc2>ul{font-size:.9em;margin-bottom:0} | 
 | #toc.toc2 ul ul{margin-left:0;padding-left:1em} | 
 | #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em} | 
 | body.toc2.toc-right{padding-left:0;padding-right:15em} | 
 | body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}} | 
 | @media screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0} | 
 | #toc.toc2{width:20em} | 
 | #toc.toc2 #toctitle{font-size:1.375em} | 
 | #toc.toc2>ul{font-size:.95em} | 
 | #toc.toc2 ul ul{padding-left:1.25em} | 
 | body.toc2.toc-right{padding-left:0;padding-right:20em}} | 
 | #content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px} | 
 | #content #toc>:first-child{margin-top:0} | 
 | #content #toc>:last-child{margin-bottom:0} | 
 | #footer{max-width:none;background:rgba(0,0,0,.8);padding:1.25em} | 
 | #footer-text{color:hsla(0,0%,100%,.8);line-height:1.44} | 
 | #content{margin-bottom:.625em} | 
 | .sect1{padding-bottom:.625em} | 
 | @media screen and (min-width:768px){#content{margin-bottom:1.25em} | 
 | .sect1{padding-bottom:1.25em}} | 
 | .sect1:last-child{padding-bottom:0} | 
 | .sect1+.sect1{border-top:1px solid #e7e7e9} | 
 | #content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400} | 
 | #content h1>a.anchor::before,h2>a.anchor::before,h3>a.anchor::before,#toctitle>a.anchor::before,.sidebarblock>.content>.title>a.anchor::before,h4>a.anchor::before,h5>a.anchor::before,h6>a.anchor::before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em} | 
 | #content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible} | 
 | #content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none} | 
 | #content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221} | 
 | details,.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em} | 
 | details{margin-left:1.25rem} | 
 | details>summary{cursor:pointer;display:block;position:relative;line-height:1.6;margin-bottom:.625rem;outline:none;-webkit-tap-highlight-color:transparent} | 
 | details>summary::-webkit-details-marker{display:none} | 
 | details>summary::before{content:"";border:solid transparent;border-left:solid;border-width:.3em 0 .3em .5em;position:absolute;top:.5em;left:-1.25rem;transform:translateX(15%)} | 
 | details[open]>summary::before{border:solid transparent;border-top:solid;border-width:.5em .3em 0;transform:translateY(15%)} | 
 | details>summary::after{content:"";width:1.25rem;height:1em;position:absolute;top:.3em;left:-1.25rem} | 
 | .admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic} | 
 | table.tableblock.fit-content>caption.title{white-space:nowrap;width:0} | 
 | .paragraph.lead>p,#preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)} | 
 | .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%} | 
 | .admonitionblock>table td.icon{text-align:center;width:80px} | 
 | .admonitionblock>table td.icon img{max-width:none} | 
 | .admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase} | 
 | .admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6);word-wrap:anywhere} | 
 | .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0} | 
 | .exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px} | 
 | .sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px} | 
 | .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center} | 
 | .exampleblock>.content>:first-child,.sidebarblock>.content>:first-child{margin-top:0} | 
 | .exampleblock>.content>:last-child,.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0} | 
 | .literalblock pre,.listingblock>.content>pre{border-radius:4px;overflow-x:auto;padding:1em;font-size:.8125em} | 
 | @media screen and (min-width:768px){.literalblock pre,.listingblock>.content>pre{font-size:.90625em}} | 
 | @media screen and (min-width:1280px){.literalblock pre,.listingblock>.content>pre{font-size:1em}} | 
 | .literalblock pre,.listingblock>.content>pre:not(.highlight),.listingblock>.content>pre[class=highlight],.listingblock>.content>pre[class^="highlight "]{background:#f7f7f8} | 
 | .literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)} | 
 | .listingblock>.content{position:relative} | 
 | .listingblock code[data-lang]::before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5} | 
 | .listingblock:hover code[data-lang]::before{display:block} | 
 | .listingblock.terminal pre .command::before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5} | 
 | .listingblock.terminal pre .command:not([data-prompt])::before{content:"$"} | 
 | .listingblock pre.highlightjs{padding:0} | 
 | .listingblock pre.highlightjs>code{padding:1em;border-radius:4px} | 
 | .listingblock pre.prettyprint{border-width:0} | 
 | .prettyprint{background:#f7f7f8} | 
 | pre.prettyprint .linenums{line-height:1.45;margin-left:2em} | 
 | pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0} | 
 | pre.prettyprint li code[data-lang]::before{opacity:1} | 
 | pre.prettyprint li:not(:first-child) code[data-lang]::before{display:none} | 
 | table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none} | 
 | table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal} | 
 | table.linenotable td.code{padding-left:.75em} | 
 | table.linenotable td.linenos,pre.pygments .linenos{border-right:1px solid;opacity:.35;padding-right:.5em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none} | 
 | pre.pygments span.linenos{display:inline-block;margin-right:.75em} | 
 | .quoteblock{margin:0 1em 1.25em 1.5em;display:table} | 
 | .quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em} | 
 | .quoteblock blockquote,.quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify} | 
 | .quoteblock blockquote{margin:0;padding:0;border:0} | 
 | .quoteblock blockquote::before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)} | 
 | .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0} | 
 | .quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right} | 
 | .verseblock{margin:0 1em 1.25em} | 
 | .verseblock pre{font-family:"Open Sans","DejaVu Sans",sans-serif;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility} | 
 | .verseblock pre strong{font-weight:400} | 
 | .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex} | 
 | .quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic} | 
 | .quoteblock .attribution br,.verseblock .attribution br{display:none} | 
 | .quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)} | 
 | .quoteblock.abstract blockquote::before,.quoteblock.excerpt blockquote::before,.quoteblock .quoteblock blockquote::before{display:none} | 
 | .quoteblock.abstract blockquote,.quoteblock.abstract p,.quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{line-height:1.6;word-spacing:0} | 
 | .quoteblock.abstract{margin:0 1em 1.25em;display:block} | 
 | .quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center} | 
 | .quoteblock.excerpt>blockquote,.quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf} | 
 | .quoteblock.excerpt,.quoteblock .quoteblock{margin-left:0} | 
 | .quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{color:inherit;font-size:1.0625rem} | 
 | .quoteblock.excerpt .attribution,.quoteblock .quoteblock .attribution{color:inherit;font-size:.85rem;text-align:left;margin-right:0} | 
 | p.tableblock:last-child{margin-bottom:0} | 
 | td.tableblock>.content{margin-bottom:1.25em;word-wrap:anywhere} | 
 | td.tableblock>.content>:last-child{margin-bottom:-1.25em} | 
 | table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede} | 
 | table.grid-all>*>tr>*{border-width:1px} | 
 | table.grid-cols>*>tr>*{border-width:0 1px} | 
 | table.grid-rows>*>tr>*{border-width:1px 0} | 
 | table.frame-all{border-width:1px} | 
 | table.frame-ends{border-width:1px 0} | 
 | table.frame-sides{border-width:0 1px} | 
 | table.frame-none>colgroup+*>:first-child>*,table.frame-sides>colgroup+*>:first-child>*{border-top-width:0} | 
 | table.frame-none>:last-child>:last-child>*,table.frame-sides>:last-child>:last-child>*{border-bottom-width:0} | 
 | table.frame-none>*>tr>:first-child,table.frame-ends>*>tr>:first-child{border-left-width:0} | 
 | table.frame-none>*>tr>:last-child,table.frame-ends>*>tr>:last-child{border-right-width:0} | 
 | table.stripes-all>*>tr,table.stripes-odd>*>tr:nth-of-type(odd),table.stripes-even>*>tr:nth-of-type(even),table.stripes-hover>*>tr:hover{background:#f8f8f7} | 
 | th.halign-left,td.halign-left{text-align:left} | 
 | th.halign-right,td.halign-right{text-align:right} | 
 | th.halign-center,td.halign-center{text-align:center} | 
 | th.valign-top,td.valign-top{vertical-align:top} | 
 | th.valign-bottom,td.valign-bottom{vertical-align:bottom} | 
 | th.valign-middle,td.valign-middle{vertical-align:middle} | 
 | table thead th,table tfoot th{font-weight:bold} | 
 | tbody tr th{background:#f7f8f7} | 
 | tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold} | 
 | p.tableblock>code:only-child{background:none;padding:0} | 
 | p.tableblock{font-size:1em} | 
 | ol{margin-left:1.75em} | 
 | ul li ol{margin-left:1.5em} | 
 | dl dd{margin-left:1.125em} | 
 | dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0} | 
 | li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em} | 
 | ul.checklist,ul.none,ol.none,ul.no-bullet,ol.no-bullet,ol.unnumbered,ul.unstyled,ol.unstyled{list-style-type:none} | 
 | ul.no-bullet,ol.no-bullet,ol.unnumbered{margin-left:.625em} | 
 | ul.unstyled,ol.unstyled{margin-left:0} | 
 | li>p:empty:only-child::before{content:"";display:inline-block} | 
 | ul.checklist>li>p:first-child{margin-left:-1em} | 
 | ul.checklist>li>p:first-child>.fa-square-o:first-child,ul.checklist>li>p:first-child>.fa-check-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em} | 
 | ul.checklist>li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em} | 
 | ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em} | 
 | ul.inline>li{margin-left:1.25em} | 
 | .unstyled dl dt{font-weight:400;font-style:normal} | 
 | ol.arabic{list-style-type:decimal} | 
 | ol.decimal{list-style-type:decimal-leading-zero} | 
 | 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} | 
 | ol.lowergreek{list-style-type:lower-greek} | 
 | .hdlist>table,.colist>table{border:0;background:none} | 
 | .hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none} | 
 | td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em} | 
 | td.hdlist1{font-weight:bold;padding-bottom:1.25em} | 
 | td.hdlist2{word-wrap:anywhere} | 
 | .literalblock+.colist,.listingblock+.colist{margin-top:-.5em} | 
 | .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top} | 
 | .colist td:not([class]):first-child img{max-width:none} | 
 | .colist td:not([class]):last-child{padding:.25em 0} | 
 | .thumb,.th{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd} | 
 | .imageblock.left{margin:.25em .625em 1.25em 0} | 
 | .imageblock.right{margin:.25em 0 1.25em .625em} | 
 | .imageblock>.title{margin-bottom:0} | 
 | .imageblock.thumb,.imageblock.th{border-width:6px} | 
 | .imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em} | 
 | .image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0} | 
 | .image.left{margin-right:.625em} | 
 | .image.right{margin-left:.625em} | 
 | a.image{text-decoration:none;display:inline-block} | 
 | a.image object{pointer-events:none} | 
 | sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super} | 
 | sup.footnote a,sup.footnoteref a{text-decoration:none} | 
 | sup.footnote a:active,sup.footnoteref a:active,#footnotes .footnote a:first-of-type:active{text-decoration:underline} | 
 | #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em} | 
 | #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0} | 
 | #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em} | 
 | #footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none;margin-left:-1.05em} | 
 | #footnotes .footnote:last-of-type{margin-bottom:0} | 
 | #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0} | 
 | div.unbreakable{page-break-inside:avoid} | 
 | .big{font-size:larger} | 
 | .small{font-size:smaller} | 
 | .underline{text-decoration:underline} | 
 | .overline{text-decoration:overline} | 
 | .line-through{text-decoration:line-through} | 
 | .aqua{color:#00bfbf} | 
 | .aqua-background{background:#00fafa} | 
 | .black{color:#000} | 
 | .black-background{background:#000} | 
 | .blue{color:#0000bf} | 
 | .blue-background{background:#0000fa} | 
 | .fuchsia{color:#bf00bf} | 
 | .fuchsia-background{background:#fa00fa} | 
 | .gray{color:#606060} | 
 | .gray-background{background:#7d7d7d} | 
 | .green{color:#006000} | 
 | .green-background{background:#007d00} | 
 | .lime{color:#00bf00} | 
 | .lime-background{background:#00fa00} | 
 | .maroon{color:#600000} | 
 | .maroon-background{background:#7d0000} | 
 | .navy{color:#000060} | 
 | .navy-background{background:#00007d} | 
 | .olive{color:#606000} | 
 | .olive-background{background:#7d7d00} | 
 | .purple{color:#600060} | 
 | .purple-background{background:#7d007d} | 
 | .red{color:#bf0000} | 
 | .red-background{background:#fa0000} | 
 | .silver{color:#909090} | 
 | .silver-background{background:#bcbcbc} | 
 | .teal{color:#006060} | 
 | .teal-background{background:#007d7d} | 
 | .white{color:#bfbfbf} | 
 | .white-background{background:#fafafa} | 
 | .yellow{color:#bfbf00} | 
 | .yellow-background{background:#fafa00} | 
 | span.icon>.fa{cursor:default} | 
 | a span.icon>.fa{cursor:inherit} | 
 | .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default} | 
 | .admonitionblock td.icon .icon-note::before{content:"\f05a";color:#19407c} | 
 | .admonitionblock td.icon .icon-tip::before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111} | 
 | .admonitionblock td.icon .icon-warning::before{content:"\f071";color:#bf6900} | 
 | .admonitionblock td.icon .icon-caution::before{content:"\f06d";color:#bf3400} | 
 | .admonitionblock td.icon .icon-important::before{content:"\f06a";color:#bf0000} | 
 | .conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:50%;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold} | 
 | .conum[data-value] *{color:#fff!important} | 
 | .conum[data-value]+b{display:none} | 
 | .conum[data-value]::after{content:attr(data-value)} | 
 | pre .conum[data-value]{position:relative;top:-.125em} | 
 | b.conum *{color:inherit!important} | 
 | .conum:not([data-value]):empty{display:none} | 
 | dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility} | 
 | h1,h2,p,td.content,span.alt,summary{letter-spacing:-.01em} | 
 | p strong,td.content strong,div.footnote strong{letter-spacing:-.005em} | 
 | p,blockquote,dt,td.content,td.hdlist1,span.alt,summary{font-size:1.0625rem} | 
 | p{margin-bottom:1.25rem} | 
 | .sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em} | 
 | .exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc} | 
 | .print-only{display:none!important} | 
 | @page{margin:1.25cm .75cm} | 
 | @media print{*{box-shadow:none!important;text-shadow:none!important} | 
 | html{font-size:80%} | 
 | a{color:inherit!important;text-decoration:underline!important} | 
 | a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important} | 
 | a[href^="http:"]:not(.bare)::after,a[href^="https:"]:not(.bare)::after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em} | 
 | abbr[title]{border-bottom:1px dotted} | 
 | abbr[title]::after{content:" (" attr(title) ")"} | 
 | pre,blockquote,tr,img,object,svg{page-break-inside:avoid} | 
 | thead{display:table-header-group} | 
 | svg{max-width:100%} | 
 | p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3} | 
 | h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid} | 
 | #header,#content,#footnotes,#footer{max-width:none} | 
 | #toc,.sidebarblock,.exampleblock>.content{background:none!important} | 
 | #toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important} | 
 | body.book #header{text-align:center} | 
 | body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em} | 
 | body.book #header .details{border:0!important;display:block;padding:0!important} | 
 | body.book #header .details span:first-child{margin-left:0!important} | 
 | body.book #header .details br{display:block} | 
 | body.book #header .details br+span::before{content:none!important} | 
 | body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important} | 
 | body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always} | 
 | .listingblock code[data-lang]::before{display:block} | 
 | #footer{padding:0 .9375em} | 
 | .hide-on-print{display:none!important} | 
 | .print-only{display:block!important} | 
 | .hide-for-print{display:none!important} | 
 | .show-for-print{display:inherit!important}} | 
 | @media amzn-kf8,print{#header>h1:first-child{margin-top:1.25rem} | 
 | .sect1{padding:0!important} | 
 | .sect1+.sect1{border:0} | 
 | #footer{background:none} | 
 | #footer-text{color:rgba(0,0,0,.6);font-size:.9em}} | 
 | @media amzn-kf8{#header,#content,#footnotes,#footer{padding:0}} | 
 | </style> | 
 | <style> | 
 | pre>code { | 
 |    display: inline; | 
 | } | 
 | </style> | 
 | </head> | 
 | <body class="manpage"> | 
 | <div id="header"> | 
 | <h1>git-config(1) Manual Page</h1> | 
 | <h2 id="_name">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 list</em> [<file-option>] [<display-option>] [--includes] | 
 | <em>git config get</em> [<file-option>] [<display-option>] [--includes] [--all] [--regexp] [--value=<pattern>] [--fixed-value] [--default=<default>] [--url=<url>] <name> | 
 | <em>git config set</em> [<file-option>] [--type=<type>] [--all] [--value=<pattern>] [--fixed-value] <name> <value> | 
 | <em>git config unset</em> [<file-option>] [--all] [--value=<pattern>] [--fixed-value] <name> | 
 | <em>git config rename-section</em> [<file-option>] <old-name> <new-name> | 
 | <em>git config remove-section</em> [<file-option>] <name> | 
 | <em>git config edit</em> [<file-option>] | 
 | <em>git config</em> [<file-option>] --get-colorbool <name> [<stdout-is-tty>]</pre> | 
 | </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>--append</code> option. | 
 | If you want to update or unset an option which can occur on multiple | 
 | lines, <code>--value=</code><em><pattern></em> (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=</code><em><type></em> option instructs <em>git config</em> to ensure that incoming and | 
 | outgoing values are canonicalize-able under the given <type>.  If no | 
 | <code>--type=</code><em><type></em> 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</code> <em><filename></em> 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</code> <em><filename></em> 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</code> <code>help</code> <code>--config</code> command.</p> | 
 | </div> | 
 | </div> | 
 | </div> | 
 | <div class="sect1"> | 
 | <h2 id="_commands">COMMANDS</h2> | 
 | <div class="sectionbody"> | 
 | <div class="dlist"> | 
 | <dl> | 
 | <dt class="hdlist1">list</dt> | 
 | <dd> | 
 | <p>List all variables set in config file, along with their values.</p> | 
 | </dd> | 
 | <dt class="hdlist1">get</dt> | 
 | <dd> | 
 | <p>Emits the value of the specified key. If key is present multiple times | 
 | in the configuration, emits the last value. If <code>--all</code> is specified, | 
 | emits all values associated with key. Returns error code 1 if key is | 
 | not present.</p> | 
 | </dd> | 
 | <dt class="hdlist1">set</dt> | 
 | <dd> | 
 | <p>Set value for one or more config options. By default, this command | 
 | refuses to write multi-valued config options. Passing <code>--all</code> will | 
 | replace all multi-valued config options with the new value, whereas | 
 | <code>--value=</code> will replace all config options whose values match the given | 
 | pattern.</p> | 
 | </dd> | 
 | <dt class="hdlist1">unset</dt> | 
 | <dd> | 
 | <p>Unset value for one or more config options. By default, this command | 
 | refuses to unset multi-valued keys. Passing <code>--all</code> will unset all | 
 | multi-valued config options, whereas <code>--value</code> will unset all config | 
 | options whose values match the given pattern.</p> | 
 | </dd> | 
 | <dt class="hdlist1">rename-section</dt> | 
 | <dd> | 
 | <p>Rename the given section to a new name.</p> | 
 | </dd> | 
 | <dt class="hdlist1">remove-section</dt> | 
 | <dd> | 
 | <p>Remove the given section from the configuration file.</p> | 
 | </dd> | 
 | <dt class="hdlist1">edit</dt> | 
 | <dd> | 
 | <p>Opens an editor to modify the specified config file; either | 
 | <code>--system</code>, <code>--global</code>, <code>--local</code> (default), <code>--worktree</code>, or | 
 | <code>--file</code> <em><config-file></em>.</p> | 
 | </dd> | 
 | </dl> | 
 | </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 <code>--value=</code><em><pattern></em>).</p> | 
 | </dd> | 
 | <dt class="hdlist1">--append</dt> | 
 | <dd> | 
 | <p>Adds a new line to the option without altering any existing | 
 | values. This is the same as providing <em>--value=^$</em> in <code>set</code>.</p> | 
 | </dd> | 
 | <dt class="hdlist1">--comment <message></dt> | 
 | <dd> | 
 | <p>Append a comment at the end of new or modified lines.</p> | 
 | <div class="paragraph"> | 
 | <p>If <em><message></em> begins with one or more whitespaces followed | 
 | by "<mark>", it is used as-is.  If it begins with "</mark>", a space is | 
 | prepended before it is used.  Otherwise, a string " # " (a | 
 | space followed by a hash followed by a space) is prepended | 
 | to it.  And the resulting string is placed immediately after | 
 | the value defined for the variable.  The <em><message></em> must | 
 | not contain linefeed characters (no multi-line comments are | 
 | permitted).</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1">--all</dt> | 
 | <dd> | 
 | <p>With <code>get</code>, return all values for a multi-valued key.</p> | 
 | </dd> | 
 | <dt class="hdlist1">--regexp</dt> | 
 | <dd> | 
 | <p>With <code>get</code>, interpret the name as a regular expression. 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">--url=<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>$</code>(<code>prefix</code>)<code>/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>$</code>(<code>prefix</code>)<code>/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/</code><em><id></em><code>/</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"><code>--value=</code><em><pattern></em></dt> | 
 | <dt class="hdlist1"><code>--no-value</code></dt> | 
 | <dd> | 
 | <p>With <code>get</code>, <code>set</code>, and <code>unset</code>, match only against | 
 | <em><pattern></em>. The pattern is an extended regular expression unless | 
 | <code>--fixed-value</code> is given.</p> | 
 | <div class="paragraph"> | 
 | <p>Use <code>--no-value</code> to unset <em><pattern></em>.</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1">--fixed-value</dt> | 
 | <dd> | 
 | <p>When used with <code>--value=</code><em><pattern></em>, treat <em><pattern></em> 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 <em><pattern></em>.</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 <em><type></em>'s | 
 | canonical form.</p> | 
 | <div class="paragraph"> | 
 | <p>Valid <em><type></em>'s include:</p> | 
 | </div> | 
 | <div class="ulist"> | 
 | <ul> | 
 | <li> | 
 | <p><em>bool</em>: canonicalize values <code>true</code>, <code>yes</code>,<code>on</code>, and positive | 
 | numbers as "true", and values <code>false</code>, <code>no</code>, <code>off</code> and <code>0</code> as | 
 | "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</code> <code>config</code> <code>section.variable</code> | 
 | <code>~/</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=</code><em><type></em> or <code>--</code><em><type></em>.</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</code>.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>--show-names</code></dt> | 
 | <dt class="hdlist1"><code>--no-show-names</code></dt> | 
 | <dd> | 
 | <p>With <code>get</code>, show config keys in addition to their values. The | 
 | default is <code>--no-show-names</code> unless <code>--url</code> is given and there | 
 | are no subsections in <em><name></em>.</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 <em><name></em> (e.g. <code>color.diff</code>) and output | 
 | "true" or "false".  <em><stdout-is-tty></em> should be either "true" or | 
 | "false", and is taken into account when configuration says | 
 | "auto".  If <em><stdout-is-tty></em> 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">--includes</dt> | 
 | <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 that variable.</p> | 
 | </dd> | 
 | </dl> | 
 | </div> | 
 | </div> | 
 | </div> | 
 | <div class="sect1"> | 
 | <h2 id="_deprecated_modes">DEPRECATED MODES</h2> | 
 | <div class="sectionbody"> | 
 | <div class="paragraph"> | 
 | <p>The following modes have been deprecated in favor of subcommands. It is | 
 | recommended to migrate to the new syntax.</p> | 
 | </div> | 
 | <div class="dlist"> | 
 | <dl> | 
 | <dt class="hdlist1"><em>git config <name></em></dt> | 
 | <dd> | 
 | <p>Replaced by <code>git</code> <code>config</code> <code>get</code> <em><name></em>.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><em>git config <name> <value> [<value-pattern>]</em></dt> | 
 | <dd> | 
 | <p>Replaced by <code>git</code> <code>config</code> <code>set</code> [<code>--value=</code><em><pattern></em>] <em><name></em> <em><value></em>.</p> | 
 | </dd> | 
 | <dt class="hdlist1">-l</dt> | 
 | <dt class="hdlist1">--list</dt> | 
 | <dd> | 
 | <p>Replaced by <code>git</code> <code>config</code> <code>list</code>.</p> | 
 | </dd> | 
 | <dt class="hdlist1">--get <name> [<value-pattern>]</dt> | 
 | <dd> | 
 | <p>Replaced by <code>git</code> <code>config</code> <code>get</code> [<code>--value=</code><em><pattern></em>] <em><name></em>.</p> | 
 | </dd> | 
 | <dt class="hdlist1">--get-all <name> [<value-pattern>]</dt> | 
 | <dd> | 
 | <p>Replaced by <code>git</code> <code>config</code> <code>get</code> [<code>--value=</code><em><pattern></em>] <code>--all</code> <em><name></em>.</p> | 
 | </dd> | 
 | <dt class="hdlist1">--get-regexp <name-regexp></dt> | 
 | <dd> | 
 | <p>Replaced by <code>git</code> <code>config</code> <code>get</code> <code>--all</code> <code>--show-names</code> <code>--regexp</code> <em><name-regexp></em>.</p> | 
 | </dd> | 
 | <dt class="hdlist1">--get-urlmatch <name> <URL></dt> | 
 | <dd> | 
 | <p>Replaced by <code>git</code> <code>config</code> <code>get</code> <code>--all</code> <code>--show-names</code> <code>--url=</code><em><URL></em> <em><name></em>.</p> | 
 | </dd> | 
 | <dt class="hdlist1">--get-color <name> [<default>]</dt> | 
 | <dd> | 
 | <p>Replaced by <code>git</code> <code>config</code> <code>get</code> <code>--type=color</code> [<code>--default=</code><em><default></em>] <em><name></em>.</p> | 
 | </dd> | 
 | <dt class="hdlist1">--add <name> <value></dt> | 
 | <dd> | 
 | <p>Replaced by <code>git</code> <code>config</code> <code>set</code> <code>--append</code> <em><name></em> <em><value></em>.</p> | 
 | </dd> | 
 | <dt class="hdlist1">--unset <name> [<value-pattern>]</dt> | 
 | <dd> | 
 | <p>Replaced by <code>git</code> <code>config</code> <code>unset</code> [<code>--value=</code><em><pattern></em>] <em><name></em>.</p> | 
 | </dd> | 
 | <dt class="hdlist1">--unset-all <name> [<value-pattern>]</dt> | 
 | <dd> | 
 | <p>Replaced by <code>git</code> <code>config</code> <code>unset</code> [<code>--value=</code><em><pattern></em>] <code>--all</code> <em><name></em>.</p> | 
 | </dd> | 
 | <dt class="hdlist1">--rename-section <old-name> <new-name></dt> | 
 | <dd> | 
 | <p>Replaced by <code>git</code> <code>config</code> <code>rename-section</code> <em><old-name></em> <em><new-name></em>.</p> | 
 | </dd> | 
 | <dt class="hdlist1">--remove-section <name></dt> | 
 | <dd> | 
 | <p>Replaced by <code>git</code> <code>config</code> <code>remove-section</code> <em><name></em>.</p> | 
 | </dd> | 
 | <dt class="hdlist1">-e</dt> | 
 | <dt class="hdlist1">--edit</dt> | 
 | <dd> | 
 | <p>Replaced by <code>git</code> <code>config</code> <code>edit</code>.</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 <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>set</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</code> <code>-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</code> <code>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># | 
 | # 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</pre> | 
 | </div> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>you can set the filemode to true with</p> | 
 | </div> | 
 | <div class="listingblock"> | 
 | <div class="content"> | 
 | <pre>% git config set core.filemode true</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>% git config set --value='for kernel.org$' core.gitproxy '"ssh" for kernel.org'</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>% git config unset diff.renames</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>% git config get core.filemode</pre> | 
 | </div> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>or, to query a multivar:</p> | 
 | </div> | 
 | <div class="listingblock"> | 
 | <div class="content"> | 
 | <pre>% git config get --value="for kernel.org$" core.gitproxy</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>% git config get --all --show-names core.gitproxy</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>% git config set --all core.gitproxy ssh</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>% git config set --value='! for ' core.gitproxy ssh</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>% git config set --value='[!]' section.key value</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>% git config set --append core.gitproxy '"proxy-command" for example.com'</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>#!/bin/sh | 
 | WS=$(git config get --type=color --default="blue reverse" color.diff.whitespace) | 
 | RESET=$(git config get --type=color --default="reset" "") | 
 | echo "${WS}your whitespace color or blue reverse${RESET}"</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>% git config get --type=bool --url=https://good.example.com http.sslverify | 
 | true | 
 | % git config get --type=bool --url=https://weak.example.com http.sslverify | 
 | false | 
 | % git config get --url=https://weak.example.com http | 
 | http.cookieFile /tmp/cookie.txt | 
 | http.sslverify false</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.  Whitespace characters, | 
 | which in this context are the space character (SP) and the horizontal | 
 | tabulation (HT), 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 . 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>        [section "subsection"]</pre> | 
 | </div> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>Subsection names are case sensitive and can contain any characters except | 
 | newline and the null byte. Doublequote " 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</code> "subsection"], 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>Whitespace characters surrounding <code>name</code>, <code>=</code> and <code>value</code> are discarded. | 
 | Internal whitespace characters within <em>value</em> are retained verbatim. | 
 | Comments starting with either # or ; and extending to the end of line | 
 | are discarded.  A line that defines a value can be continued to the next | 
 | line by ending it with a backslash (<code>\</code>);  the backslash and the end-of-line | 
 | characters are discarded.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>If <code>value</code> needs to contain leading or trailing whitespace characters, | 
 | it must be enclosed in double quotation marks (").  Inside double quotation | 
 | marks, double quote (") and backslash (<code>\</code>) characters must be escaped: | 
 | use <code>\</code>" for " 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.</code><em><condition></em><code>.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> and a colon 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> and a colon 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 and a colon 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># 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</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>=</code> <em><value></em> | 
 | 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 #ff0ab3, or 12-bit RGB values like #f1b, which is | 
 | equivalent to the 24-bit color #ff11bb.</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</code> <code>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</code> <code>--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>%</code>(<code>prefix</code>)<code>/</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>%</code>(<code>prefix</code>)<code>/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>/%</code>(<code>prefix</code>)<code>/bin</code>.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>If prefixed with <code>:</code>(<code>optional</code>), the configuration variable is treated | 
 | as if it does not exist, if the named path does not exist.</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"><code>add.ignoreErrors</code></dt> | 
 | <dt class="hdlist1"><code>add.ignore-errors</code> (deprecated)</dt> | 
 | <dd> | 
 | <p>Tells <code>git</code> <code>add</code> 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">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 have understood the issue and no longer need a specific | 
 | help message by setting the corresponding variable to <code>false</code>.</p> | 
 | <div class="paragraph"> | 
 | <p>As they are intended to help human users, these messages are output to | 
 | the standard error. When tools that run Git as a subprocess find them | 
 | disruptive, they can set <code>GIT_ADVICE=0</code> in the environment to squelch | 
 | all advice messages.</p> | 
 | </div> | 
 | <div class="openblock"> | 
 | <div class="content"> | 
 | <div class="dlist"> | 
 | <dl> | 
 | <dt class="hdlist1">addEmbeddedRepo</dt> | 
 | <dd> | 
 | <p>Shown when the user accidentally adds one | 
 | git repo inside of another.</p> | 
 | </dd> | 
 | <dt class="hdlist1">addEmptyPathspec</dt> | 
 | <dd> | 
 | <p>Shown when the user runs <code>git</code> <code>add</code> without providing | 
 | the pathspec parameter.</p> | 
 | </dd> | 
 | <dt class="hdlist1">addIgnoredFile</dt> | 
 | <dd> | 
 | <p>Shown when the user attempts to add an ignored file to | 
 | the index.</p> | 
 | </dd> | 
 | <dt class="hdlist1">amWorkDir</dt> | 
 | <dd> | 
 | <p>Shown when <a href="git-am.html">git-am(1)</a> fails to apply a patch | 
 | file, to tell the user the location of the file.</p> | 
 | </dd> | 
 | <dt class="hdlist1">ambiguousFetchRefspec</dt> | 
 | <dd> | 
 | <p>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>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>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>Shown when the user uses | 
 | <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 tell the user how | 
 | to create a local branch after the fact.</p> | 
 | </dd> | 
 | <dt class="hdlist1">diverging</dt> | 
 | <dd> | 
 | <p>Shown when a fast-forward is not possible.</p> | 
 | </dd> | 
 | <dt class="hdlist1">fetchShowForcedUpdates</dt> | 
 | <dd> | 
 | <p>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>Shown when the user tries to delete a not fully merged | 
 | branch without the force option set.</p> | 
 | </dd> | 
 | <dt class="hdlist1">ignoredHook</dt> | 
 | <dd> | 
 | <p>Shown when a hook is ignored because the hook is not | 
 | set as executable.</p> | 
 | </dd> | 
 | <dt class="hdlist1">implicitIdentity</dt> | 
 | <dd> | 
 | <p>Shown when the user’s information is guessed from the | 
 | system username and domain name, to tell the user how to | 
 | set their identity configuration.</p> | 
 | </dd> | 
 | <dt class="hdlist1">mergeConflict</dt> | 
 | <dd> | 
 | <p>Shown when various commands stop because of conflicts.</p> | 
 | </dd> | 
 | <dt class="hdlist1">nestedTag</dt> | 
 | <dd> | 
 | <p>Shown when 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>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>Shown when the user ran <a href="git-push.html">git-push(1)</a> and pushed | 
 | "matching refs" explicitly (i.e. used <code>:</code>, or | 
 | specified a refspec that isn’t the 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 | 
 | <code>refs/heads/*</code> or <code>refs/tags/*</code> based on the type of the | 
 | source object.</p> | 
 | </dd> | 
 | <dt class="hdlist1">pushUpdateRejected</dt> | 
 | <dd> | 
 | <p>Set this variable to <code>false</code> if you want to disable | 
 | <code>pushNonFFCurrent</code>, <code>pushNonFFMatching</code>, <code>pushAlreadyExists</code>, | 
 | <code>pushFetchFirst</code>, <code>pushNeedsForce</code>, and <code>pushRefNeedsUpdate</code> | 
 | simultaneously.</p> | 
 | </dd> | 
 | <dt class="hdlist1">rebaseTodoError</dt> | 
 | <dd> | 
 | <p>Shown when there is an error after editing the rebase todo list.</p> | 
 | </dd> | 
 | <dt class="hdlist1">refSyntax</dt> | 
 | <dd> | 
 | <p>Shown when the user provides an illegal ref name, to | 
 | tell the user about the ref syntax documentation.</p> | 
 | </dd> | 
 | <dt class="hdlist1">resetNoRefresh</dt> | 
 | <dd> | 
 | <p>Shown when <a href="git-reset.html">git-reset(1)</a> takes more than 2 | 
 | seconds to refresh the index after reset, to tell the user | 
 | that they can use the <code>--no-refresh</code> option.</p> | 
 | </dd> | 
 | <dt class="hdlist1">resolveConflict</dt> | 
 | <dd> | 
 | <p>Shown by various commands when conflicts | 
 | prevent the operation from being performed.</p> | 
 | </dd> | 
 | <dt class="hdlist1">rmHints</dt> | 
 | <dd> | 
 | <p>Shown on failure in the output of <a href="git-rm.html">git-rm(1)</a>, to | 
 | give directions on how to proceed from the current state.</p> | 
 | </dd> | 
 | <dt class="hdlist1">sequencerInUse</dt> | 
 | <dd> | 
 | <p>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">sparseIndexExpanded</dt> | 
 | <dd> | 
 | <p>Shown when a sparse index is expanded to a full index, which is likely | 
 | due to an unexpected set of files existing outside of the | 
 | sparse-checkout.</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>Shown when <a href="git-status.html">git-status(1)</a> takes more than 2 | 
 | seconds to enumerate untracked files, to tell the user that | 
 | they can use the <code>-u</code> option.</p> | 
 | </dd> | 
 | <dt class="hdlist1">submoduleAlternateErrorStrategyDie</dt> | 
 | <dd> | 
 | <p>Shown when a submodule.alternateErrorStrategy option | 
 | configured to "die" causes a fatal error.</p> | 
 | </dd> | 
 | <dt class="hdlist1">submoduleMergeConflict</dt> | 
 | <dd> | 
 | <p>Advice shown when a non-trivial submodule merge conflict is | 
 | encountered.</p> | 
 | </dd> | 
 | <dt class="hdlist1">submodulesNotUpdated</dt> | 
 | <dd> | 
 | <p>Shown when a user runs a submodule command that fails | 
 | because <code>git</code> <code>submodule</code> <code>update</code> <code>--init</code> was not run.</p> | 
 | </dd> | 
 | <dt class="hdlist1">suggestDetachingHead</dt> | 
 | <dd> | 
 | <p>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>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>Shown when Git is waiting for editor input. Relevant | 
 | when e.g. the editor is not launched inside the terminal.</p> | 
 | </dd> | 
 | <dt class="hdlist1">worktreeAddOrphan</dt> | 
 | <dd> | 
 | <p>Shown when the user tries to create a worktree from an | 
 | invalid reference, to tell the user how to create a new unborn | 
 | branch instead.</p> | 
 | </dd> | 
 | </dl> | 
 | </div> | 
 | </div> | 
 | </div> | 
 | </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</code> <code>=</code> <code>cat-file</code> <code>commit</code> <code>HEAD</code>, the invocation | 
 | <code>git</code> <code>last</code> is equivalent to <code>git</code> <code>cat-file</code> <code>commit</code> <code>HEAD</code>. To avoid | 
 | confusion and troubles with script usage, aliases that | 
 | hide existing Git commands are ignored except for deprecated | 
 | commands.  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</code> <code>=</code> <code>-c</code> <code>commit.verbose=true</code> <code>rebase</code> can be defined such that | 
 | running <code>git</code> <code>loud-rebase</code> would be equivalent to | 
 | <code>git</code> <code>-c</code> <code>commit.verbose=true</code> <code>rebase</code>. Also, <code>ps</code> <code>=</code> <code>-p</code> <code>status</code> would be a | 
 | helpful alias since <code>git</code> <code>ps</code> would paginate the output of <code>git</code> <code>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</code> <code>=</code> !gitk <code>--all</code> <code>--not</code> <code>ORIG_HEAD</code>, the invocation | 
 | <code>git</code> <code>new</code> is equivalent to running the shell command | 
 | <code>gitk</code> <code>--all</code> <code>--not</code> <code>ORIG_HEAD</code>.  Note:</p> | 
 | </div> | 
 | <div class="ulist"> | 
 | <ul> | 
 | <li> | 
 | <p>Shell commands will be executed from the top-level directory of a | 
 | repository, which may not necessarily be the current directory.</p> | 
 | </li> | 
 | <li> | 
 | <p><code>GIT_PREFIX</code> is set as returned by running <code>git</code> <code>rev-parse</code> <code>--show-prefix</code> | 
 | from the original current directory. See <a href="git-rev-parse.html">git-rev-parse(1)</a>.</p> | 
 | </li> | 
 | <li> | 
 | <p>Shell command aliases always receive any extra arguments provided to | 
 | the Git command-line as positional arguments.</p> | 
 | <div class="ulist"> | 
 | <ul> | 
 | <li> | 
 | <p>Care should be taken if your shell alias is a "one-liner" script | 
 | with multiple commands (e.g. in a pipeline), references multiple | 
 | arguments, or is otherwise not able to handle positional arguments | 
 | added at the end.  For example: <code>alias.cmd</code> <code>=</code> "!echo <code>$1</code> | <code>grep</code> <code>$2</code>" | 
 | called as <code>git</code> <code>cmd</code> <code>1</code> <code>2</code> will be executed as <em>echo $1 | grep $2 | 
 | 1 2</em>, which is not what you want.</p> | 
 | </li> | 
 | <li> | 
 | <p>A convenient way to deal with this is to write your script | 
 | operations in an inline function that is then called with any | 
 | arguments from the command-line.  For example <code>alias.cmd</code> <code>=</code> "!c() { | 
 | <code>echo</code> <code>$1</code> | <code>grep</code> <code>$2</code> ; }; <code>c</code>" will correctly execute the prior example.</p> | 
 | </li> | 
 | <li> | 
 | <p>Setting <code>GIT_TRACE=1</code> can help you debug the command being run for | 
 | your alias.</p> | 
 | </li> | 
 | </ul> | 
 | </div> | 
 | </li> | 
 | </ul> | 
 | </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</code> <code>am</code> will fail if the patch does not apply cleanly. When | 
 | set to true, this setting tells <code>git</code> <code>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">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. 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> | 
 | </dl> | 
 | </div> | 
 | <div class="admonitionblock note"> | 
 | <table> | 
 | <tr> | 
 | <td class="icon"> | 
 | <div class="title">Note</div> | 
 | </td> | 
 | <td class="content"> | 
 | The configuration options in <code>bitmapPseudoMerge.*</code> are considered | 
 | EXPERIMENTAL and may be subject to change or be removed entirely in the | 
 | future. For more information about the pseudo-merge bitmap feature, see | 
 | the "Pseudo-merge bitmaps" section of <a href="gitpacking.html">gitpacking(7)</a>. | 
 | </td> | 
 | </tr> | 
 | </table> | 
 | </div> | 
 | <div class="dlist"> | 
 | <dl> | 
 | <dt class="hdlist1">bitmapPseudoMerge.<name>.pattern</dt> | 
 | <dd> | 
 | <p>Regular expression used to match reference names. Commits | 
 | pointed to by references matching this pattern (and meeting | 
 | the below criteria, like <code>bitmapPseudoMerge.</code><em><name></em><code>.sampleRate</code> | 
 | and <code>bitmapPseudoMerge.</code><em><name></em><code>.threshold</code>) will be considered | 
 | for inclusion in a pseudo-merge bitmap.</p> | 
 | <div class="paragraph"> | 
 | <p>Commits are grouped into pseudo-merge groups based on whether or not | 
 | any reference(s) that point at a given commit match the pattern, which | 
 | is an extended regular expression.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>Within a pseudo-merge group, commits may be further grouped into | 
 | sub-groups based on the capture groups in the pattern. These | 
 | sub-groupings are formed from the regular expressions by concatenating | 
 | any capture groups from the regular expression, with a <em>-</em> dash in | 
 | between.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>For example, if the pattern is <code>refs/tags/</code>, then all tags (provided | 
 | they meet the below criteria) will be considered candidates for the | 
 | same pseudo-merge group. However, if the pattern is instead | 
 | <code>refs/remotes/</code>([<code>0-9</code>])<code>+/tags/</code>, then tags from different remotes will | 
 | be grouped into separate pseudo-merge groups, based on the remote | 
 | number.</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1">bitmapPseudoMerge.<name>.decay</dt> | 
 | <dd> | 
 | <p>Determines the rate at which consecutive pseudo-merge bitmap | 
 | groups decrease in size. Must be non-negative. This parameter | 
 | can be thought of as <code>k</code> in the function <code>f</code>(<code>n</code>) <code>=</code> <code>C</code> <code>*</code> <code>n^-k</code>, | 
 | where <code>f</code>(<code>n</code>) is the size of the `n`th group.</p> | 
 | <div class="paragraph"> | 
 | <p>Setting the decay rate equal to <code>0</code> will cause all groups to be the | 
 | same size. Setting the decay rate equal to <code>1</code> will cause the <code>n</code>`th | 
 | <code>group</code> <code>to</code> <code>be</code> `1/n the size of the initial group.  Higher values of the | 
 | decay rate cause consecutive groups to shrink at an increasing rate. | 
 | The default is <code>1</code>.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>If all groups are the same size, it is possible that groups containing | 
 | newer commits will be able to be used less often than earlier groups, | 
 | since it is more likely that the references pointing at newer commits | 
 | will be updated more often than a reference pointing at an old commit.</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1">bitmapPseudoMerge.<name>.sampleRate</dt> | 
 | <dd> | 
 | <p>Determines the proportion of non-bitmapped commits (among | 
 | reference tips) which are selected for inclusion in an | 
 | unstable pseudo-merge bitmap. Must be between <code>0</code> and <code>1</code> | 
 | (inclusive). The default is <code>1</code>.</p> | 
 | </dd> | 
 | <dt class="hdlist1">bitmapPseudoMerge.<name>.threshold</dt> | 
 | <dd> | 
 | <p>Determines the minimum age of non-bitmapped commits (among | 
 | reference tips, as above) which are candidates for inclusion | 
 | in an unstable pseudo-merge bitmap. The default is | 
 | <code>1.week.ago</code>.</p> | 
 | </dd> | 
 | <dt class="hdlist1">bitmapPseudoMerge.<name>.maxMerges</dt> | 
 | <dd> | 
 | <p>Determines the maximum number of pseudo-merge commits among | 
 | which commits may be distributed.</p> | 
 | <div class="paragraph"> | 
 | <p>For pseudo-merge groups whose pattern does not contain any capture | 
 | groups, this setting is applied for all commits matching the regular | 
 | expression. For patterns that have one or more capture groups, this | 
 | setting is applied for each distinct capture group.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>For example, if your capture group is <code>refs/tags/</code>, then this setting | 
 | will distribute all tags into a maximum of <code>maxMerges</code> pseudo-merge | 
 | commits. However, if your capture group is, say, | 
 | <code>refs/remotes/</code>([<code>0-9</code>]<code>+</code>)<code>/tags/</code>, then this setting will be applied to | 
 | each remote’s set of tags individually.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>Must be non-negative. The default value is 64.</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1">bitmapPseudoMerge.<name>.stableThreshold</dt> | 
 | <dd> | 
 | <p>Determines the minimum age of commits (among reference tips, | 
 | as above, however stable commits are still considered | 
 | candidates even when they have been covered by a bitmap) which | 
 | are candidates for a stable a pseudo-merge bitmap. The default | 
 | is <code>1.month.ago</code>.</p> | 
 | <div class="paragraph"> | 
 | <p>Setting this threshold to a smaller value (e.g., 1.week.ago) will cause | 
 | more stable groups to be generated (which impose a one-time generation | 
 | cost) but those groups will likely become stale over time. Using a | 
 | larger value incurs the opposite penalty (fewer stable groups which are | 
 | more useful).</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1">bitmapPseudoMerge.<name>.stableSize</dt> | 
 | <dd> | 
 | <p>Determines the size (in number of commits) of a stable | 
 | psuedo-merge bitmap. The default is <code>512</code>.</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 | 
 | # 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"><code>branch.autoSetupMerge</code></dt> | 
 | <dd> | 
 | <p>Tells <code>git</code> <code>branch</code>, <code>git</code> <code>switch</code> and <code>git</code> <code>checkout</code> 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.  This option defaults to <code>true</code>. The valid settings | 
 | are:</p> | 
 | <div class="dlist"> | 
 | <dl> | 
 | <dt class="hdlist1"><code>false</code></dt> | 
 | <dd> | 
 | <p>no automatic setup is done</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>true</code></dt> | 
 | <dd> | 
 | <p>automatic setup is done when the starting point is a remote-tracking branch</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>always</code></dt> | 
 | <dd> | 
 | <p>automatic setup is done when the starting point is either a | 
 | local branch or remote-tracking branch</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>inherit</code></dt> | 
 | <dd> | 
 | <p>if the starting point has a tracking configuration, it is copied to the new | 
 | branch</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>simple</code></dt> | 
 | <dd> | 
 | <p>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.</p> | 
 | </dd> | 
 | </dl> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1"><code>branch.autoSetupRebase</code></dt> | 
 | <dd> | 
 | <p>When a new branch is created with <code>git</code> <code>branch</code>, <code>git</code> <code>switch</code> or <code>git</code> <code>checkout</code> | 
 | that tracks another branch, this variable tells Git to set | 
 | up pull to rebase instead of merge (see <code>branch.</code><em><name></em><code>.rebase</code>). | 
 | The valid settings are:</p> | 
 | <div class="dlist"> | 
 | <dl> | 
 | <dt class="hdlist1"><code>never</code></dt> | 
 | <dd> | 
 | <p>rebase is never automatically set to true.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>local</code></dt> | 
 | <dd> | 
 | <p>rebase is set to true for tracked branches of other local branches.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>remote</code></dt> | 
 | <dd> | 
 | <p>rebase is set to true for tracked branches of remote-tracking branches.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>always</code></dt> | 
 | <dd> | 
 | <p>rebase will be set to true for all tracking branches.</p> | 
 | </dd> | 
 | </dl> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>See <code>branch.autoSetupMerge</code> for details on how to set up a branch to track another branch. | 
 | This option defaults to <code>never</code>.</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1"><code>branch.sort</code></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 <code>--sort=</code><em><value></em> 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"><code>branch.</code><em><name></em><code>.remote</code></dt> | 
 | <dd> | 
 | <p>When on branch <em><name></em>, it tells <code>git</code> <code>fetch</code> and <code>git</code> <code>push</code> | 
 | 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.</code><em><name></em><code>.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, . (a period) is the current local repository | 
 | (a dot-repository), see <code>branch.</code><em><name></em><code>.merge</code>'s final note below.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>branch.</code><em><name></em><code>.pushRemote</code></dt> | 
 | <dd> | 
 | <p>When on branch <em><name></em>, it overrides <code>branch.</code><em><name></em><code>.remote</code> for | 
 | pushing.  It also overrides <code>remote.pushDefault</code> for pushing | 
 | from branch <em><name></em>.  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"><code>branch.</code><em><name></em><code>.merge</code></dt> | 
 | <dd> | 
 | <p>Defines, together with <code>branch.</code><em><name></em><code>.remote</code>, the upstream branch | 
 | for the given branch. It tells <code>git</code> <code>fetch</code>/<code>git</code> <code>pull</code>/<code>git</code> <code>rebase</code> which | 
 | branch to merge and can also affect <code>git</code> <code>push</code> (see <code>push.default</code>). | 
 | When in branch <em><name></em>, it tells <code>git</code> <code>fetch</code> the default | 
 | refspec to be marked for merging in <code>FETCH_HEAD</code>. The value is | 
 | handled like the remote part of a refspec, and must match a | 
 | ref which is fetched from the remote given by | 
 | <code>branch.</code><em><name></em><code>.remote</code>. | 
 | The merge information is used by <code>git</code> <code>pull</code> (which first calls | 
 | <code>git</code> <code>fetch</code>) to lookup the default branch for merging. Without | 
 | this option, <code>git</code> <code>pull</code> defaults to merge the first refspec fetched. | 
 | Specify multiple values to get an octopus merge. | 
 | If you wish to setup <code>git</code> <code>pull</code> so that it merges into <em><name></em> from | 
 | another branch in the local repository, you can point | 
 | <code>branch.</code><em><name></em><code>.merge</code> to the desired branch, and use the relative path | 
 | setting . (a period) for <code>branch.</code><em><name></em><code>.remote</code>.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>branch.</code><em><name></em><code>.mergeOptions</code></dt> | 
 | <dd> | 
 | <p>Sets default options for merging into branch <em><name></em>. 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"><code>branch.</code><em><name></em><code>.rebase</code></dt> | 
 | <dd> | 
 | <p>When true, rebase the branch <em><name></em> on top of the fetched branch, | 
 | instead of merging the default branch from the default remote when | 
 | <code>git</code> <code>pull</code> is run. See <code>pull.rebase</code> for doing this in a non | 
 | branch-specific manner.</p> | 
 | <div class="paragraph"> | 
 | <p>When <code>merges</code> (or just <code>m</code>), pass the <code>--rebase-merges</code> option to <code>git</code> <code>rebase</code> | 
 | 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 <code>i</code>), 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"><code>branch.</code><em><name></em><code>.description</code></dt> | 
 | <dd> | 
 | <p>Branch description, can be edited with | 
 | <code>git</code> <code>branch</code> <code>--edit-description</code>. Branch description is | 
 | automatically added to the <code>format-patch</code> cover letter or | 
 | <code>request-pull</code> 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</code> <code>clone</code> <code>--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</code> <code>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.</code><em><id></em><code>.*</code> keys are used to describe a single item in the | 
 | bundle list, grouped under <em><id></em> 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 <em><id></em>. This URI may be a bundle file or another bundle list.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>checkout.defaultRemote</code></dt> | 
 | <dd> | 
 | <p>When you run <code>git</code> <code>checkout</code> <em><something></em> | 
 | or <code>git</code> <code>switch</code> <em><something></em> and only have one | 
 | remote, it may implicitly fall back on checking out and | 
 | tracking e.g. <code>origin/</code><em><something></em>. This stops working as soon | 
 | as you have more than one remote with a <em><something></em> | 
 | 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</code> <code>checkout</code> <em><something></em> | 
 | or <code>git</code> <code>switch</code> <em><something></em> | 
 | will checkout the <em><something></em> branch on another remote, | 
 | and by <a href="git-worktree.html">git-worktree(1)</a> when <code>git</code> <code>worktree</code> <code>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"><code>checkout.guess</code></dt> | 
 | <dd> | 
 | <p>Provides the default value for the <code>--guess</code> or <code>--no-guess</code> | 
 | option in <code>git</code> <code>checkout</code> and <code>git</code> <code>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"><code>checkout.workers</code></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="admonitionblock note"> | 
 | <table> | 
 | <tr> | 
 | <td class="icon"> | 
 | <div class="title">Note</div> | 
 | </td> | 
 | <td class="content"> | 
 | 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. | 
 | </td> | 
 | </tr> | 
 | </table> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1"><code>checkout.thresholdForParallelism</code></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 refuse to delete files unless -f | 
 | is given. Defaults to true.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>clone.defaultRemoteName</code></dt> | 
 | <dd> | 
 | <p>The name of the remote to create when cloning a repository.  Defaults to | 
 | <code>origin</code>. | 
 | It 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"><code>clone.rejectShallow</code></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"><code>clone.filterSubmodules</code></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</code> <code>blame</code> <code>--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</code> <code>month</code> <code>ago,white,1</code> <code>month</code> <code>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</code> <code>blame</code> <code>--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. <em><slot></em> 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</code>[<code>=</code><em><when></em>] option.</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1">color.diff.<slot></dt> | 
 | <dd> | 
 | <p>Use customized color for diff colorization.  <em><slot></em> 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.  <em><slot></em> 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.  <em><slot></em> 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. <em><slot></em> 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. <em><slot></em> 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. <em><slot></em> 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</code> <code>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</code> <code>clean</code> <code>-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</code> <code>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</code> <code>tag</code> in columns. | 
 | See <code>column.ui</code> for details.</p> | 
 | </dd> | 
 | </dl> | 
 | </div> | 
 | <div class="dlist"> | 
 | <dl> | 
 | <dt class="hdlist1"><code>commit.cleanup</code></dt> | 
 | <dd> | 
 | <p>This setting overrides the default of the <code>--cleanup</code> option in | 
 | <code>git</code> <code>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>core.commentChar</code>, default #) | 
 | in your log message, in which case you | 
 | would do <code>git</code> <code>config</code> <code>commit.cleanup</code> <code>whitespace</code> (note that you will | 
 | have to remove the help lines that begin with the comment character | 
 | in the commit log template yourself, if you do this).</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>commit.gpgSign</code></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"><code>commit.status</code></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 <code>true</code>.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>commit.template</code></dt> | 
 | <dd> | 
 | <p>Specify the pathname of a file to use as the template for | 
 | new commit messages.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>commit.verbose</code></dt> | 
 | <dd> | 
 | <p>A boolean or int to specify the level of verbosity with <code>git</code> <code>commit</code>. | 
 | See <a href="git-commit.html">git-commit(1)</a> for details.</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</code> | 
 | <code>commit-graph</code> <code>write</code> (c.f., <a href="git-commit-graph.html">git-commit-graph(1)</a>).</p> | 
 | </dd> | 
 | <dt class="hdlist1">commitGraph.changedPaths</dt> | 
 | <dd> | 
 | <p>If true, then <code>git</code> <code>commit-graph</code> <code>write</code> will compute and write | 
 | changed-path Bloom filters by default, equivalent to passing | 
 | <code>--changed-paths</code>. If false or unset, changed-paths Bloom filters will | 
 | be written during <code>git</code> <code>commit-graph</code> <code>write</code> only if the filters already | 
 | exist in the current commit-graph file. This matches the default | 
 | behavior of <code>git</code> <code>commit-graph</code> <code>write</code> without any <code>--</code>[<code>no-</code>]<code>changed-paths</code> | 
 | option. To rewrite a commit-graph file without any filters, use the | 
 | <code>--no-changed-paths</code> option. Command-line option <code>--</code>[<code>no-</code>]<code>changed-paths</code> | 
 | always takes precedence over this configuration. Defaults to unset.</p> | 
 | </dd> | 
 | <dt class="hdlist1">commitGraph.readChangedPaths</dt> | 
 | <dd> | 
 | <p>Deprecated. Equivalent to commitGraph.changedPathsVersion=-1 if true, and | 
 | commitGraph.changedPathsVersion=0 if false. (If commitGraph.changedPathVersion | 
 | is also set, commitGraph.changedPathsVersion takes precedence.)</p> | 
 | </dd> | 
 | <dt class="hdlist1">commitGraph.changedPathsVersion</dt> | 
 | <dd> | 
 | <p>Specifies the version of the changed-path Bloom filters that Git will read and | 
 | write. May be -1, 0, 1, or 2. Note that values greater than 1 may be | 
 | incompatible with older versions of Git which do not yet understand | 
 | those versions. Use caution when operating in a mixed-version | 
 | environment.</p> | 
 | <div class="paragraph"> | 
 | <p>Defaults to -1.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>If -1, Git will use the version of the changed-path Bloom filters in the | 
 | repository, defaulting to 1 if there are none.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>If 0, Git will not read any Bloom filters, and will write version 1 Bloom | 
 | filters when instructed to write.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>If 1, Git will only read version 1 Bloom filters, and will write version 1 | 
 | Bloom filters.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>If 2, Git will only read version 2 Bloom filters, and will write version 2 | 
 | Bloom filters.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>See <a href="git-commit-graph.html">git-commit-graph(1)</a> for more information.</p> | 
 | </div> | 
 | </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">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</code> <code>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="paragraph"> | 
 | <p>Otherwise, this variable contains the pathname of the "fsmonitor" | 
 | hook command.</p> | 
 | </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</code> <code>fetch</code> and <code>git</code> <code>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> | 
 | <div class="paragraph"> | 
 | <p>This configuration is deprecated and will be removed in Git 3.0. Symbolic refs | 
 | will always be written as textual symrefs.</p> | 
 | </div> | 
 | </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</code> <code>for-each-ref</code> | 
 | <code>--format=</code>'%(<code>objectname</code>)').</p> | 
 | <div class="paragraph"> | 
 | <p>Note that you cannot generally put <code>git</code> <code>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/</code><em><ref></em>", 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/</code><em><ref></em>" | 
 | 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. See <a href="gitrepository-layout.html">gitrepository-layout(5)</a>.</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> | 
 | <div class="paragraph"> | 
 | <p>You can also disable all hooks entirely by setting <code>core.hooksPath</code> | 
 | to <code>/dev/null</code>. This is usually only advisable for expert users and | 
 | on a per-command basis using configuration parameters of the form | 
 | <code>git</code> <code>-c</code> <code>core.hooksPath=/dev/null</code> ....</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> | 
 | <dt class="hdlist1">core.commentString</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> will select a character that is not | 
 | the beginning character of any line in existing commit messages. | 
 | Support for this value is deprecated and will be removed in Git 3.0 | 
 | due to the following limitations:</p> | 
 | </div> | 
 | <div class="openblock"> | 
 | <div class="content"> | 
 | <div class="ulist"> | 
 | <ul> | 
 | <li> | 
 | <p>It is incompatible with adding comments in a commit message | 
 | template. This includes the conflicts comments added to | 
 | the commit message by <code>cherry-pick</code>, <code>merge</code>, <code>rebase</code> and | 
 | <code>revert</code>.</p> | 
 | </li> | 
 | <li> | 
 | <p>It is incompatible with adding comments to the commit message | 
 | in the <code>prepare-commit-msg</code> hook.</p> | 
 | </li> | 
 | <li> | 
 | <p>It is incompatible with the <code>fixup</code> and <code>squash</code> commands when | 
 | rebasing,</p> | 
 | </li> | 
 | <li> | 
 | <p>It is not respected by <code>git</code> <code>notes</code></p> | 
 | </li> | 
 | </ul> | 
 | </div> | 
 | </div> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>Note that these two variables are aliases of each other, and in modern | 
 | versions of Git you are free to use a string (e.g., <code>//</code> or ⁑⁕⁑) with | 
 | <code>commentChar</code>. Versions of Git prior to v2.45.0 will ignore | 
 | <code>commentString</code> but will reject a value of <code>commentChar</code> that consists | 
 | of more than a single ASCII byte. If you plan to use your config with | 
 | older and newer versions of Git, you may want to specify both:</p> | 
 | </div> | 
 | <div class="literalblock"> | 
 | <div class="content"> | 
 | <pre>[core] | 
 | # single character for older versions | 
 | commentChar = "#" | 
 | # string for newer versions (which will override commentChar | 
 | # because it comes later in the file) | 
 | commentString = "//"</pre> | 
 | </div> | 
 | </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</code> <code>-S</code>.  This will | 
 | be passed to the shell by Git, which will translate the final | 
 | command to <code>LESS=FRX</code> <code>less</code> <code>-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</code> <code>-+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</code> <code>-S</code> enables | 
 | line truncation only for <code>git</code> <code>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</code> <code>+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=</code><em><n></em> 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</code> <code>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</code> <code>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.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. When Git is compiled with MSVC, the default is 512. | 
 | Otherwise, the default is 2048.</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 !, 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.interactive</dt> | 
 | <dd> | 
 | <p>By default, Git and any configured credential helpers will ask for | 
 | user input when new credentials are required. Many of these helpers | 
 | will succeed based on stored credentials if those credentials are | 
 | still valid. To avoid the possibility of user interactivity from | 
 | Git, set <code>credential.interactive=false</code>. Some credential helpers | 
 | respect this option as well.</p> | 
 | </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.sanitizePrompt</dt> | 
 | <dd> | 
 | <p>By default, user names and hosts that are shown as part of the | 
 | password prompt are not allowed to contain control characters (they | 
 | will be URL-encoded by default). Configure this setting to <code>false</code> to | 
 | override that behavior.</p> | 
 | </dd> | 
 | <dt class="hdlist1">credential.protectProtocol</dt> | 
 | <dd> | 
 | <p>By default, Carriage Return characters are not allowed in the protocol | 
 | that is used when Git talks to a credential helper. This setting allows | 
 | users to override this default.</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"><code>diff.autoRefreshIndex</code></dt> | 
 | <dd> | 
 | <p>When using <code>git</code> <code>diff</code> to compare with work tree | 
 | files, do not consider stat-only changes as changed. | 
 | Instead, silently run <code>git</code> <code>update-index</code> <code>--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 <code>true</code>.  Note that this | 
 | affects only <code>git</code> <code>diff</code> Porcelain, and not lower level | 
 | <code>diff</code> commands such as <code>git</code> <code>diff-files</code>.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>diff.dirstat</code></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=</code><em><param></em><code>,..</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"><em><limit></em></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"><code>diff.statNameWidth</code></dt> | 
 | <dd> | 
 | <p>Limit the width of the filename part in <code>--stat</code> output. If set, applies | 
 | to all commands generating <code>--stat</code> output except <code>format-patch</code>.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>diff.statGraphWidth</code></dt> | 
 | <dd> | 
 | <p>Limit the width of the graph part in <code>--stat</code> output. If set, applies | 
 | to all commands generating <code>--stat</code> output except <code>format-patch</code>.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>diff.context</code></dt> | 
 | <dd> | 
 | <p>Generate diffs with <em><n></em> lines of context instead of the default | 
 | of 3. This value is overridden by the <code>-U</code> option.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>diff.interHunkContext</code></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"><code>diff.external</code></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 <code>GIT_EXTERNAL_DIFF</code> | 
 | 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"><code>diff.trustExitCode</code></dt> | 
 | <dd> | 
 | <p>If this boolean value is set to <code>true</code> then the | 
 | <code>diff.external</code> command is expected to return exit code | 
 | 0 if it considers the input files to be equal or 1 if it | 
 | considers them to be different, like <code>diff</code>(1). | 
 | If it is set to <code>false</code>, which is the default, then the command | 
 | is expected to return exit code <code>0</code> regardless of equality. | 
 | Any other exit code causes Git to report a fatal error.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>diff.ignoreSubmodules</code></dt> | 
 | <dd> | 
 | <p>Sets the default value of <code>--ignore-submodules</code>. Note that this | 
 | affects only <code>git</code> <code>diff</code> Porcelain, and not lower level <code>diff</code> | 
 | commands such as <code>git</code> <code>diff-files</code>. <code>git</code> <code>checkout</code> | 
 | and <code>git</code> <code>switch</code> also honor | 
 | this setting when reporting uncommitted changes. Setting it to | 
 | <code>all</code> disables the submodule summary normally shown by <code>git</code> <code>commit</code> | 
 | and <code>git</code> <code>status</code> when <code>status.submoduleSummary</code> is set unless it is | 
 | overridden by using the <code>--ignore-submodules</code> command-line option. | 
 | The <code>git</code> <code>submodule</code> 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"><code>diff.mnemonicPrefix</code></dt> | 
 | <dd> | 
 | <p>If set, <code>git</code> <code>diff</code> uses a prefix pair that is different from the | 
 | standard <code>a/</code> and <code>b/</code> 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</code> <code>diff</code></dt> | 
 | <dd> | 
 | <p>compares the (i)ndex and the (w)ork tree;</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>git</code> <code>diff</code> <code>HEAD</code></dt> | 
 | <dd> | 
 | <p>compares a (c)ommit and the (w)ork tree;</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>git</code> <code>diff</code> <code>--cached</code></dt> | 
 | <dd> | 
 | <p>compares a (c)ommit and the (i)ndex;</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>git</code> <code>diff</code> <code>HEAD:</code><em><file1></em> <em><file2></em></dt> | 
 | <dd> | 
 | <p>compares an (o)bject and a (w)ork tree entity;</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>git</code> <code>diff</code> <code>--no-index</code> <em><a></em> <em><b></em></dt> | 
 | <dd> | 
 | <p>compares two non-git things <em><a></em> and <em><b></em>.</p> | 
 | </dd> | 
 | </dl> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1"><code>diff.noPrefix</code></dt> | 
 | <dd> | 
 | <p>If set, <code>git</code> <code>diff</code> does not show any source or destination prefix.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>diff.srcPrefix</code></dt> | 
 | <dd> | 
 | <p>If set, <code>git</code> <code>diff</code> uses this source prefix. Defaults to <code>a/</code>.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>diff.dstPrefix</code></dt> | 
 | <dd> | 
 | <p>If set, <code>git</code> <code>diff</code> uses this destination prefix. Defaults to <code>b/</code>.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>diff.relative</code></dt> | 
 | <dd> | 
 | <p>If set to <code>true</code>, <code>git</code> <code>diff</code> does not show changes outside of the directory | 
 | and show pathnames relative to the current directory.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>diff.orderFile</code></dt> | 
 | <dd> | 
 | <p>File indicating how to order files within a diff. | 
 | See the <code>-O</code> 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"><code>diff.renameLimit</code></dt> | 
 | <dd> | 
 | <p>The number of files to consider in the exhaustive portion of | 
 | copy/rename detection; equivalent to the <code>git</code> <code>diff</code> 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"><code>diff.renames</code></dt> | 
 | <dd> | 
 | <p>Whether and how Git detects renames.  If set to <code>false</code>, | 
 | rename detection is disabled. If set to <code>true</code>, basic rename | 
 | detection is enabled.  If set to <code>copies</code> or <code>copy</code>, Git will | 
 | detect copies, as well.  Defaults to <code>true</code>.  Note that this | 
 | affects only <code>git</code> <code>diff</code> 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"><code>diff.suppressBlankEmpty</code></dt> | 
 | <dd> | 
 | <p>A boolean to inhibit the standard behavior of printing a space | 
 | before each empty output line. Defaults to <code>false</code>.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>diff.submodule</code></dt> | 
 | <dd> | 
 | <p>Specify the format in which differences in submodules are | 
 | shown.  The <code>short</code> format just shows the names of the commits | 
 | at the beginning and end of the range. The <code>log</code> format lists | 
 | the commits in the range like <a href="git-submodule.html">git-submodule(1)</a> <code>summary</code> | 
 | does. The <code>diff</code> format shows an inline diff of the changed | 
 | contents of the submodule. Defaults to <code>short</code>.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>diff.wordRegex</code></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"><code>diff.</code><em><driver></em><code>.command</code></dt> | 
 | <dd> | 
 | <p>The custom diff driver command.  See <a href="gitattributes.html">gitattributes(5)</a> | 
 | for details.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>diff.</code><em><driver></em><code>.trustExitCode</code></dt> | 
 | <dd> | 
 | <p>If this boolean value is set to <code>true</code> then the | 
 | <code>diff.</code><em><driver></em><code>.command</code> command is expected to return exit code | 
 | 0 if it considers the input files to be equal or 1 if it | 
 | considers them to be different, like <code>diff</code>(1). | 
 | If it is set to <code>false</code>, which is the default, then the command | 
 | is expected to return exit code 0 regardless of equality. | 
 | Any other exit code causes Git to report a fatal error.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>diff.</code><em><driver></em><code>.xfuncname</code></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"><code>diff.</code><em><driver></em><code>.binary</code></dt> | 
 | <dd> | 
 | <p>Set this option to <code>true</code> to make the diff driver treat files as | 
 | binary.  See <a href="gitattributes.html">gitattributes(5)</a> for details.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>diff.</code><em><driver></em><code>.textconv</code></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"><code>diff.</code><em><driver></em><code>.wordRegex</code></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"><code>diff.</code><em><driver></em><code>.cachetextconv</code></dt> | 
 | <dd> | 
 | <p>Set this option to <code>true</code> to make the diff driver cache the text | 
 | conversion outputs.  See <a href="gitattributes.html">gitattributes(5)</a> for details.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>diff.indentHeuristic</code></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"><code>diff.algorithm</code></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></dt> | 
 | <dt class="hdlist1"><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"><code>diff.wsErrorHighlight</code></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=</code><em><kind></em> | 
 | overrides this setting.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>diff.colorMoved</code></dt> | 
 | <dd> | 
 | <p>If set to either a valid <em><mode></em> or a <code>true</code> value, moved lines | 
 | in a diff are colored differently. | 
 | For details of valid modes see <code>--color-moved</code> in <a href="git-diff.html">git-diff(1)</a>. | 
 | If simply set to <code>true</code> the default color mode will be used. When | 
 | set to <code>false</code>, moved lines are not colored.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>diff.colorMovedWS</code></dt> | 
 | <dd> | 
 | <p>When moved lines are colored using e.g. the <code>diff.colorMoved</code> setting, | 
 | this option controls the mode how spaces are treated. | 
 | For details of valid modes see <code>--color-moved-ws</code> 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> | 
 | <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>vscode</code></dt> | 
 | <dd> | 
 | <p>Use Visual Studio Code (requires a graphical session)</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">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=</code><em><tool></em> 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.*</dt> | 
 | <dd> | 
 | <p>Unless otherwise stated, is an error to specify an extension if | 
 | <code>core.repositoryFormatVersion</code> is not <code>1</code>. See | 
 | <a href="gitrepository-layout.html">gitrepository-layout(5)</a>.</p> | 
 | <div class="dlist"> | 
 | <dl> | 
 | <dt class="hdlist1">compatObjectFormat</dt> | 
 | <dd> | 
 | <p>Specify a compatibility hash algorithm to use.  The acceptable values | 
 | are <code>sha1</code> and <code>sha256</code>.  The value specified must be different from the | 
 | value of <code>extensions.objectFormat</code>.  This allows client level | 
 | interoperability between git repositories whose objectFormat matches | 
 | this compatObjectFormat.  In particular when fully implemented the | 
 | pushes and pulls from a repository in whose objectFormat matches | 
 | compatObjectFormat.  As well as being able to use oids encoded in | 
 | compatObjectFormat in addition to oids encoded with objectFormat to | 
 | locally specify objects.</p> | 
 | <div class="paragraph"> | 
 | <p>Note that the functionality enabled by this extension is incomplete and subject | 
 | to change.  It currently exists only to allow development and testing of | 
 | the underlying feature and is not designed to be enabled by end users.</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1">noop</dt> | 
 | <dd> | 
 | <p>This extension does not change git’s behavior at all. It is useful only | 
 | for testing format-1 compatibility.</p> | 
 | <div class="paragraph"> | 
 | <p>For historical reasons, this extension is respected regardless of the | 
 | <code>core.repositoryFormatVersion</code> setting.</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1">noop-v1</dt> | 
 | <dd> | 
 | <p>This extension does not change git’s behavior at all. It is useful only | 
 | for testing format-1 compatibility.</p> | 
 | </dd> | 
 | <dt class="hdlist1">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.</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">partialClone</dt> | 
 | <dd> | 
 | <p>When enabled, indicates that the repo was created with a partial clone | 
 | (or later performed a partial fetch) and that the remote may have | 
 | omitted sending certain unwanted objects.  Such a remote is called a | 
 | "promisor remote" and it promises that all such omitted objects can | 
 | be fetched from it in the future.</p> | 
 | <div class="paragraph"> | 
 | <p>The value of this key is the name of the promisor remote.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>For historical reasons, this extension is respected regardless of the | 
 | <code>core.repositoryFormatVersion</code> setting.</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1">preciousObjects</dt> | 
 | <dd> | 
 | <p>If enabled, indicates that objects in the repository MUST NOT be deleted | 
 | (e.g., by <code>git-prune</code> or <code>git</code> <code>repack</code> <code>-d</code>).</p> | 
 | <div class="paragraph"> | 
 | <p>For historical reasons, this extension is respected regardless of the | 
 | <code>core.repositoryFormatVersion</code> setting.</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1">refStorage</dt> | 
 | <dd> | 
 | <p>Specify the ref storage format to use. The acceptable values are:</p> | 
 | <div class="openblock"> | 
 | <div class="content"> | 
 | <div class="ulist"> | 
 | <ul> | 
 | <li> | 
 | <p><code>files</code> for loose files with packed-refs. This is the default.</p> | 
 | </li> | 
 | <li> | 
 | <p><code>reftable</code> for the reftable format. This format is experimental and its | 
 | internals are subject to change.</p> | 
 | </li> | 
 | </ul> | 
 | </div> | 
 | </div> | 
 | </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> | 
 | </dd> | 
 | <dt class="hdlist1">relativeWorktrees</dt> | 
 | <dd> | 
 | <p>If enabled, indicates at least one worktree has been linked with | 
 | relative paths. Automatically set if a worktree has been created or | 
 | repaired with either the <code>--relative-paths</code> option or with the | 
 | <code>worktree.useRelativePaths</code> config set to <code>true</code>.</p> | 
 | </dd> | 
 | <dt class="hdlist1">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/</code><em><id></em><code>/</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 this extension, 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="openblock"> | 
 | <div class="content"> | 
 | <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> | 
 | </li> | 
 | </ul> | 
 | </div> | 
 | </div> | 
 | </div> | 
 | <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</code> | 
 | <code>sparse-checkout</code> builtin enables this extension, 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, this extension is respected regardless of the | 
 | <code>core.repositoryFormatVersion</code> setting.</p> | 
 | </div> | 
 | </dd> | 
 | </dl> | 
 | </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> | 
 | <li> | 
 | <p><code>pack.allowPackReuse=multi</code> may improve the time it takes to create a pack by | 
 | reusing objects from multiple packs instead of just one.</p> | 
 | </li> | 
 | <li> | 
 | <p><code>pack.usePathWalk</code> may speed up packfile creation and make the packfiles be | 
 | significantly smaller in the presence of certain filename collisions with Git’s | 
 | default name-hash.</p> | 
 | </li> | 
 | <li> | 
 | <p><code>init.defaultRefFormat=reftable</code> causes newly initialized repositories to use | 
 | the reftable format for storing references. This new format solves issues with | 
 | case-insensitive filesystems, compresses better and performs significantly | 
 | better with many use cases. Refer to Documentation/technical/reftable.adoc for | 
 | more information on this new storage format.</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</code> <code>status</code> and | 
 | <code>git</code> <code>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</code> <code>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</code> <code>fetch</code> (and the underlying fetch | 
 | in <code>git</code> <code>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.</code><em><msg-id></em>, 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.</code><em><msg-id></em> 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.</code><em><name></em><code>.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.</code><em><name></em><code>.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</code> <code>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</code> <code>merge-base</code>, | 
 | <code>git</code> <code>push</code> <code>-f</code>, and <code>git</code> <code>log</code> <code>--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</code> <code>clone</code> <code>--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">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">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>--</code>[<code>no-</code>]<code>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=</code><em><n></em> 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=</code><em><ref></em>, 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>--</code>[<code>no-</code>]<code>notes</code>[<code>=</code>] options passed in. That is, a | 
 | value of <code>true</code> will show the default notes, a value of <em><ref></em> 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>[format] | 
 |         notes = true | 
 |         notes = foo | 
 |         notes = false | 
 |         notes = bar</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</code> | 
 | <code>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">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.</code><em><msg-id></em> 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.</code><em><msg-id></em> instead, or | 
 | to clone or fetch it set <code>fetch.fsck.</code><em><msg-id></em>.</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.</code><em><msg-id></em> and <code>fetch.fsck.</code><em><msg-id></em> variables will not | 
 | fall back on the <code>fsck.</code><em><msg-id></em> 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.</code><em><msg-id></em> is set, errors can be switched to warnings and | 
 | vice versa by configuring the <code>fsck.</code><em><msg-id></em> setting where the | 
 | <em><msg-id></em> 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</code> <code>=</code> <code>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.</code><em><msg-id></em> value will cause fsck to die, but | 
 | doing the same for <code>receive.fsck.</code><em><msg-id></em> and <code>fetch.fsck.</code><em><msg-id></em> | 
 | will only cause git to warn.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>See the <code>Fsck</code> <code>Messages</code> section of <a href="git-fsck.html">git-fsck(1)</a> for supported | 
 | values of <em><msg-id></em>.</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.</code><em><msg-id></em> 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</code> <code>gc</code> <code>--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</code> <code>gc</code> <code>--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</code> <code>gc</code> | 
 | <code>--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</code> <code>gc</code> <code>--auto</code> return immediately and run in the background | 
 | if the system supports it. Default is true. This config variable acts | 
 | as a fallback in case <code>maintenance.autoDetach</code> is not set.</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</code> <code>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</code> <code>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</code> <code>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</code> <code>gc</code> <code>--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</code> <code>gc</code> <code>--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</code> <code>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</code> <code>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</code> | 
 | <code>commit</code> <code>--amend</code> or <code>git</code> <code>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=</code><em><filter-spec></em> 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 might not be able to access the | 
 | objects in that packfile. See the <code>--filter-to=</code><em><dir></em> 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 (;). | 
 | 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</dt> | 
 | <dt class="hdlist1">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">gpg.program</dt> | 
 | <dd> | 
 | <p>Pathname of the program to use instead of "<code>gpg</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</code> <code>--verify</code> <code>$signature</code> <code>-</code> <$file" 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</code> <code>-bsau</code> <code>$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</code> <code>ssh-rsa</code> <code>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">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 <code>git</code> <code>grep</code> <code>--no-index</code> if <code>git</code> <code>grep</code> | 
 | is executed outside of a git repository.  Defaults to false.</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</code> <code>-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</code> <code>History</code> | 
 | <code>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, "false", "off", "no", "show": show the suggested command (default).</p> | 
 | </li> | 
 | <li> | 
 | <p>1, "true", "on", "yes", "immediate": run the suggested command | 
 | immediately.</p> | 
 | </li> | 
 | <li> | 
 | <p>positive number > 1: run the suggested command after specified | 
 | deciseconds (0.1 sec).</p> | 
 | </li> | 
 | <li> | 
 | <p>"never": don’t run or show any suggested command.</p> | 
 | </li> | 
 | <li> | 
 | <p>"prompt": show the suggestion and prompt for confirmation to run | 
 | the 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</code>(<code>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][/path]</em>. This can be | 
 | overridden on a per-remote basis; see remote.<name>.proxy</p> | 
 | <div class="paragraph"> | 
 | <p>Any proxy, however configured, must be completely transparent and must not | 
 | modify, transform, or buffer the request or response in any way.  Proxies which | 
 | are not completely transparent are known to cause various forms of breakage | 
 | with Git.</p> | 
 | </div> | 
 | </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.</code><em><name></em><code>.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</code>(<code>1</code>))</p> | 
 | </li> | 
 | <li> | 
 | <p><code>ntlm</code> - NTLM authentication (compare the --ntlm option of <code>curl</code>(<code>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.proactiveAuth</dt> | 
 | <dd> | 
 | <p>Attempt authentication without first making an unauthenticated attempt and | 
 | receiving a 401 response. This can be used to ensure that all requests are | 
 | authenticated. If <code>http.emptyAuth</code> is set to true, this value has no effect.</p> | 
 | <div class="paragraph"> | 
 | <p>If the credential helper used specifies an authentication scheme (i.e., via the | 
 | <code>authtype</code> field), that value will be used; if a username and password is | 
 | provided without a scheme, then Basic authentication is used.  The value of the | 
 | option determines the scheme requested from the helper. Possible values are:</p> | 
 | </div> | 
 | <div class="openblock"> | 
 | <div class="content"> | 
 | <div class="ulist"> | 
 | <ul> | 
 | <li> | 
 | <p><code>basic</code> - Request Basic authentication from the helper.</p> | 
 | </li> | 
 | <li> | 
 | <p><code>auto</code> - Allow the helper to pick an appropriate scheme.</p> | 
 | </li> | 
 | <li> | 
 | <p><code>none</code> - Disable proactive authentication.</p> | 
 | </li> | 
 | </ul> | 
 | </div> | 
 | </div> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>Note that TLS should always be used with this configuration, since otherwise it | 
 | is easy to accidentally expose plaintext credentials if Basic authentication | 
 | is selected.</p> | 
 | </div> | 
 | </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</code>(<code>1</code>)). | 
 | Set it to an empty string, to accept only new cookies from | 
 | the server and send them back in successive requests within same | 
 | connection. | 
 | 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, or set to | 
 | an empty string.</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.sslCertType</dt> | 
 | <dd> | 
 | <p>Type of client certificate used when fetching or pushing over HTTPS. | 
 | "PEM", "DER" are supported when using openssl or gnutls backends. "P12" | 
 | is supported on "openssl", "schannel", "securetransport", and gnutls 8.11+. | 
 | See also libcurl <code>CURLOPT_SSLCERTTYPE</code>. Can be overridden by the | 
 | <code>GIT_SSL_CERT_TYPE</code> environment variable.</p> | 
 | </dd> | 
 | <dt class="hdlist1">http.sslKeyType</dt> | 
 | <dd> | 
 | <p>Type of client private key used when fetching or pushing over HTTPS. (e.g. | 
 | "PEM", "DER", or "ENG"). Only applicable when using "openssl" backend. "DER" | 
 | is not supported with openssl. Particularly useful when set to "ENG" for | 
 | authenticating with PKCS#11 tokens, with a PKCS#11 URL in sslCert option. | 
 | See also libcurl <code>CURLOPT_SSLKEYTYPE</code>. Can be overridden by the | 
 | <code>GIT_SSL_KEY_TYPE</code> environment variable.</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</dt> | 
 | <dt class="hdlist1">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.keepAliveIdle</dt> | 
 | <dd> | 
 | <p>Specifies how long in seconds to wait on an idle connection | 
 | before sending TCP keepalive probes (if supported by the OS). If | 
 | unset, curl’s default value is used. Can be overridden by the | 
 | <code>GIT_HTTP_KEEPALIVE_IDLE</code> environment variable.</p> | 
 | </dd> | 
 | <dt class="hdlist1">http.keepAliveInterval</dt> | 
 | <dd> | 
 | <p>Specifies how long in seconds to wait between TCP keepalive | 
 | probes (if supported by the OS). If unset, curl’s default value | 
 | is used. Can be overridden by the <code>GIT_HTTP_KEEPALIVE_INTERVAL</code> | 
 | environment variable.</p> | 
 | </dd> | 
 | <dt class="hdlist1">http.keepAliveCount</dt> | 
 | <dd> | 
 | <p>Specifies how many TCP keepalive probes to send before giving up | 
 | and terminating the connection (if supported by the OS). If | 
 | unset, curl’s default value is used. Can be overridden by the | 
 | <code>GIT_HTTP_KEEPALIVE_COUNT</code> environment variable.</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: <code>INBOX.Drafts</code>, <code>INBOX/Drafts</code> or | 
 | [<code>Gmail</code>]<code>/Drafts</code>. The IMAP folder to interact with MUST be specified; | 
 | the value of this configuration variable is used as the fallback | 
 | default value when the <code>--folder</code> option is not given.</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 methods are <code>PLAIN</code>, <code>CRAM-MD5</code>, <code>OAUTHBEARER</code> | 
 | and <code>XOAUTH2</code>. If this is not set then <code>git</code> <code>imap-send</code> uses the basic IMAP | 
 | plaintext <code>LOGIN</code> 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</code> <code>add</code>, <code>git</code> <code>commit</code>, or <code>git</code> <code>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</code> <code>fsck</code>.</p> | 
 | </div> | 
 | </dd> | 
 | </dl> | 
 | </div> | 
 | <div class="dlist"> | 
 | <dl> | 
 | <dt class="hdlist1"><code>init.templateDir</code></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"><code>init.defaultBranch</code></dt> | 
 | <dd> | 
 | <p>Allows overriding the default branch name e.g. when initializing | 
 | a new repository.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>init.defaultObjectFormat</code></dt> | 
 | <dd> | 
 | <p>Allows overriding the default object format for new repositories. See | 
 | <code>--object-format=</code> in <a href="git-init.html">git-init(1)</a>. Both the command line option | 
 | and the <code>GIT_DEFAULT_HASH</code> environment variable take precedence over | 
 | this config.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>init.defaultRefFormat</code></dt> | 
 | <dd> | 
 | <p>Allows overriding the default ref storage format for new repositories. | 
 | See <code>--ref-format=</code> in <a href="git-init.html">git-init(1)</a>. Both the command line | 
 | option and the <code>GIT_DEFAULT_REF_FORMAT</code> environment variable take | 
 | precedence over this config.</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>When set to true, allow the user to provide one-letter input | 
 | with a single key (i.e., without hitting the Enter key) in | 
 | interactive commands.  This is currently 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>.</p> | 
 | </dd> | 
 | <dt class="hdlist1">interactive.diffFilter</dt> | 
 | <dd> | 
 | <p>When an interactive command (such as <code>git</code> <code>add</code> <code>--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"><code>log.abbrevCommit</code></dt> | 
 | <dd> | 
 | <p>If <code>true</code>, make | 
 | <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"><code>log.date</code></dt> | 
 | <dd> | 
 | <p>Set the default date-time mode for the <code>log</code> command. | 
 | Setting a value for log.date is similar to using <code>git</code> <code>log</code>'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"><code>log.decorate</code></dt> | 
 | <dd> | 
 | <p>Print out the ref names of any commits that are shown by the log | 
 | command. Possible values are:</p> | 
 | <div class="openblock"> | 
 | <div class="content"> | 
 | <div class="dlist"> | 
 | <dl> | 
 | <dt class="hdlist1"><code>short</code></dt> | 
 | <dd> | 
 | <p>the ref name prefixes <code>refs/heads/</code>, <code>refs/tags/</code> and | 
 | <code>refs/remotes/</code> are not printed.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>full</code></dt> | 
 | <dd> | 
 | <p>the full ref name (including prefix) are printed.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>auto</code></dt> | 
 | <dd> | 
 | <p>if the output is going to a terminal, | 
 | the ref names are shown as if <code>short</code> were given, otherwise no ref | 
 | names are shown.</p> | 
 | </dd> | 
 | </dl> | 
 | </div> | 
 | </div> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>This is the same as the <code>--decorate</code> option of the <code>git</code> <code>log</code>.</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1"><code>log.initialDecorationSet</code></dt> | 
 | <dd> | 
 | <p>By default, <code>git</code> <code>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"><code>log.excludeDecoration</code></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"><code>log.diffMerges</code></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"><code>log.follow</code></dt> | 
 | <dd> | 
 | <p>If <code>true</code>, <code>git</code> <code>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"><code>log.graphColors</code></dt> | 
 | <dd> | 
 | <p>A list of colors, separated by commas, that can be used to draw | 
 | history lines in <code>git</code> <code>log</code> <code>--graph</code>.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>log.showRoot</code></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"><code>log.showSignature</code></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"><code>log.mailmap</code></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</code> <code>maintenance</code> <code>run</code> <code>--auto</code> after doing their normal work. Defaults | 
 | to true.</p> | 
 | </dd> | 
 | <dt class="hdlist1">maintenance.autoDetach</dt> | 
 | <dd> | 
 | <p>Many Git commands trigger automatic maintenance after they have | 
 | written data into the repository. This boolean config option | 
 | controls whether this automatic maintenance shall happen in the | 
 | foreground or whether the maintenance process shall detach and | 
 | continue to run in the background.</p> | 
 | <div class="paragraph"> | 
 | <p>If unset, the value of <code>gc.autoDetach</code> is used as a fallback. Defaults | 
 | to true if both are unset, meaning that the maintenance process will | 
 | detach.</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1">maintenance.strategy</dt> | 
 | <dd> | 
 | <p>This string config option provides a way to specify one of a few | 
 | recommended strategies for repository maintenance. This affects | 
 | which tasks are run during <code>git</code> <code>maintenance</code> <code>run</code>, provided no | 
 | <code>--task=</code><em><task></em> arguments are provided. This setting impacts manual | 
 | maintenance, auto-maintenance as well as scheduled maintenance. The | 
 | tasks that run may be different depending on the maintenance type.</p> | 
 | <div class="paragraph"> | 
 | <p>The maintenance strategy can be further tweaked by setting | 
 | <code>maintenance.</code><em><task></em><code>.enabled</code> and <code>maintenance.</code><em><task></em><code>.schedule</code>. If set, these | 
 | values are used instead of the defaults provided by <code>maintenance.strategy</code>.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>The possible strategies are:</p> | 
 | </div> | 
 | <div class="ulist"> | 
 | <ul> | 
 | <li> | 
 | <p><code>none</code>: This strategy implies no tasks are run at all. This is the default | 
 | strategy for scheduled maintenance.</p> | 
 | </li> | 
 | <li> | 
 | <p><code>gc</code>: This strategy runs the <code>gc</code> task. This is the default strategy for | 
 | manual maintenance.</p> | 
 | </li> | 
 | <li> | 
 | <p><code>geometric</code>: This strategy performs geometric repacking of packfiles and | 
 | keeps auxiliary data structures up-to-date. The strategy expires data in the | 
 | reflog and removes worktrees that cannot be located anymore. When the | 
 | geometric repacking strategy would decide to do an all-into-one repack, then | 
 | the strategy generates a cruft pack for all unreachable objects. Objects that | 
 | are already part of a cruft pack will be expired.</p> | 
 | <div class="paragraph"> | 
 | <p>This repacking strategy is a full replacement for the <code>gc</code> strategy and is | 
 | recommended for large repositories.</p> | 
 | </div> | 
 | </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. Manual repository maintenance uses the <code>gc</code> task.</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 <em><task></em> is run when no <code>--task</code> option is specified to | 
 | <code>git</code> <code>maintenance</code> <code>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 <em><task></em> runs | 
 | during a <code>git</code> <code>maintenance</code> <code>run</code> <code>--schedule=</code><em><frequency></em> 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</code> <code>maintenance</code> <code>run</code> <code>--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</code> <code>maintenance</code> <code>run</code> <code>--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.loose-objects.batchSize</dt> | 
 | <dd> | 
 | <p>This integer config option controls the maximum number of loose objects | 
 | written into a packfile during the <code>loose-objects</code> task. The default is | 
 | fifty thousand. Use value <code>0</code> to indicate no limit.</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</code> <code>maintenance</code> <code>run</code> <code>--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">maintenance.geometric-repack.auto</dt> | 
 | <dd> | 
 | <p>This integer config option controls how often the <code>geometric-repack</code> | 
 | task should be run as part of <code>git</code> <code>maintenance</code> <code>run</code> <code>--auto</code>. If zero, | 
 | then the <code>geometric-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 either when | 
 | there are packfiles that need to be merged together to retain the | 
 | geometric progression, or when there are at least this many loose | 
 | objects that would be written into a new packfile. The default value is | 
 | 100.</p> | 
 | </dd> | 
 | <dt class="hdlist1">maintenance.geometric-repack.splitFactor</dt> | 
 | <dd> | 
 | <p>This integer config option controls the factor used for the geometric | 
 | sequence. See the <code>--geometric=</code> option in <a href="git-repack.html">git-repack(1)</a> for | 
 | more details. Defaults to <code>2</code>.</p> | 
 | </dd> | 
 | <dt class="hdlist1">maintenance.reflog-expire.auto</dt> | 
 | <dd> | 
 | <p>This integer config option controls how often the <code>reflog-expire</code> task | 
 | should be run as part of <code>git</code> <code>maintenance</code> <code>run</code> <code>--auto</code>. If zero, then | 
 | the <code>reflog-expire</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 | 
 | expired reflog entries in the "HEAD" reflog is at least the value of | 
 | <code>maintenance.loose-objects.auto</code>. The default value is 100.</p> | 
 | </dd> | 
 | <dt class="hdlist1">maintenance.rerere-gc.auto</dt> | 
 | <dd> | 
 | <p>This integer config option controls how often the <code>rerere-gc</code> task | 
 | should be run as part of <code>git</code> <code>maintenance</code> <code>run</code> <code>--auto</code>. If zero, then | 
 | the <code>rerere-gc</code> task will not run with the <code>--auto</code> option. A negative | 
 | value will force the task to run every time. Otherwise, any positive | 
 | value implies the command will run when the "rr-cache" directory exists | 
 | and has at least one entry, regardless of whether it is stale or not. | 
 | This heuristic may be refined in the future. The default value is 1.</p> | 
 | </dd> | 
 | <dt class="hdlist1">maintenance.worktree-prune.auto</dt> | 
 | <dd> | 
 | <p>This integer config option controls how often the <code>worktree-prune</code> task | 
 | should be run as part of <code>git</code> <code>maintenance</code> <code>run</code> <code>--auto</code>. If zero, then | 
 | the <code>worktree-prune</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 | 
 | prunable worktrees exceeds the value. The default value is 1.</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"><code>merge.conflictStyle</code></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 <<<<<<< conflict marker, changes made by one side, | 
 | a <code>=======</code> marker, changes made by the other side, and then | 
 | a >>>>>>> marker.  An alternate style, "diff3", adds a ||||||| | 
 | 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"><code>merge.defaultToUpstream</code></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.</code><current <code>branch</code>><code>.merge</code> that name the | 
 | branches at the remote named by <code>branch.</code><em><current-branch></em><code>.remote</code> | 
 | are consulted, and then they are mapped via <code>remote.</code><em><remote></em><code>.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"><code>merge.ff</code></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"><code>merge.verifySignatures</code></dt> | 
 | <dd> | 
 | <p>If true, this is equivalent to the <code>--verify-signatures</code> command | 
 | line option. See <a href="git-merge.html">git-merge(1)</a> for details.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>merge.branchdesc</code></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"><code>merge.log</code></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"><code>merge.suppressDest</code></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 <em><branch-name></em>" 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"><code>merge.renameLimit</code></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 <code>diff.renameLimit</code>.  If neither | 
 | <code>merge.renameLimit</code> nor <code>diff.renameLimit</code> are specified, | 
 | currently defaults to 7000.  This setting has no effect if | 
 | rename detection is turned off.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>merge.renames</code></dt> | 
 | <dd> | 
 | <p>Whether Git detects renames.  If set to <code>false</code>, rename detection | 
 | is disabled. If set to <code>true</code>, basic rename detection is enabled. | 
 | Defaults to the value of diff.renames.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>merge.directoryRenames</code></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. Possible values are:</p> | 
 | <div class="openblock"> | 
 | <div class="content"> | 
 | <div class="dlist"> | 
 | <dl> | 
 | <dt class="hdlist1"><code>false</code></dt> | 
 | <dd> | 
 | <p>Directory rename detection is disabled, meaning that such new files will be | 
 | left behind in the old directory.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>true</code></dt> | 
 | <dd> | 
 | <p>Directory rename detection is enabled, meaning that such new files will be | 
 | moved into the new directory.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>conflict</code></dt> | 
 | <dd> | 
 | <p>A conflict will be reported for such paths.</p> | 
 | </dd> | 
 | </dl> | 
 | </div> | 
 | </div> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>If <code>merge.renames</code> is <code>false</code>, <code>merge.directoryRenames</code> is ignored and treated | 
 | as <code>false</code>. Defaults to <code>conflict</code>.</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1"><code>merge.renormalize</code></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 <em>CRLF</em> line endings, but recent ones use <em>LF</em> line | 
 | endings).  In such a repository, for each file where a | 
 | three-way content merge is needed, 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"><code>merge.stat</code></dt> | 
 | <dd> | 
 | <p>What, if anything, to print between <code>ORIG_HEAD</code> and the merge result | 
 | at the end of the merge.  Possible values are:</p> | 
 | <div class="openblock"> | 
 | <div class="content"> | 
 | <div class="dlist"> | 
 | <dl> | 
 | <dt class="hdlist1"><code>false</code></dt> | 
 | <dd> | 
 | <p>Show nothing.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>true</code></dt> | 
 | <dd> | 
 | <p>Show <code>git</code> <code>diff</code> <code>--diffstat</code> <code>--summary</code> <code>ORIG_HEAD</code>.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>compact</code></dt> | 
 | <dd> | 
 | <p>Show <code>git</code> <code>diff</code> <code>--compact-summary</code> <code>ORIG_HEAD</code>.</p> | 
 | </dd> | 
 | </dl> | 
 | </div> | 
 | </div> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>but any unrecognised value (e.g., a value added by a future version of | 
 | Git) is taken as <code>true</code> instead of triggering an error.  Defaults to | 
 | <code>true</code>.</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1"><code>merge.autoStash</code></dt> | 
 | <dd> | 
 | <p>When set to <code>true</code>, 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 <code>false</code>.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>merge.tool</code></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 <code>mergetool.</code><em><tool></em><code>.cmd</code> variable is defined.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>merge.guitool</code></dt> | 
 | <dd> | 
 | <p>Controls which merge tool is used by <a href="git-mergetool.html">git-mergetool(1)</a> when the | 
 | <code>-g</code>/<code>--gui</code> 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 <code>mergetool.</code><em><guitool></em><code>.cmd</code> 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</code> <code>help</code> <code>mergetool</code>'s <code>BACKEND</code> <code>SPECIFIC</code> <code>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</code> <code>merge</code> (see <code>git</code> <code>help</code> <code>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</code> <code>help</code> <code>mergetool</code>'s <code>BACKEND</code> <code>SPECIFIC</code> <code>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</code> <code>help</code> <code>mergetool</code>'s <code>BACKEND</code> <code>SPECIFIC</code> <code>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>vscode</code></dt> | 
 | <dd> | 
 | <p>Use Visual Studio Code (requires a graphical session)</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"><code>merge.verbosity</code></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"><code>merge.</code><em><driver></em><code>.name</code></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"><code>merge.</code><em><driver></em><code>.driver</code></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"><code>merge.</code><em><driver></em><code>.recursive</code></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"><code>mergetool.</code><em><tool></em><code>.path</code></dt> | 
 | <dd> | 
 | <p>Override the path for the given tool.  This is useful in case | 
 | your tool is not in the <code>$PATH</code>.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>mergetool.</code><em><tool></em><code>.cmd</code></dt> | 
 | <dd> | 
 | <p>Specify the command to invoke the specified merge tool.  The | 
 | specified command is evaluated in shell with the following | 
 | variables available: <code>BASE</code> is the name of a temporary file | 
 | containing the common base of the files to be merged, if available; | 
 | <code>LOCAL</code> is the name of a temporary file containing the contents of | 
 | the file on the current branch; <code>REMOTE</code> is the name of a temporary | 
 | file containing the contents of the file from the branch being | 
 | merged; <code>MERGED</code> contains the name of the file to which the merge | 
 | tool should write the results of a successful merge.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>mergetool.</code><em><tool></em><code>.hideResolved</code></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"><code>mergetool.</code><em><tool></em><code>.trustExitCode</code></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"><code>mergetool.meld.hasOutput</code></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</code> <code>--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"><code>mergetool.meld.useAutoMerge</code></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"><code>mergetool.</code><em><variant></em><code>.layout</code></dt> | 
 | <dd> | 
 | <p>Configure the split window layout for vimdiff’s <em><variant></em>, which is any of <code>vimdiff</code>, | 
 | <code>nvimdiff</code>, <code>gvimdiff</code>. | 
 | Upon launching <code>git</code> <code>mergetool</code> with <code>--tool=</code><em><variant></em> (or without <code>--tool</code> | 
 | if <code>merge.tool</code> is configured as <em><variant></em>), Git will consult | 
 | <code>mergetool.</code><em><variant></em><code>.layout</code> to determine the tool’s layout. If the | 
 | variant-specific configuration is not available, <code>vimdiff</code> ' s is used as | 
 | fallback.  If that too is not available, a default layout with 4 windows | 
 | will be used.  To configure the layout, see the <em>BACKEND SPECIFIC HINTS</em> | 
 | section in <a href="git-mergetool.html">git-mergetool(1)</a>.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>mergetool.hideResolved</code></dt> | 
 | <dd> | 
 | <p>During a merge, Git will automatically resolve as many conflicts as | 
 | possible and write the <code>$MERGED</code> file containing conflict markers around | 
 | any conflicts that it cannot resolve; <code>$LOCAL</code> and <code>$REMOTE</code> normally | 
 | are the versions of the file from before Git’s conflict | 
 | resolution. This flag causes <code>$LOCAL</code> and <code>$REMOTE</code> to be overwritten so | 
 | that only the unresolved conflicts are presented to the merge tool. Can | 
 | be configured per-tool via the <code>mergetool.</code><em><tool></em><code>.hideResolved</code> | 
 | configuration variable. Defaults to <code>false</code>.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>mergetool.keepBackup</code></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"><code>mergetool.keepTemporaries</code></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"><code>mergetool.writeToTemp</code></dt> | 
 | <dd> | 
 | <p>Git writes temporary <code>BASE</code>, <code>LOCAL</code>, and <code>REMOTE</code> 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"><code>mergetool.prompt</code></dt> | 
 | <dd> | 
 | <p>Prompt before each invocation of the merge resolution program.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>mergetool.guiDefault</code></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"><code>notes.mergeStrategy</code></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"><code>notes.</code><em><name></em><code>.mergeStrategy</code></dt> | 
 | <dd> | 
 | <p>Which merge strategy to choose when doing a notes merge into | 
 | <code>refs/notes/</code><em><name></em>.  This overrides the more general | 
 | <code>notes.mergeStrategy</code>.  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"><code>notes.displayRef</code></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 <code>git</code> <code>log</code> 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 <a href="git-log.html">git-log(1)</a> | 
 | family of commands, or by the <code>--notes=</code><em><ref></em> option accepted by | 
 | those commands.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>The effective value of <code>core.notesRef</code> (possibly overridden by | 
 | <code>GIT_NOTES_REF</code>) is also implicitly added to the list of refs to be | 
 | displayed.</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1"><code>notes.rewrite.</code><em><command></em></dt> | 
 | <dd> | 
 | <p>When rewriting commits with <em><command></em> (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"><code>notes.rewriteMode</code></dt> | 
 | <dd> | 
 | <p>When copying notes during a rewrite (see the | 
 | <code>notes.rewrite.</code><em><command></em> 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"><code>notes.rewriteRef</code></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.</code><em><command></em> 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="paragraph"> | 
 | <p>If only a single pack bitmap is available, and <code>pack.allowPackReuse</code> | 
 | 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.</p> | 
 | </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.usePathWalk</dt> | 
 | <dd> | 
 | <p>Enable the <code>--path-walk</code> option by default for <code>git</code> <code>pack-objects</code> | 
 | processes. See <a href="git-pack-objects.html">git-pack-objects(1)</a> for full details.</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.</code><em><cmd></em>.  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</code> <code>config</code> <code>pretty.changelog</code> "format:* <code>%H</code> <code>%s</code>" | 
 | would cause the invocation <code>git</code> <code>log</code> <code>--pretty=changelog</code> | 
 | to be equivalent to running <code>git</code> <code>log</code> "--pretty=format:* <code>%H</code> <code>%s</code>". | 
 | Note that an alias with the same name as a built-in format | 
 | will be silently ignored.</p> | 
 | </dd> | 
 | <dt class="hdlist1">promisor.quiet</dt> | 
 | <dd> | 
 | <p>If set to "true" assume <code>--quiet</code> when fetching additional | 
 | objects for a partial clone.</p> | 
 | </dd> | 
 | <dt class="hdlist1">promisor.advertise</dt> | 
 | <dd> | 
 | <p>If set to "true", a server will use the "promisor-remote" | 
 | capability, see <a href="gitprotocol-v2.html">gitprotocol-v2(5)</a>, to advertise the | 
 | promisor remotes it is using, if it uses some. Default is | 
 | "false", which means the "promisor-remote" capability is not | 
 | advertised.</p> | 
 | </dd> | 
 | <dt class="hdlist1">promisor.sendFields</dt> | 
 | <dd> | 
 | <p>A comma or space separated list of additional remote related | 
 | field names. A server sends these field names and the | 
 | associated field values from its configuration when | 
 | advertising its promisor remotes using the "promisor-remote" | 
 | capability, see <a href="gitprotocol-v2.html">gitprotocol-v2(5)</a>. Currently, only the | 
 | "partialCloneFilter" and "token" field names are supported.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>partialCloneFilter</code></dt> | 
 | <dd> | 
 | <p>contains the partial clone filter | 
 | used for the remote.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>token</code></dt> | 
 | <dd> | 
 | <p>contains an authentication token for the remote.</p> | 
 | <div class="paragraph"> | 
 | <p>When a field name is part of this list and a corresponding | 
 | "remote.foo.<field-name>" config variable is set on the server to a | 
 | non-empty value, then the field name and value are sent when | 
 | advertising the promisor remote "foo".</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>This list has no effect unless the "promisor.advertise" config | 
 | variable is set to "true", and the "name" and "url" fields are always | 
 | advertised regardless of this setting.</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1">promisor.acceptFromServer</dt> | 
 | <dd> | 
 | <p>If set to "all", a client will accept all the promisor remotes | 
 | a server might advertise using the "promisor-remote" | 
 | capability. If set to "knownName" the client will accept | 
 | promisor remotes which are already configured on the client | 
 | and have the same name as those advertised by the client. This | 
 | is not very secure, but could be used in a corporate setup | 
 | where servers and clients are trusted to not switch name and | 
 | URLs. If set to "knownUrl", the client will accept promisor | 
 | remotes which have both the same name and the same URL | 
 | configured on the client as the name and URL advertised by the | 
 | server. This is more secure than "all" or "knownName", so it | 
 | should be used if possible instead of those options. Default | 
 | is "none", which means no promisor remote advertised by a | 
 | server will be accepted. By accepting a promisor remote, the | 
 | client agrees that the server might omit objects that are | 
 | lazily fetchable from this promisor remote from its responses | 
 | to "fetch" and "clone" requests from the client. Name and URL | 
 | comparisons are case sensitive. See <a href="gitprotocol-v2.html">gitprotocol-v2(5)</a>.</p> | 
 | </dd> | 
 | <dt class="hdlist1">promisor.checkFields</dt> | 
 | <dd> | 
 | <p>A comma or space separated list of additional remote related | 
 | field names. A client checks if the values of these fields | 
 | transmitted by a server correspond to the values of these | 
 | fields in its own configuration before accepting a promisor | 
 | remote. Currently, "partialCloneFilter" and "token" are the | 
 | only supported field names.</p> | 
 | <div class="paragraph"> | 
 | <p>If one of these field names (e.g., "token") is being checked for an | 
 | advertised promisor remote (e.g., "foo"), three conditions must be met | 
 | for the check of this specific field to pass:</p> | 
 | </div> | 
 | <div class="olist arabic"> | 
 | <ol class="arabic"> | 
 | <li> | 
 | <p>The corresponding local configuration (e.g., <code>remote.foo.token</code>) | 
 | must be set.</p> | 
 | </li> | 
 | <li> | 
 | <p>The server must advertise the "token" field for remote "foo".</p> | 
 | </li> | 
 | <li> | 
 | <p>The value of the locally configured <code>remote.foo.token</code> must exactly | 
 | match the value advertised by the server for the "token" field.</p> | 
 | <div class="paragraph"> | 
 | <p>If any of these conditions is not met for any field name listed in | 
 | <code>promisor.checkFields</code>, the advertised remote "foo" is rejected.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>For the "partialCloneFilter" field, this allows the client to ensure | 
 | that the server’s filter matches what it expects locally, preventing | 
 | inconsistencies in filtering behavior. For the "token" field, this can | 
 | be used to verify that authentication credentials match expected | 
 | values.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>Field values are compared case-sensitively.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>The "name" and "url" fields are always checked according to the | 
 | <code>promisor.acceptFromServer</code> policy, independently of this setting.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>The field names and values should be passed by the server through the | 
 | "promisor-remote" capability by using the <code>promisor.sendFields</code> config | 
 | variable. The fields are checked only if the | 
 | <code>promisor.acceptFromServer</code> config variable is not set to "None". If | 
 | set to "None", this config variable has no effect. See | 
 | <a href="gitprotocol-v2.html">gitprotocol-v2(5)</a>.</p> | 
 | </div> | 
 | </li> | 
 | </ol> | 
 | </div> | 
 | </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.</code><em><name></em><code>.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 <em><name></em> 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.autoStash</dt> | 
 | <dd> | 
 | <p>When set to true, automatically create a temporary stash entry | 
 | to record the local changes before the operation begins, and | 
 | restore them after the operation completes.  When your "git | 
 | pull" rebases (instead of merges), this may be convenient, since | 
 | unlike merging pull that tolerates local changes that do not | 
 | interfere with the merge, rebasing pull refuses to work with any | 
 | local changes.</p> | 
 | <div class="paragraph"> | 
 | <p>If <code>pull.autostash</code> is set (either to true or false), | 
 | <code>merge.autostash</code> and <code>rebase.autostash</code> are ignored.  If | 
 | <code>pull.autostash</code> is not set at all, depending on the value of | 
 | <code>pull.rebase</code>, <code>merge.autostash</code> or <code>rebase.autostash</code> is used | 
 | instead.  Can be overridden by the <code>--</code>[<code>no-</code>]<code>autostash</code> command line | 
 | option.</p> | 
 | </div> | 
 | </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</code> <code>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>@</code>{upstream}).  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=</code><em><option></em> argument is given from the | 
 | command line, <code>git</code> <code>push</code> behaves as if each <value> of | 
 | this variable is given as <code>--push-option=</code><em><value></em>.</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>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).</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</code> <code>rebase</code> will use abbreviated command names in the | 
 | todo list resulting in something like this:</p> | 
 | <div class="listingblock"> | 
 | <div class="content"> | 
 | <pre>        p deadbee The oneline of the commit | 
 |         p fa1afe1 The oneline of the next commit | 
 |         ...</pre> | 
 | </div> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>instead of:</p> | 
 | </div> | 
 | <div class="listingblock"> | 
 | <div class="content"> | 
 | <pre>        pick deadbee The oneline of the commit | 
 |         pick fa1afe1 The oneline of the next commit | 
 |         ...</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 maintenance run --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</code> <code>receive-pack</code> | 
 | will accept a <code>git</code> <code>push</code> <code>--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</code> <code>push</code> <code>--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.</code><em><msg-id></em>, 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.</code><em><msg-id></em> 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</code> <code>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 ! can be included in the modifiers to negate the reference prefix entry. | 
 | E.g.:</p> | 
 | </div> | 
 | <div class="literalblock"> | 
 | <div class="content"> | 
 | <pre>git config --system --add receive.procReceiveRefs ad:refs/heads | 
 | git config --system --add receive.procReceiveRefs !:refs/heads</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">reftable.blockSize</dt> | 
 | <dd> | 
 | <p>The size in bytes used by the reftable backend when writing blocks. | 
 | The block size is determined by the writer, and does not have to be a | 
 | power of 2. The block size must be larger than the longest reference | 
 | name or log entry used in the repository, as references cannot span | 
 | blocks.</p> | 
 | <div class="paragraph"> | 
 | <p>Powers of two that are friendly to the virtual memory system or | 
 | filesystem (such as 4kB or 8kB) are recommended. Larger sizes (64kB) can | 
 | yield better compression, with a possible increased cost incurred by | 
 | readers during access.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>The largest block size is <code>16777215</code> bytes (15.99 MiB). The default value is | 
 | <code>4096</code> bytes (4kB). A value of <code>0</code> will use the default value.</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1">reftable.restartInterval</dt> | 
 | <dd> | 
 | <p>The interval at which to create restart points. The reftable backend | 
 | determines the restart points at file creation. Every 16 may be | 
 | more suitable for smaller block sizes (4k or 8k), every 64 for larger | 
 | block sizes (64k).</p> | 
 | <div class="paragraph"> | 
 | <p>More frequent restart points reduces prefix compression and increases | 
 | space consumed by the restart table, both of which increase file size.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>Less frequent restart points makes prefix compression more effective, | 
 | decreasing overall file size, with increased penalties for readers | 
 | walking through more records after the binary search step.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>A maximum of <code>65535</code> restart points per block is supported.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>The default value is to create restart points every 16 records. A value of <code>0</code> | 
 | will use the default value.</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1">reftable.indexObjects</dt> | 
 | <dd> | 
 | <p>Whether the reftable backend shall write object blocks. Object blocks | 
 | are a reverse mapping of object ID to the references pointing to them.</p> | 
 | <div class="paragraph"> | 
 | <p>The default value is <code>true</code>.</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1">reftable.geometricFactor</dt> | 
 | <dd> | 
 | <p>Whenever the reftable backend appends a new table to the stack, it | 
 | performs auto compaction to ensure that there is only a handful of | 
 | tables. The backend does this by ensuring that tables form a geometric | 
 | sequence regarding the respective sizes of each table.</p> | 
 | <div class="paragraph"> | 
 | <p>By default, the geometric sequence uses a factor of 2, meaning that for any | 
 | table, the next-biggest table must at least be twice as big. A maximum factor | 
 | of 256 is supported.</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1">reftable.lockTimeout</dt> | 
 | <dd> | 
 | <p>Whenever the reftable backend appends a new table to the stack, it has | 
 | to lock the central "tables.list" file before updating it. This config | 
 | controls how long the process will wait to acquire the lock in case | 
 | another process has already acquired it. 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">remote.pushDefault</dt> | 
 | <dd> | 
 | <p>The remote to push to by default.  Overrides | 
 | <code>branch.</code><em><name></em><code>.remote</code> for all branches, and is overridden by | 
 | <code>branch.</code><em><name></em><code>.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>. A configured remote can have multiple URLs; | 
 | in this case the first is used for fetching, and all are used | 
 | for pushing (assuming no <code>remote.</code><em><name></em><code>.pushurl</code> is defined). | 
 | Setting this key to the empty string clears the list of urls, | 
 | allowing you to override earlier config.</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>. | 
 | If a <code>pushurl</code> option is present in a configured remote, it | 
 | is used for pushing instead of <code>remote.</code><em><name></em><code>.url</code>. A configured | 
 | remote can have multiple push URLs; in this case a push goes to | 
 | all of them. Setting this key to the empty string clears the | 
 | list of urls, allowing you to override earlier config.</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.</code><em><name></em><code>.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>A deprecated synonym to <code>remote.</code><em><name></em><code>.skipFetchAll</code> (if | 
 | both are set in the configuration files with different | 
 | values, the value of the last occurrence will be used).</p> | 
 | </dd> | 
 | <dt class="hdlist1">remote.<name>.skipFetchAll</dt> | 
 | <dd> | 
 | <p>If true, this remote will be skipped when updating | 
 | using <a href="git-fetch.html">git-fetch(1)</a>, the <code>update</code> subcommand of | 
 | <a href="git-remote.html">git-remote(1)</a>, and ignored by the prefetch task | 
 | of <code>git</code> <code>maintenance</code>.</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.</code><em><name></em><code>.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.</code><em><name></em><code>.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">remote.<name>.serverOption</dt> | 
 | <dd> | 
 | <p>The default set of server options used when fetching from this remote. | 
 | These server options can be overridden by the <code>--server-option=</code> command | 
 | line arguments.</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> | 
 | </dd> | 
 | <dt class="hdlist1">remote.<name>.followRemoteHEAD</dt> | 
 | <dd> | 
 | <p>How <a href="git-fetch.html">git-fetch(1)</a> should handle updates to <code>remotes/</code><em><name></em><code>/HEAD</code> | 
 | when fetching using the configured refspecs of a remote. | 
 | The default value is "create", which will create <code>remotes/</code><em><name></em><code>/HEAD</code> | 
 | if it exists on the remote, but not locally; this will not touch an | 
 | already existing local reference. Setting it to "warn" will print | 
 | a message if the remote has a different value than the local one; | 
 | in case there is no local reference, it behaves like "create". | 
 | A variant on "warn" is "warn-if-not-$branch", which behaves like | 
 | "warn", but if <code>HEAD</code> on the remote is <code>$branch</code> it will be silent. | 
 | Setting it to "always" will silently update <code>remotes/</code><em><name></em><code>/HEAD</code> to | 
 | the value on the remote.  Finally, setting it to "never" will never | 
 | change or create the local reference.</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</code> <code>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</code> <code>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</code> <code>repack</code> <code>-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">repack.midxMustContainCruft</dt> | 
 | <dd> | 
 | <p>When set to true, <a href="git-repack.html">git-repack(1)</a> will unconditionally include | 
 | cruft pack(s), if any, in the multi-pack index when invoked with | 
 | <code>--write-midx</code>. When false, cruft packs are only included in the MIDX | 
 | when necessary (e.g., because they might be required to form a | 
 | reachability closure with MIDX bitmaps). Defaults to true.</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</code> <code>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</code> <code>config</code> <code>--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>~/</code><em><path></em> expands to a | 
 | path relative to the home directory and <code>%</code>(<code>prefix</code>)<code>/</code><em><path></em> 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.  Giving a directory with <code>/*</code> appended to it will | 
 | allow access to all repositories under the named directory.</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 | 
 | <code>sendemail.</code><em><identity></em> subsection to take precedence over | 
 | values in the <code>sendemail</code> 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 <code>identity</code> 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 <code>sendemail.*</code> 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 <code>true</code> (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 <code>false</code>, 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 <code>always</code>, <code>never</code>, <code>cc</code>, <code>compose</code>, or <code>auto</code>. 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.mailmap</dt> | 
 | <dd> | 
 | <p>If <code>true</code>, makes <a href="git-send-email.html">git-send-email(1)</a> assume <code>--mailmap</code>, | 
 | otherwise assume <code>--no-mailmap</code>. <code>False</code> by default.</p> | 
 | </dd> | 
 | <dt class="hdlist1">sendemail.mailmap.file</dt> | 
 | <dd> | 
 | <p>The location of a <a href="git-send-email.html">git-send-email(1)</a> specific augmenting | 
 | mailmap file. The default mailmap and <code>mailmap.file</code> are loaded | 
 | first. Thus, entries in this file take precedence over entries in | 
 | the default mailmap locations. See <a href="gitmailmap.html">gitmailmap(5)</a>.</p> | 
 | </dd> | 
 | <dt class="hdlist1">sendemail.mailmap.blob</dt> | 
 | <dd> | 
 | <p>Like <code>sendemail.mailmap.file</code>, but consider the value as a reference | 
 | to a blob in the repository. Entries in <code>sendemail.mailmap.file</code> | 
 | take precedence over entries here. See <a href="gitmailmap.html">gitmailmap(5)</a>.</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 <code>mutt</code>, <code>mailrc</code>, <code>pine</code>, <code>elm</code>, <code>gnus</code>, or <code>sendmail</code>.</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 " 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:</code> <code>/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.imapSentFolder</dt> | 
 | <dt class="hdlist1">sendemail.useImapOnly</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.outlookidfix</dt> | 
 | <dd> | 
 | <p>If <code>true</code>, makes <a href="git-send-email.html">git-send-email(1)</a> assume <code>--outlook-id-fix</code>, | 
 | and if <code>false</code> assume <code>--no-outlook-id-fix</code>. If not specified, it will | 
 | behave the same way as if <code>--outlook-id-fix</code> is not specified.</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 <code>0</code> 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 <code>sendmail</code> | 
 | exist. Set this variable to bypass the check.</p> | 
 | </dd> | 
 | <dt class="hdlist1">sequence.editor</dt> | 
 | <dd> | 
 | <p>Text editor used by <code>git</code> <code>rebase</code> <code>-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> | 
 | </dl> | 
 | </div> | 
 | <div class="dlist"> | 
 | <dl> | 
 | <dt class="hdlist1"><code>stash.index</code></dt> | 
 | <dd> | 
 | <p>	If this is set to true, <code>git</code> <code>stash</code> <code>apply</code> and <code>git</code> <code>stash</code> <code>pop</code> will | 
 | 	behave as if <code>--index</code> was supplied. Defaults to false. | 
 | See the descriptions in <a href="git-stash.html">git-stash(1)</a>.</p> | 
 | <div class="paragraph"> | 
 | <p>This also affects invocations of <a href="git-stash.html">git-stash(1)</a> via <code>--autostash</code> from | 
 | commands like <a href="git-merge.html">git-merge(1)</a>, <a href="git-rebase.html">git-rebase(1)</a>, and | 
 | <a href="git-pull.html">git-pull(1)</a>.</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1"><code>stash.showIncludeUntracked</code></dt> | 
 | <dd> | 
 | <p>If this is set to true, the <code>git</code> <code>stash</code> <code>show</code> command will show | 
 | the untracked files of a stash entry. Defaults to false. See the description of the 'show' command in <a href="git-stash.html">git-stash(1)</a>.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>stash.showPatch</code></dt> | 
 | <dd> | 
 | <p>If this is set to true, the <code>git</code> <code>stash</code> <code>show</code> command without an | 
 | option will show the stash entry in patch form.  Defaults to false. | 
 | See the description of the 'show' command in <a href="git-stash.html">git-stash(1)</a>.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>stash.showStat</code></dt> | 
 | <dd> | 
 | <p>If this is set to true, the <code>git</code> <code>stash</code> <code>show</code> command without an | 
 | option will show a diffstat of the stash entry.  Defaults to true. | 
 | See the description of the 'show' command in <a href="git-stash.html">git-stash(1)</a>.</p> | 
 | </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. # 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>. | 
 | All usual spellings for Boolean value <code>true</code> are taken as <code>normal</code> | 
 | and <code>false</code> as <code>no</code>. | 
 | 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.</code><em><name></em><code>.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">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</code> <code>submodule</code> <code>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</code> <code>submodule</code> | 
 | <code>update</code> <code>--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</code> <code>remote</code> <code>update</code> will call | 
 | <code>git</code> <code>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</code> <code>-c</code> <code>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"><code>tag.forceSignAnnotated</code></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"><code>tag.sort</code></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 <code>--sort=</code><em><value></em> option provided, the value of this variable will | 
 | be used as the default.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>tag.gpgSign</code></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 <code>-u</code> <em><keyid></em> or <code>--local-user=</code><em><keyid></em> 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><em><absolute-pathname></em> - 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:</code>[<em><socket-type></em><code>:</code>]<em><absolute-pathname></em> - 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">trailer.separators</dt> | 
 | <dd> | 
 | <p>This option tells which characters are recognized as trailer | 
 | separators. By default only <em>:</em> is recognized as a trailer | 
 | separator, except that <em>=</em> is always accepted on the command | 
 | line for compatibility with other git commands.</p> | 
 | <div class="paragraph"> | 
 | <p>The first character given by this option will be the default character | 
 | used when another separator is not specified in the config for this | 
 | trailer.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>For example, if the value for this option is "%=$", then only lines | 
 | using the format <em><key><sep><value></em> with <sep> containing <em>%</em>, <em>=</em> | 
 | or <em>$</em> and then spaces will be considered trailers. And <em>%</em> will be | 
 | the default separator used, so by default trailers will appear like: | 
 | <em><key>% <value></em> (one percent sign and one space will appear between | 
 | the key and the value).</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1">trailer.where</dt> | 
 | <dd> | 
 | <p>This option tells where a new trailer will be added.</p> | 
 | <div class="paragraph"> | 
 | <p>This can be <code>end</code>, which is the default, <code>start</code>, <code>after</code> or <code>before</code>.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>If it is <code>end</code>, then each new trailer will appear at the end of the | 
 | existing trailers.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>If it is <code>start</code>, then each new trailer will appear at the start, | 
 | instead of the end, of the existing trailers.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>If it is <code>after</code>, then each new trailer will appear just after the | 
 | last trailer with the same <key>.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>If it is <code>before</code>, then each new trailer will appear just before the | 
 | first trailer with the same <key>.</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1">trailer.ifexists</dt> | 
 | <dd> | 
 | <p>This option makes it possible to choose what action will be | 
 | performed when there is already at least one trailer with the | 
 | same <key> in the input.</p> | 
 | <div class="paragraph"> | 
 | <p>The valid values for this option are: <code>addIfDifferentNeighbor</code> (this | 
 | is the default), <code>addIfDifferent</code>, <code>add</code>, <code>replace</code> or <code>doNothing</code>.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>With <code>addIfDifferentNeighbor</code>, a new trailer will be added only if no | 
 | trailer with the same (<key>, <value>) pair is above or below the line | 
 | where the new trailer will be added.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>With <code>addIfDifferent</code>, a new trailer will be added only if no trailer | 
 | with the same (<key>, <value>) pair is already in the input.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>With <code>add</code>, a new trailer will be added, even if some trailers with | 
 | the same (<key>, <value>) pair are already in the input.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>With <code>replace</code>, an existing trailer with the same <key> will be | 
 | deleted and the new trailer will be added. The deleted trailer will be | 
 | the closest one (with the same <key>) to the place where the new one | 
 | will be added.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>With <code>doNothing</code>, nothing will be done; that is no new trailer will be | 
 | added if there is already one with the same <key> in the input.</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1">trailer.ifmissing</dt> | 
 | <dd> | 
 | <p>This option makes it possible to choose what action will be | 
 | performed when there is not yet any trailer with the same | 
 | <key> in the input.</p> | 
 | <div class="paragraph"> | 
 | <p>The valid values for this option are: <code>add</code> (this is the default) and | 
 | <code>doNothing</code>.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>With <code>add</code>, a new trailer will be added.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>With <code>doNothing</code>, nothing will be done.</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1">trailer.<keyAlias>.key</dt> | 
 | <dd> | 
 | <p>Defines a <keyAlias> for the <key>. The <keyAlias> must be a | 
 | prefix (case does not matter) of the <key>. For example, in <code>git</code> | 
 | <code>config</code> <code>trailer.ack.key</code> "Acked-by" the "Acked-by" is the <key> and | 
 | the "ack" is the <keyAlias>. This configuration allows the shorter | 
 | <code>--trailer</code> "ack:<code>...</code>" invocation on the command line using the "ack" | 
 | <keyAlias> instead of the longer <code>--trailer</code> "Acked-by:<code>...</code>".</p> | 
 | <div class="paragraph"> | 
 | <p>At the end of the <key>, a separator can appear and then some | 
 | space characters. By default the only valid separator is <em>:</em>, | 
 | but this can be changed using the <code>trailer.separators</code> config | 
 | variable.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>If there is a separator in the key, then it overrides the default | 
 | separator when adding the trailer.</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1">trailer.<keyAlias>.where</dt> | 
 | <dd> | 
 | <p>This option takes the same values as the <em>trailer.where</em> | 
 | configuration variable and it overrides what is specified by | 
 | that option for trailers with the specified <keyAlias>.</p> | 
 | </dd> | 
 | <dt class="hdlist1">trailer.<keyAlias>.ifexists</dt> | 
 | <dd> | 
 | <p>This option takes the same values as the <em>trailer.ifexists</em> | 
 | configuration variable and it overrides what is specified by | 
 | that option for trailers with the specified <keyAlias>.</p> | 
 | </dd> | 
 | <dt class="hdlist1">trailer.<keyAlias>.ifmissing</dt> | 
 | <dd> | 
 | <p>This option takes the same values as the <em>trailer.ifmissing</em> | 
 | configuration variable and it overrides what is specified by | 
 | that option for trailers with the specified <keyAlias>.</p> | 
 | </dd> | 
 | <dt class="hdlist1">trailer.<keyAlias>.command</dt> | 
 | <dd> | 
 | <p>Deprecated in favor of <em>trailer.<keyAlias>.cmd</em>. | 
 | This option behaves in the same way as <em>trailer.<keyAlias>.cmd</em>, except | 
 | that it doesn’t pass anything as argument to the specified command. | 
 | Instead the first occurrence of substring $ARG is replaced by the | 
 | <value> that would be passed as argument.</p> | 
 | <div class="paragraph"> | 
 | <p>Note that $ARG in the user’s command is | 
 | only replaced once and that the original way of replacing $ARG is not safe.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>When both <em>trailer.<keyAlias>.cmd</em> and <em>trailer.<keyAlias>.command</em> are given | 
 | for the same <keyAlias>, <em>trailer.<keyAlias>.cmd</em> is used and | 
 | <em>trailer.<keyAlias>.command</em> is ignored.</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1">trailer.<keyAlias>.cmd</dt> | 
 | <dd> | 
 | <p>This option can be used to specify a shell command that will be called | 
 | once to automatically add a trailer with the specified <keyAlias>, and then | 
 | called each time a <em>--trailer <keyAlias>=<value></em> argument is specified to | 
 | modify the <value> of the trailer that this option would produce.</p> | 
 | <div class="paragraph"> | 
 | <p>When the specified command is first called to add a trailer | 
 | with the specified <keyAlias>, the behavior is as if a special | 
 | <em>--trailer <keyAlias>=<value></em> argument was added at the beginning | 
 | of the "git interpret-trailers" command, where <value> | 
 | is taken to be the standard output of the command with any | 
 | leading and trailing whitespace trimmed off.</p> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>If some <em>--trailer <keyAlias>=<value></em> arguments are also passed | 
 | on the command line, the command is called again once for each | 
 | of these arguments with the same <keyAlias>. And the <value> part | 
 | of these arguments, if any, will be passed to the command as its | 
 | first argument. This way the command can produce a <value> computed | 
 | from the <value> passed in the <em>--trailer <keyAlias>=<value></em> argument.</p> | 
 | </div> | 
 | </dd> | 
 | <dt class="hdlist1">transfer.credentialsInUrl</dt> | 
 | <dd> | 
 | <p>A configured URL can contain plaintext credentials in the form | 
 | <em><protocol></em><code>://</code><em><user></em><code>:</code><em><password></em><code>@</code><em><domain></em><code>/</code><em><path></em>. 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.</code><em><name></em><code>.url</code> configuration; it won’t detect credentials in | 
 | <code>remote.</code><em><name></em><code>.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.</code><em><msg-id></em>), | 
 | 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</code> <code>push</code> or <code>git</code> | 
 | <code>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 ! 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 ! and <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</code> <code>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</code> <code>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">transfer.advertiseObjectInfo</dt> | 
 | <dd> | 
 | <p>When <code>true</code>, the <code>object-info</code> capability is advertised by | 
 | servers. Defaults to false.</p> | 
 | </dd> | 
 | <dt class="hdlist1">uploadarchive.allowUnreachable</dt> | 
 | <dd> | 
 | <p>If true, allow clients to use <code>git</code> <code>archive</code> <code>--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</code> <code>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. | 
 | It implies <code>uploadpack.allowTipSHA1InWant</code> and | 
 | <code>uploadpack.allowReachableSHA1InWant</code>. If set to <code>true</code> it will | 
 | enable both of them, it set to <code>false</code> it will disable both of | 
 | them. | 
 | By default not set.</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</code> <code>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</code> <code>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 | 
 | <em><filter></em>, where <em><filter></em> 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:</code><em><n></em> when <em><n></em> 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"><code>worktree.guessRemote</code></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</code> <code>worktree</code> <code>add</code> defaults to | 
 | creating a new branch from HEAD.  If <code>worktree.guessRemote</code> is | 
 | set to true, <code>worktree</code> <code>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 <code>HEAD</code>.</p> | 
 | </dd> | 
 | <dt class="hdlist1"><code>worktree.useRelativePaths</code></dt> | 
 | <dd> | 
 | <p>Link worktrees using relative paths (when "<code>true</code>") or absolute | 
 | paths (when "<code>false</code>"). This is particularly useful for setups | 
 | where the repository and worktrees may be moved between | 
 | different locations or environments. Defaults to "<code>false</code>".</p> | 
 | <div class="paragraph"> | 
 | <p>Note that setting <code>worktree.useRelativePaths</code> to "<code>true</code>" implies enabling the | 
 | <code>extensions.relativeWorktrees</code> config (see <a href="git-config.html">git-config(1)</a>), | 
 | thus making it incompatible with older versions of Git.</p> | 
 | </div> | 
 | </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>  [section.subsection] | 
 |     key = value1</pre> | 
 | </div> | 
 | </div> | 
 | <div class="paragraph"> | 
 | <p>and running <code>git</code> <code>config</code> <code>section.Subsection.key</code> <code>value2</code> will result in</p> | 
 | </div> | 
 | <div class="listingblock"> | 
 | <div class="content"> | 
 | <pre>  [section.subsection] | 
 |     key = value1 | 
 |     key = value2</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="footer"> | 
 | <div id="footer-text"> | 
 | Last updated 2025-10-20 15:09:57 -0700 | 
 | </div> | 
 | </div> | 
 | </body> | 
 | </html> |