You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
11488 lines
380 KiB
HTML
11488 lines
380 KiB
HTML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
|
|
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
|
|
<meta name="generator" content="AsciiDoc 9.1.0" />
|
|
<title>git-config(1)</title>
|
|
<style type="text/css">
|
|
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
|
|
|
|
/* Default font. */
|
|
body {
|
|
font-family: Georgia,serif;
|
|
}
|
|
|
|
/* Title font. */
|
|
h1, h2, h3, h4, h5, h6,
|
|
div.title, caption.title,
|
|
thead, p.table.header,
|
|
#toctitle,
|
|
#author, #revnumber, #revdate, #revremark,
|
|
#footer {
|
|
font-family: Arial,Helvetica,sans-serif;
|
|
}
|
|
|
|
body {
|
|
margin: 1em 5% 1em 5%;
|
|
}
|
|
|
|
a {
|
|
color: blue;
|
|
text-decoration: underline;
|
|
}
|
|
a:visited {
|
|
color: fuchsia;
|
|
}
|
|
|
|
em {
|
|
font-style: italic;
|
|
color: navy;
|
|
}
|
|
|
|
strong {
|
|
font-weight: bold;
|
|
color: #083194;
|
|
}
|
|
|
|
h1, h2, h3, h4, h5, h6 {
|
|
color: #527bbd;
|
|
margin-top: 1.2em;
|
|
margin-bottom: 0.5em;
|
|
line-height: 1.3;
|
|
}
|
|
|
|
h1, h2, h3 {
|
|
border-bottom: 2px solid silver;
|
|
}
|
|
h2 {
|
|
padding-top: 0.5em;
|
|
}
|
|
h3 {
|
|
float: left;
|
|
}
|
|
h3 + * {
|
|
clear: left;
|
|
}
|
|
h5 {
|
|
font-size: 1.0em;
|
|
}
|
|
|
|
div.sectionbody {
|
|
margin-left: 0;
|
|
}
|
|
|
|
hr {
|
|
border: 1px solid silver;
|
|
}
|
|
|
|
p {
|
|
margin-top: 0.5em;
|
|
margin-bottom: 0.5em;
|
|
}
|
|
|
|
ul, ol, li > p {
|
|
margin-top: 0;
|
|
}
|
|
ul > li { color: #aaa; }
|
|
ul > li > * { color: black; }
|
|
|
|
.monospaced, code, pre {
|
|
font-family: "Courier New", Courier, monospace;
|
|
font-size: inherit;
|
|
color: navy;
|
|
padding: 0;
|
|
margin: 0;
|
|
}
|
|
pre {
|
|
white-space: pre-wrap;
|
|
}
|
|
|
|
#author {
|
|
color: #527bbd;
|
|
font-weight: bold;
|
|
font-size: 1.1em;
|
|
}
|
|
#email {
|
|
}
|
|
#revnumber, #revdate, #revremark {
|
|
}
|
|
|
|
#footer {
|
|
font-size: small;
|
|
border-top: 2px solid silver;
|
|
padding-top: 0.5em;
|
|
margin-top: 4.0em;
|
|
}
|
|
#footer-text {
|
|
float: left;
|
|
padding-bottom: 0.5em;
|
|
}
|
|
#footer-badges {
|
|
float: right;
|
|
padding-bottom: 0.5em;
|
|
}
|
|
|
|
#preamble {
|
|
margin-top: 1.5em;
|
|
margin-bottom: 1.5em;
|
|
}
|
|
div.imageblock, div.exampleblock, div.verseblock,
|
|
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
|
|
div.admonitionblock {
|
|
margin-top: 1.0em;
|
|
margin-bottom: 1.5em;
|
|
}
|
|
div.admonitionblock {
|
|
margin-top: 2.0em;
|
|
margin-bottom: 2.0em;
|
|
margin-right: 10%;
|
|
color: #606060;
|
|
}
|
|
|
|
div.content { /* Block element content. */
|
|
padding: 0;
|
|
}
|
|
|
|
/* Block element titles. */
|
|
div.title, caption.title {
|
|
color: #527bbd;
|
|
font-weight: bold;
|
|
text-align: left;
|
|
margin-top: 1.0em;
|
|
margin-bottom: 0.5em;
|
|
}
|
|
div.title + * {
|
|
margin-top: 0;
|
|
}
|
|
|
|
td div.title:first-child {
|
|
margin-top: 0.0em;
|
|
}
|
|
div.content div.title:first-child {
|
|
margin-top: 0.0em;
|
|
}
|
|
div.content + div.title {
|
|
margin-top: 0.0em;
|
|
}
|
|
|
|
div.sidebarblock > div.content {
|
|
background: #ffffee;
|
|
border: 1px solid #dddddd;
|
|
border-left: 4px solid #f0f0f0;
|
|
padding: 0.5em;
|
|
}
|
|
|
|
div.listingblock > div.content {
|
|
border: 1px solid #dddddd;
|
|
border-left: 5px solid #f0f0f0;
|
|
background: #f8f8f8;
|
|
padding: 0.5em;
|
|
}
|
|
|
|
div.quoteblock, div.verseblock {
|
|
padding-left: 1.0em;
|
|
margin-left: 1.0em;
|
|
margin-right: 10%;
|
|
border-left: 5px solid #f0f0f0;
|
|
color: #888;
|
|
}
|
|
|
|
div.quoteblock > div.attribution {
|
|
padding-top: 0.5em;
|
|
text-align: right;
|
|
}
|
|
|
|
div.verseblock > pre.content {
|
|
font-family: inherit;
|
|
font-size: inherit;
|
|
}
|
|
div.verseblock > div.attribution {
|
|
padding-top: 0.75em;
|
|
text-align: left;
|
|
}
|
|
/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
|
|
div.verseblock + div.attribution {
|
|
text-align: left;
|
|
}
|
|
|
|
div.admonitionblock .icon {
|
|
vertical-align: top;
|
|
font-size: 1.1em;
|
|
font-weight: bold;
|
|
text-decoration: underline;
|
|
color: #527bbd;
|
|
padding-right: 0.5em;
|
|
}
|
|
div.admonitionblock td.content {
|
|
padding-left: 0.5em;
|
|
border-left: 3px solid #dddddd;
|
|
}
|
|
|
|
div.exampleblock > div.content {
|
|
border-left: 3px solid #dddddd;
|
|
padding-left: 0.5em;
|
|
}
|
|
|
|
div.imageblock div.content { padding-left: 0; }
|
|
span.image img { border-style: none; vertical-align: text-bottom; }
|
|
a.image:visited { color: white; }
|
|
|
|
dl {
|
|
margin-top: 0.8em;
|
|
margin-bottom: 0.8em;
|
|
}
|
|
dt {
|
|
margin-top: 0.5em;
|
|
margin-bottom: 0;
|
|
font-style: normal;
|
|
color: navy;
|
|
}
|
|
dd > *:first-child {
|
|
margin-top: 0.1em;
|
|
}
|
|
|
|
ul, ol {
|
|
list-style-position: outside;
|
|
}
|
|
ol.arabic {
|
|
list-style-type: decimal;
|
|
}
|
|
ol.loweralpha {
|
|
list-style-type: lower-alpha;
|
|
}
|
|
ol.upperalpha {
|
|
list-style-type: upper-alpha;
|
|
}
|
|
ol.lowerroman {
|
|
list-style-type: lower-roman;
|
|
}
|
|
ol.upperroman {
|
|
list-style-type: upper-roman;
|
|
}
|
|
|
|
div.compact ul, div.compact ol,
|
|
div.compact p, div.compact p,
|
|
div.compact div, div.compact div {
|
|
margin-top: 0.1em;
|
|
margin-bottom: 0.1em;
|
|
}
|
|
|
|
tfoot {
|
|
font-weight: bold;
|
|
}
|
|
td > div.verse {
|
|
white-space: pre;
|
|
}
|
|
|
|
div.hdlist {
|
|
margin-top: 0.8em;
|
|
margin-bottom: 0.8em;
|
|
}
|
|
div.hdlist tr {
|
|
padding-bottom: 15px;
|
|
}
|
|
dt.hdlist1.strong, td.hdlist1.strong {
|
|
font-weight: bold;
|
|
}
|
|
td.hdlist1 {
|
|
vertical-align: top;
|
|
font-style: normal;
|
|
padding-right: 0.8em;
|
|
color: navy;
|
|
}
|
|
td.hdlist2 {
|
|
vertical-align: top;
|
|
}
|
|
div.hdlist.compact tr {
|
|
margin: 0;
|
|
padding-bottom: 0;
|
|
}
|
|
|
|
.comment {
|
|
background: yellow;
|
|
}
|
|
|
|
.footnote, .footnoteref {
|
|
font-size: 0.8em;
|
|
}
|
|
|
|
span.footnote, span.footnoteref {
|
|
vertical-align: super;
|
|
}
|
|
|
|
#footnotes {
|
|
margin: 20px 0 20px 0;
|
|
padding: 7px 0 0 0;
|
|
}
|
|
|
|
#footnotes div.footnote {
|
|
margin: 0 0 5px 0;
|
|
}
|
|
|
|
#footnotes hr {
|
|
border: none;
|
|
border-top: 1px solid silver;
|
|
height: 1px;
|
|
text-align: left;
|
|
margin-left: 0;
|
|
width: 20%;
|
|
min-width: 100px;
|
|
}
|
|
|
|
div.colist td {
|
|
padding-right: 0.5em;
|
|
padding-bottom: 0.3em;
|
|
vertical-align: top;
|
|
}
|
|
div.colist td img {
|
|
margin-top: 0.3em;
|
|
}
|
|
|
|
@media print {
|
|
#footer-badges { display: none; }
|
|
}
|
|
|
|
#toc {
|
|
margin-bottom: 2.5em;
|
|
}
|
|
|
|
#toctitle {
|
|
color: #527bbd;
|
|
font-size: 1.1em;
|
|
font-weight: bold;
|
|
margin-top: 1.0em;
|
|
margin-bottom: 0.1em;
|
|
}
|
|
|
|
div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
|
|
margin-top: 0;
|
|
margin-bottom: 0;
|
|
}
|
|
div.toclevel2 {
|
|
margin-left: 2em;
|
|
font-size: 0.9em;
|
|
}
|
|
div.toclevel3 {
|
|
margin-left: 4em;
|
|
font-size: 0.9em;
|
|
}
|
|
div.toclevel4 {
|
|
margin-left: 6em;
|
|
font-size: 0.9em;
|
|
}
|
|
|
|
span.aqua { color: aqua; }
|
|
span.black { color: black; }
|
|
span.blue { color: blue; }
|
|
span.fuchsia { color: fuchsia; }
|
|
span.gray { color: gray; }
|
|
span.green { color: green; }
|
|
span.lime { color: lime; }
|
|
span.maroon { color: maroon; }
|
|
span.navy { color: navy; }
|
|
span.olive { color: olive; }
|
|
span.purple { color: purple; }
|
|
span.red { color: red; }
|
|
span.silver { color: silver; }
|
|
span.teal { color: teal; }
|
|
span.white { color: white; }
|
|
span.yellow { color: yellow; }
|
|
|
|
span.aqua-background { background: aqua; }
|
|
span.black-background { background: black; }
|
|
span.blue-background { background: blue; }
|
|
span.fuchsia-background { background: fuchsia; }
|
|
span.gray-background { background: gray; }
|
|
span.green-background { background: green; }
|
|
span.lime-background { background: lime; }
|
|
span.maroon-background { background: maroon; }
|
|
span.navy-background { background: navy; }
|
|
span.olive-background { background: olive; }
|
|
span.purple-background { background: purple; }
|
|
span.red-background { background: red; }
|
|
span.silver-background { background: silver; }
|
|
span.teal-background { background: teal; }
|
|
span.white-background { background: white; }
|
|
span.yellow-background { background: yellow; }
|
|
|
|
span.big { font-size: 2em; }
|
|
span.small { font-size: 0.6em; }
|
|
|
|
span.underline { text-decoration: underline; }
|
|
span.overline { text-decoration: overline; }
|
|
span.line-through { text-decoration: line-through; }
|
|
|
|
div.unbreakable { page-break-inside: avoid; }
|
|
|
|
|
|
/*
|
|
* xhtml11 specific
|
|
*
|
|
* */
|
|
|
|
div.tableblock {
|
|
margin-top: 1.0em;
|
|
margin-bottom: 1.5em;
|
|
}
|
|
div.tableblock > table {
|
|
border: 3px solid #527bbd;
|
|
}
|
|
thead, p.table.header {
|
|
font-weight: bold;
|
|
color: #527bbd;
|
|
}
|
|
p.table {
|
|
margin-top: 0;
|
|
}
|
|
/* Because the table frame attribute is overridden by CSS in most browsers. */
|
|
div.tableblock > table[frame="void"] {
|
|
border-style: none;
|
|
}
|
|
div.tableblock > table[frame="hsides"] {
|
|
border-left-style: none;
|
|
border-right-style: none;
|
|
}
|
|
div.tableblock > table[frame="vsides"] {
|
|
border-top-style: none;
|
|
border-bottom-style: none;
|
|
}
|
|
|
|
|
|
/*
|
|
* html5 specific
|
|
*
|
|
* */
|
|
|
|
table.tableblock {
|
|
margin-top: 1.0em;
|
|
margin-bottom: 1.5em;
|
|
}
|
|
thead, p.tableblock.header {
|
|
font-weight: bold;
|
|
color: #527bbd;
|
|
}
|
|
p.tableblock {
|
|
margin-top: 0;
|
|
}
|
|
table.tableblock {
|
|
border-width: 3px;
|
|
border-spacing: 0px;
|
|
border-style: solid;
|
|
border-color: #527bbd;
|
|
border-collapse: collapse;
|
|
}
|
|
th.tableblock, td.tableblock {
|
|
border-width: 1px;
|
|
padding: 4px;
|
|
border-style: solid;
|
|
border-color: #527bbd;
|
|
}
|
|
|
|
table.tableblock.frame-topbot {
|
|
border-left-style: hidden;
|
|
border-right-style: hidden;
|
|
}
|
|
table.tableblock.frame-sides {
|
|
border-top-style: hidden;
|
|
border-bottom-style: hidden;
|
|
}
|
|
table.tableblock.frame-none {
|
|
border-style: hidden;
|
|
}
|
|
|
|
th.tableblock.halign-left, td.tableblock.halign-left {
|
|
text-align: left;
|
|
}
|
|
th.tableblock.halign-center, td.tableblock.halign-center {
|
|
text-align: center;
|
|
}
|
|
th.tableblock.halign-right, td.tableblock.halign-right {
|
|
text-align: right;
|
|
}
|
|
|
|
th.tableblock.valign-top, td.tableblock.valign-top {
|
|
vertical-align: top;
|
|
}
|
|
th.tableblock.valign-middle, td.tableblock.valign-middle {
|
|
vertical-align: middle;
|
|
}
|
|
th.tableblock.valign-bottom, td.tableblock.valign-bottom {
|
|
vertical-align: bottom;
|
|
}
|
|
|
|
|
|
/*
|
|
* manpage specific
|
|
*
|
|
* */
|
|
|
|
body.manpage h1 {
|
|
padding-top: 0.5em;
|
|
padding-bottom: 0.5em;
|
|
border-top: 2px solid silver;
|
|
border-bottom: 2px solid silver;
|
|
}
|
|
body.manpage h2 {
|
|
border-style: none;
|
|
}
|
|
body.manpage div.sectionbody {
|
|
margin-left: 3em;
|
|
}
|
|
|
|
@media print {
|
|
body.manpage div#toc { display: none; }
|
|
}
|
|
|
|
|
|
</style>
|
|
<script type="text/javascript">
|
|
/*<![CDATA[*/
|
|
var asciidoc = { // Namespace.
|
|
|
|
/////////////////////////////////////////////////////////////////////
|
|
// Table Of Contents generator
|
|
/////////////////////////////////////////////////////////////////////
|
|
|
|
/* Author: Mihai Bazon, September 2002
|
|
* http://students.infoiasi.ro/~mishoo
|
|
*
|
|
* Table Of Content generator
|
|
* Version: 0.4
|
|
*
|
|
* Feel free to use this script under the terms of the GNU General Public
|
|
* License, as long as you do not remove or alter this notice.
|
|
*/
|
|
|
|
/* modified by Troy D. Hanson, September 2006. License: GPL */
|
|
/* modified by Stuart Rackham, 2006, 2009. License: GPL */
|
|
|
|
// toclevels = 1..4.
|
|
toc: function (toclevels) {
|
|
|
|
function getText(el) {
|
|
var text = "";
|
|
for (var i = el.firstChild; i != null; i = i.nextSibling) {
|
|
if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
|
|
text += i.data;
|
|
else if (i.firstChild != null)
|
|
text += getText(i);
|
|
}
|
|
return text;
|
|
}
|
|
|
|
function TocEntry(el, text, toclevel) {
|
|
this.element = el;
|
|
this.text = text;
|
|
this.toclevel = toclevel;
|
|
}
|
|
|
|
function tocEntries(el, toclevels) {
|
|
var result = new Array;
|
|
var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');
|
|
// Function that scans the DOM tree for header elements (the DOM2
|
|
// nodeIterator API would be a better technique but not supported by all
|
|
// browsers).
|
|
var iterate = function (el) {
|
|
for (var i = el.firstChild; i != null; i = i.nextSibling) {
|
|
if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
|
|
var mo = re.exec(i.tagName);
|
|
if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
|
|
result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
|
|
}
|
|
iterate(i);
|
|
}
|
|
}
|
|
}
|
|
iterate(el);
|
|
return result;
|
|
}
|
|
|
|
var toc = document.getElementById("toc");
|
|
if (!toc) {
|
|
return;
|
|
}
|
|
|
|
// Delete existing TOC entries in case we're reloading the TOC.
|
|
var tocEntriesToRemove = [];
|
|
var i;
|
|
for (i = 0; i < toc.childNodes.length; i++) {
|
|
var entry = toc.childNodes[i];
|
|
if (entry.nodeName.toLowerCase() == 'div'
|
|
&& entry.getAttribute("class")
|
|
&& entry.getAttribute("class").match(/^toclevel/))
|
|
tocEntriesToRemove.push(entry);
|
|
}
|
|
for (i = 0; i < tocEntriesToRemove.length; i++) {
|
|
toc.removeChild(tocEntriesToRemove[i]);
|
|
}
|
|
|
|
// Rebuild TOC entries.
|
|
var entries = tocEntries(document.getElementById("content"), toclevels);
|
|
for (var i = 0; i < entries.length; ++i) {
|
|
var entry = entries[i];
|
|
if (entry.element.id == "")
|
|
entry.element.id = "_toc_" + i;
|
|
var a = document.createElement("a");
|
|
a.href = "#" + entry.element.id;
|
|
a.appendChild(document.createTextNode(entry.text));
|
|
var div = document.createElement("div");
|
|
div.appendChild(a);
|
|
div.className = "toclevel" + entry.toclevel;
|
|
toc.appendChild(div);
|
|
}
|
|
if (entries.length == 0)
|
|
toc.parentNode.removeChild(toc);
|
|
},
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////
|
|
// Footnotes generator
|
|
/////////////////////////////////////////////////////////////////////
|
|
|
|
/* Based on footnote generation code from:
|
|
* http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
|
|
*/
|
|
|
|
footnotes: function () {
|
|
// Delete existing footnote entries in case we're reloading the footnodes.
|
|
var i;
|
|
var noteholder = document.getElementById("footnotes");
|
|
if (!noteholder) {
|
|
return;
|
|
}
|
|
var entriesToRemove = [];
|
|
for (i = 0; i < noteholder.childNodes.length; i++) {
|
|
var entry = noteholder.childNodes[i];
|
|
if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")
|
|
entriesToRemove.push(entry);
|
|
}
|
|
for (i = 0; i < entriesToRemove.length; i++) {
|
|
noteholder.removeChild(entriesToRemove[i]);
|
|
}
|
|
|
|
// Rebuild footnote entries.
|
|
var cont = document.getElementById("content");
|
|
var spans = cont.getElementsByTagName("span");
|
|
var refs = {};
|
|
var n = 0;
|
|
for (i=0; i<spans.length; i++) {
|
|
if (spans[i].className == "footnote") {
|
|
n++;
|
|
var note = spans[i].getAttribute("data-note");
|
|
if (!note) {
|
|
// Use [\s\S] in place of . so multi-line matches work.
|
|
// Because JavaScript has no s (dotall) regex flag.
|
|
note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
|
|
spans[i].innerHTML =
|
|
"[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
|
|
"' title='View footnote' class='footnote'>" + n + "</a>]";
|
|
spans[i].setAttribute("data-note", note);
|
|
}
|
|
noteholder.innerHTML +=
|
|
"<div class='footnote' id='_footnote_" + n + "'>" +
|
|
"<a href='#_footnoteref_" + n + "' title='Return to text'>" +
|
|
n + "</a>. " + note + "</div>";
|
|
var id =spans[i].getAttribute("id");
|
|
if (id != null) refs["#"+id] = n;
|
|
}
|
|
}
|
|
if (n == 0)
|
|
noteholder.parentNode.removeChild(noteholder);
|
|
else {
|
|
// Process footnoterefs.
|
|
for (i=0; i<spans.length; i++) {
|
|
if (spans[i].className == "footnoteref") {
|
|
var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
|
|
href = href.match(/#.*/)[0]; // Because IE return full URL.
|
|
n = refs[href];
|
|
spans[i].innerHTML =
|
|
"[<a href='#_footnote_" + n +
|
|
"' title='View footnote' class='footnote'>" + n + "</a>]";
|
|
}
|
|
}
|
|
}
|
|
},
|
|
|
|
install: function(toclevels) {
|
|
var timerId;
|
|
|
|
function reinstall() {
|
|
asciidoc.footnotes();
|
|
if (toclevels) {
|
|
asciidoc.toc(toclevels);
|
|
}
|
|
}
|
|
|
|
function reinstallAndRemoveTimer() {
|
|
clearInterval(timerId);
|
|
reinstall();
|
|
}
|
|
|
|
timerId = setInterval(reinstall, 500);
|
|
if (document.addEventListener)
|
|
document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
|
|
else
|
|
window.onload = reinstallAndRemoveTimer;
|
|
}
|
|
|
|
}
|
|
asciidoc.install();
|
|
/*]]>*/
|
|
</script>
|
|
</head>
|
|
<body class="manpage">
|
|
<div id="header">
|
|
<h1>
|
|
git-config(1) Manual Page
|
|
</h1>
|
|
<h2>NAME</h2>
|
|
<div class="sectionbody">
|
|
<p>git-config -
|
|
Get and set repository or global options
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<div id="content">
|
|
<div class="sect1">
|
|
<h2 id="_synopsis">SYNOPSIS</h2>
|
|
<div class="sectionbody">
|
|
<div class="verseblock">
|
|
<pre class="content"><em>git config</em> [<file-option>] [--type=<type>] [--fixed-value] [--show-origin] [--show-scope] [-z|--null] <name> [<value> [<value-pattern>]]
|
|
<em>git config</em> [<file-option>] [--type=<type>] --add <name> <value>
|
|
<em>git config</em> [<file-option>] [--type=<type>] [--fixed-value] --replace-all <name> <value> [<value-pattern>]
|
|
<em>git config</em> [<file-option>] [--type=<type>] [--show-origin] [--show-scope] [-z|--null] [--fixed-value] --get <name> [<value-pattern>]
|
|
<em>git config</em> [<file-option>] [--type=<type>] [--show-origin] [--show-scope] [-z|--null] [--fixed-value] --get-all <name> [<value-pattern>]
|
|
<em>git config</em> [<file-option>] [--type=<type>] [--show-origin] [--show-scope] [-z|--null] [--fixed-value] [--name-only] --get-regexp <name-regex> [<value-pattern>]
|
|
<em>git config</em> [<file-option>] [--type=<type>] [-z|--null] --get-urlmatch <name> <URL>
|
|
<em>git config</em> [<file-option>] [--fixed-value] --unset <name> [<value-pattern>]
|
|
<em>git config</em> [<file-option>] [--fixed-value] --unset-all <name> [<value-pattern>]
|
|
<em>git config</em> [<file-option>] --rename-section <old-name> <new-name>
|
|
<em>git config</em> [<file-option>] --remove-section <name>
|
|
<em>git config</em> [<file-option>] [--show-origin] [--show-scope] [-z|--null] [--name-only] -l | --list
|
|
<em>git config</em> [<file-option>] --get-color <name> [<default>]
|
|
<em>git config</em> [<file-option>] --get-colorbool <name> [<stdout-is-tty>]
|
|
<em>git config</em> [<file-option>] -e | --edit</pre>
|
|
<div class="attribution">
|
|
</div></div>
|
|
</div>
|
|
</div>
|
|
<div class="sect1">
|
|
<h2 id="_description">DESCRIPTION</h2>
|
|
<div class="sectionbody">
|
|
<div class="paragraph"><p>You can query/set/replace/unset options with this command. The name is
|
|
actually the section and the key separated by a dot, and the value will be
|
|
escaped.</p></div>
|
|
<div class="paragraph"><p>Multiple lines can be added to an option by using the <code>--add</code> option.
|
|
If you want to update or unset an option which can occur on multiple
|
|
lines, a <code>value-pattern</code> (which is an extended regular expression,
|
|
unless the <code>--fixed-value</code> option is given) needs to be given. Only the
|
|
existing values that match the pattern are updated or unset. If
|
|
you want to handle the lines that do <strong>not</strong> match the pattern, just
|
|
prepend a single exclamation mark in front (see also <a href="#EXAMPLES">[EXAMPLES]</a>),
|
|
but note that this only works when the <code>--fixed-value</code> option is not
|
|
in use.</p></div>
|
|
<div class="paragraph"><p>The <code>--type=<type></code> option instructs <em>git config</em> to ensure that incoming and
|
|
outgoing values are canonicalize-able under the given <type>. If no
|
|
<code>--type=<type></code> is given, no canonicalization will be performed. Callers may
|
|
unset an existing <code>--type</code> specifier with <code>--no-type</code>.</p></div>
|
|
<div class="paragraph"><p>When reading, the values are read from the system, global and
|
|
repository local configuration files by default, and options
|
|
<code>--system</code>, <code>--global</code>, <code>--local</code>, <code>--worktree</code> and
|
|
<code>--file <filename></code> can be used to tell the command to read from only
|
|
that location (see <a href="#FILES">[FILES]</a>).</p></div>
|
|
<div class="paragraph"><p>When writing, the new value is written to the repository local
|
|
configuration file by default, and options <code>--system</code>, <code>--global</code>,
|
|
<code>--worktree</code>, <code>--file <filename></code> can be used to tell the command to
|
|
write to that location (you can say <code>--local</code> but that is the
|
|
default).</p></div>
|
|
<div class="paragraph"><p>This command will fail with non-zero status upon error. Some exit
|
|
codes are:</p></div>
|
|
<div class="ulist"><ul>
|
|
<li>
|
|
<p>
|
|
The section or key is invalid (ret=1),
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
no section or name was provided (ret=2),
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
the config file is invalid (ret=3),
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
the config file cannot be written (ret=4),
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
you try to unset an option which does not exist (ret=5),
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
you try to unset/set an option for which multiple lines match (ret=5), or
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
you try to use an invalid regexp (ret=6).
|
|
</p>
|
|
</li>
|
|
</ul></div>
|
|
<div class="paragraph"><p>On success, the command returns the exit code 0.</p></div>
|
|
<div class="paragraph"><p>A list of all available configuration variables can be obtained using the
|
|
<code>git help --config</code> command.</p></div>
|
|
</div>
|
|
</div>
|
|
<div class="sect1">
|
|
<h2 id="OPTIONS">OPTIONS</h2>
|
|
<div class="sectionbody">
|
|
<div class="dlist"><dl>
|
|
<dt class="hdlist1">
|
|
--replace-all
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Default behavior is to replace at most one line. This replaces
|
|
all lines matching the key (and optionally the <code>value-pattern</code>).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
--add
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Adds a new line to the option without altering any existing
|
|
values. This is the same as providing <em>^$</em> as the <code>value-pattern</code>
|
|
in <code>--replace-all</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
--get
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Get the value for a given key (optionally filtered by a regex
|
|
matching the value). Returns error code 1 if the key was not
|
|
found and the last value if multiple key values were found.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
--get-all
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Like get, but returns all values for a multi-valued key.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
--get-regexp
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Like --get-all, but interprets the name as a regular expression and
|
|
writes out the key names. Regular expression matching is currently
|
|
case-sensitive and done against a canonicalized version of the key
|
|
in which section and variable names are lowercased, but subsection
|
|
names are not.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
--get-urlmatch <name> <URL>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When given a two-part name section.key, the value for
|
|
section.<URL>.key whose <URL> part matches the best to the
|
|
given URL is returned (if no such key exists, the value for
|
|
section.key is used as a fallback). When given just the
|
|
section as name, do so for all the keys in the section and
|
|
list them. Returns error code 1 if no value is found.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
--global
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
For writing options: write to global <code>~/.gitconfig</code> file
|
|
rather than the repository <code>.git/config</code>, write to
|
|
<code>$XDG_CONFIG_HOME/git/config</code> file if this file exists and the
|
|
<code>~/.gitconfig</code> file doesn’t.
|
|
</p>
|
|
<div class="paragraph"><p>For reading options: read only from global <code>~/.gitconfig</code> and from
|
|
<code>$XDG_CONFIG_HOME/git/config</code> rather than from all available files.</p></div>
|
|
<div class="paragraph"><p>See also <a href="#FILES">[FILES]</a>.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
--system
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
For writing options: write to system-wide
|
|
<code>$(prefix)/etc/gitconfig</code> rather than the repository
|
|
<code>.git/config</code>.
|
|
</p>
|
|
<div class="paragraph"><p>For reading options: read only from system-wide <code>$(prefix)/etc/gitconfig</code>
|
|
rather than from all available files.</p></div>
|
|
<div class="paragraph"><p>See also <a href="#FILES">[FILES]</a>.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
--local
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
For writing options: write to the repository <code>.git/config</code> file.
|
|
This is the default behavior.
|
|
</p>
|
|
<div class="paragraph"><p>For reading options: read only from the repository <code>.git/config</code> rather than
|
|
from all available files.</p></div>
|
|
<div class="paragraph"><p>See also <a href="#FILES">[FILES]</a>.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
--worktree
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Similar to <code>--local</code> except that <code>$GIT_DIR/config.worktree</code> is
|
|
read from or written to if <code>extensions.worktreeConfig</code> is
|
|
enabled. If not it’s the same as <code>--local</code>. Note that <code>$GIT_DIR</code>
|
|
is equal to <code>$GIT_COMMON_DIR</code> for the main working tree, but is of
|
|
the form <code>$GIT_DIR/worktrees/<id>/</code> for other working trees. See
|
|
<a href="git-worktree.html">git-worktree(1)</a> to learn how to enable
|
|
<code>extensions.worktreeConfig</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
-f <config-file>
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
--file <config-file>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
For writing options: write to the specified file rather than the
|
|
repository <code>.git/config</code>.
|
|
</p>
|
|
<div class="paragraph"><p>For reading options: read only from the specified file rather than from all
|
|
available files.</p></div>
|
|
<div class="paragraph"><p>See also <a href="#FILES">[FILES]</a>.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
--blob <blob>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Similar to <code>--file</code> but use the given blob instead of a file. E.g.
|
|
you can use <em>master:.gitmodules</em> to read values from the file
|
|
<em>.gitmodules</em> in the master branch. See "SPECIFYING REVISIONS"
|
|
section in <a href="gitrevisions.html">gitrevisions(7)</a> for a more complete list of
|
|
ways to spell blob names.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
--remove-section
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Remove the given section from the configuration file.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
--rename-section
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Rename the given section to a new name.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
--unset
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Remove the line matching the key from config file.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
--unset-all
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Remove all lines matching the key from config file.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
-l
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
--list
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
List all variables set in config file, along with their values.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
--fixed-value
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When used with the <code>value-pattern</code> argument, treat <code>value-pattern</code> as
|
|
an exact string instead of a regular expression. This will restrict
|
|
the name/value pairs that are matched to only those where the value
|
|
is exactly equal to the <code>value-pattern</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
--type <type>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
<em>git config</em> will ensure that any input or output is valid under the given
|
|
type constraint(s), and will canonicalize outgoing values in <code><type></code>'s
|
|
canonical form.
|
|
</p>
|
|
<div class="paragraph"><p>Valid <code><type></code>'s include:</p></div>
|
|
<div class="ulist"><ul>
|
|
<li>
|
|
<p>
|
|
<em>bool</em>: canonicalize values as either "true" or "false".
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<em>int</em>: canonicalize values as simple decimal numbers. An optional suffix of
|
|
<em>k</em>, <em>m</em>, or <em>g</em> will cause the value to be multiplied by 1024, 1048576, or
|
|
1073741824 upon input.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<em>bool-or-int</em>: canonicalize according to either <em>bool</em> or <em>int</em>, as described
|
|
above.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<em>path</em>: canonicalize by adding a leading <code>~</code> to the value of <code>$HOME</code> and
|
|
<code>~user</code> to the home directory for the specified user. This specifier has no
|
|
effect when setting the value (but you can use <code>git config section.variable
|
|
~/</code> from the command line to let your shell do the expansion.)
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<em>expiry-date</em>: canonicalize by converting from a fixed or relative date-string
|
|
to a timestamp. This specifier has no effect when setting the value.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<em>color</em>: When getting a value, canonicalize by converting to an ANSI color
|
|
escape sequence. When setting a value, a sanity-check is performed to ensure
|
|
that the given value is canonicalize-able as an ANSI color, but it is written
|
|
as-is.
|
|
</p>
|
|
</li>
|
|
</ul></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
--bool
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
--int
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
--bool-or-int
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
--path
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
--expiry-date
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Historical options for selecting a type specifier. Prefer instead <code>--type</code>
|
|
(see above).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
--no-type
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Un-sets the previously set type specifier (if one was previously set). This
|
|
option requests that <em>git config</em> not canonicalize the retrieved variable.
|
|
<code>--no-type</code> has no effect without <code>--type=<type></code> or <code>--<type></code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
-z
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
--null
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
For all options that output values and/or keys, always
|
|
end values with the null character (instead of a
|
|
newline). Use newline instead as a delimiter between
|
|
key and value. This allows for secure parsing of the
|
|
output without getting confused e.g. by values that
|
|
contain line breaks.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
--name-only
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Output only the names of config variables for <code>--list</code> or
|
|
<code>--get-regexp</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
--show-origin
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Augment the output of all queried config options with the
|
|
origin type (file, standard input, blob, command line) and
|
|
the actual origin (config file path, ref, or blob id if
|
|
applicable).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
--show-scope
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Similar to <code>--show-origin</code> in that it augments the output of
|
|
all queried config options with the scope of that value
|
|
(worktree, local, global, system, command).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
--get-colorbool <name> [<stdout-is-tty>]
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Find the color setting for <code><name></code> (e.g. <code>color.diff</code>) and output
|
|
"true" or "false". <code><stdout-is-tty></code> should be either "true" or
|
|
"false", and is taken into account when configuration says
|
|
"auto". If <code><stdout-is-tty></code> is missing, then checks the standard
|
|
output of the command itself, and exits with status 0 if color
|
|
is to be used, or exits with status 1 otherwise.
|
|
When the color setting for <code>name</code> is undefined, the command uses
|
|
<code>color.ui</code> as fallback.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
--get-color <name> [<default>]
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Find the color configured for <code>name</code> (e.g. <code>color.diff.new</code>) and
|
|
output it as the ANSI color escape sequence to the standard
|
|
output. The optional <code>default</code> parameter is used instead, if
|
|
there is no color configured for <code>name</code>.
|
|
</p>
|
|
<div class="paragraph"><p><code>--type=color [--default=<default>]</code> is preferred over <code>--get-color</code>
|
|
(but note that <code>--get-color</code> will omit the trailing newline printed by
|
|
<code>--type=color</code>).</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
-e
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
--edit
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Opens an editor to modify the specified config file; either
|
|
<code>--system</code>, <code>--global</code>, or repository (default).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
--[no-]includes
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Respect <code>include.*</code> directives in config files when looking up
|
|
values. Defaults to <code>off</code> when a specific file is given (e.g.,
|
|
using <code>--file</code>, <code>--global</code>, etc) and <code>on</code> when searching all
|
|
config files.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
--default <value>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When using <code>--get</code>, and the requested variable is not found, behave as if
|
|
<value> were the value assigned to the that variable.
|
|
</p>
|
|
</dd>
|
|
</dl></div>
|
|
</div>
|
|
</div>
|
|
<div class="sect1">
|
|
<h2 id="_configuration">CONFIGURATION</h2>
|
|
<div class="sectionbody">
|
|
<div class="paragraph"><p><code>pager.config</code> is only respected when listing configuration, i.e., when
|
|
using <code>--list</code> or any of the <code>--get-*</code> which may return multiple results.
|
|
The default is to use a pager.</p></div>
|
|
</div>
|
|
</div>
|
|
<div class="sect1">
|
|
<h2 id="FILES">FILES</h2>
|
|
<div class="sectionbody">
|
|
<div class="paragraph"><p>By default, <em>git config</em> will read configuration options from multiple
|
|
files:</p></div>
|
|
<div class="dlist"><dl>
|
|
<dt class="hdlist1">
|
|
$(prefix)/etc/gitconfig
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
System-wide configuration file.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
$XDG_CONFIG_HOME/git/config
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
~/.gitconfig
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
User-specific configuration files. When the XDG_CONFIG_HOME environment
|
|
variable is not set or empty, $HOME/.config/ is used as
|
|
$XDG_CONFIG_HOME.
|
|
</p>
|
|
<div class="paragraph"><p>These are also called "global" configuration files. If both files exist, both
|
|
files are read in the order given above.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
$GIT_DIR/config
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Repository specific configuration file.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
$GIT_DIR/config.worktree
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This is optional and is only searched when
|
|
<code>extensions.worktreeConfig</code> is present in $GIT_DIR/config.
|
|
</p>
|
|
</dd>
|
|
</dl></div>
|
|
<div class="paragraph"><p>You may also provide additional configuration parameters when running any
|
|
git command by using the <code>-c</code> option. See <a href="git.html">git(1)</a> for details.</p></div>
|
|
<div class="paragraph"><p>Options will be read from all of these files that are available. If the
|
|
global or the system-wide configuration files are missing or unreadable they
|
|
will be ignored. If the repository configuration file is missing or unreadable,
|
|
<em>git config</em> will exit with a non-zero error code. An error message is produced
|
|
if the file is unreadable, but not if it is missing.</p></div>
|
|
<div class="paragraph"><p>The files are read in the order given above, with last value found taking
|
|
precedence over values read earlier. When multiple values are taken then all
|
|
values of a key from all files will be used.</p></div>
|
|
<div class="paragraph"><p>By default, options are only written to the repository specific
|
|
configuration file. Note that this also affects options like <code>--replace-all</code>
|
|
and <code>--unset</code>. <strong><em>git config</em> will only ever change one file at a time</strong>.</p></div>
|
|
<div class="paragraph"><p>You can limit which configuration sources are read from or written to by
|
|
specifying the path of a file with the <code>--file</code> option, or by specifying a
|
|
configuration scope with <code>--system</code>, <code>--global</code>, <code>--local</code>, or <code>--worktree</code>.
|
|
For more, see <a href="#OPTIONS">[OPTIONS]</a> above.</p></div>
|
|
</div>
|
|
</div>
|
|
<div class="sect1">
|
|
<h2 id="SCOPES">SCOPES</h2>
|
|
<div class="sectionbody">
|
|
<div class="paragraph"><p>Each configuration source falls within a configuration scope. The scopes
|
|
are:</p></div>
|
|
<div class="dlist"><dl>
|
|
<dt class="hdlist1">
|
|
system
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
$(prefix)/etc/gitconfig
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
global
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
$XDG_CONFIG_HOME/git/config
|
|
</p>
|
|
<div class="paragraph"><p>~/.gitconfig</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
local
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
$GIT_DIR/config
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
worktree
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
$GIT_DIR/config.worktree
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
command
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
GIT_CONFIG_{COUNT,KEY,VALUE} environment variables (see <a href="#ENVIRONMENT">[ENVIRONMENT]</a>
|
|
below)
|
|
</p>
|
|
<div class="paragraph"><p>the <code>-c</code> option</p></div>
|
|
</dd>
|
|
</dl></div>
|
|
<div class="paragraph"><p>With the exception of <em>command</em>, each scope corresponds to a command line
|
|
option: <code>--system</code>, <code>--global</code>, <code>--local</code>, <code>--worktree</code>.</p></div>
|
|
<div class="paragraph"><p>When reading options, specifying a scope will only read options from the
|
|
files within that scope. When writing options, specifying a scope will write
|
|
to the files within that scope (instead of the repository specific
|
|
configuration file). See <a href="#OPTIONS">[OPTIONS]</a> above for a complete description.</p></div>
|
|
<div class="paragraph"><p>Most configuration options are respected regardless of the scope it is
|
|
defined in, but some options are only respected in certain scopes. See the
|
|
respective option’s documentation for the full details.</p></div>
|
|
<div class="sect2">
|
|
<h3 id="_protected_configuration">Protected configuration</h3>
|
|
<div class="paragraph"><p>Protected configuration refers to the <em>system</em>, <em>global</em>, and <em>command</em> scopes.
|
|
For security reasons, certain options are only respected when they are
|
|
specified in protected configuration, and ignored otherwise.</p></div>
|
|
<div class="paragraph"><p>Git treats these scopes as if they are controlled by the user or a trusted
|
|
administrator. This is because an attacker who controls these scopes can do
|
|
substantial harm without using Git, so it is assumed that the user’s environment
|
|
protects these scopes against attackers.</p></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sect1">
|
|
<h2 id="ENVIRONMENT">ENVIRONMENT</h2>
|
|
<div class="sectionbody">
|
|
<div class="dlist"><dl>
|
|
<dt class="hdlist1">
|
|
GIT_CONFIG_GLOBAL
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
GIT_CONFIG_SYSTEM
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Take the configuration from the given files instead from global or
|
|
system-level configuration. See <a href="git.html">git(1)</a> for details.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
GIT_CONFIG_NOSYSTEM
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Whether to skip reading settings from the system-wide
|
|
$(prefix)/etc/gitconfig file. See <a href="git.html">git(1)</a> for details.
|
|
</p>
|
|
</dd>
|
|
</dl></div>
|
|
<div class="paragraph"><p>See also <a href="#FILES">[FILES]</a>.</p></div>
|
|
<div class="dlist"><dl>
|
|
<dt class="hdlist1">
|
|
GIT_CONFIG_COUNT
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
GIT_CONFIG_KEY_<n>
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
GIT_CONFIG_VALUE_<n>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If GIT_CONFIG_COUNT is set to a positive number, all environment pairs
|
|
GIT_CONFIG_KEY_<n> and GIT_CONFIG_VALUE_<n> up to that number will be
|
|
added to the process’s runtime configuration. The config pairs are
|
|
zero-indexed. Any missing key or value is treated as an error. An empty
|
|
GIT_CONFIG_COUNT is treated the same as GIT_CONFIG_COUNT=0, namely no
|
|
pairs are processed. These environment variables will override values
|
|
in configuration files, but will be overridden by any explicit options
|
|
passed via <code>git -c</code>.
|
|
</p>
|
|
<div class="paragraph"><p>This is useful for cases where you want to spawn multiple git commands
|
|
with a common configuration but cannot depend on a configuration file,
|
|
for example when writing scripts.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
GIT_CONFIG
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If no <code>--file</code> option is provided to <code>git config</code>, use the file
|
|
given by <code>GIT_CONFIG</code> as if it were provided via <code>--file</code>. This
|
|
variable has no effect on other Git commands, and is mostly for
|
|
historical compatibility; there is generally no reason to use it
|
|
instead of the <code>--file</code> option.
|
|
</p>
|
|
</dd>
|
|
</dl></div>
|
|
</div>
|
|
</div>
|
|
<div class="sect1">
|
|
<h2 id="EXAMPLES">EXAMPLES</h2>
|
|
<div class="sectionbody">
|
|
<div class="paragraph"><p>Given a .git/config like this:</p></div>
|
|
<div class="listingblock">
|
|
<div class="content">
|
|
<pre><code>#
|
|
# This is the config file, and
|
|
# a '#' or ';' character indicates
|
|
# a comment
|
|
#
|
|
|
|
; core variables
|
|
[core]
|
|
; Don't trust file modes
|
|
filemode = false
|
|
|
|
; Our diff algorithm
|
|
[diff]
|
|
external = /usr/local/bin/diff-wrapper
|
|
renames = true
|
|
|
|
; Proxy settings
|
|
[core]
|
|
gitproxy=proxy-command for kernel.org
|
|
gitproxy=default-proxy ; for all the rest
|
|
|
|
; HTTP
|
|
[http]
|
|
sslVerify
|
|
[http "https://weak.example.com"]
|
|
sslVerify = false
|
|
cookieFile = /tmp/cookie.txt</code></pre>
|
|
</div></div>
|
|
<div class="paragraph"><p>you can set the filemode to true with</p></div>
|
|
<div class="listingblock">
|
|
<div class="content">
|
|
<pre><code>% git config core.filemode true</code></pre>
|
|
</div></div>
|
|
<div class="paragraph"><p>The hypothetical proxy command entries actually have a postfix to discern
|
|
what URL they apply to. Here is how to change the entry for kernel.org
|
|
to "ssh".</p></div>
|
|
<div class="listingblock">
|
|
<div class="content">
|
|
<pre><code>% git config core.gitproxy '"ssh" for kernel.org' 'for kernel.org$'</code></pre>
|
|
</div></div>
|
|
<div class="paragraph"><p>This makes sure that only the key/value pair for kernel.org is replaced.</p></div>
|
|
<div class="paragraph"><p>To delete the entry for renames, do</p></div>
|
|
<div class="listingblock">
|
|
<div class="content">
|
|
<pre><code>% git config --unset diff.renames</code></pre>
|
|
</div></div>
|
|
<div class="paragraph"><p>If you want to delete an entry for a multivar (like core.gitproxy above),
|
|
you have to provide a regex matching the value of exactly one line.</p></div>
|
|
<div class="paragraph"><p>To query the value for a given key, do</p></div>
|
|
<div class="listingblock">
|
|
<div class="content">
|
|
<pre><code>% git config --get core.filemode</code></pre>
|
|
</div></div>
|
|
<div class="paragraph"><p>or</p></div>
|
|
<div class="listingblock">
|
|
<div class="content">
|
|
<pre><code>% git config core.filemode</code></pre>
|
|
</div></div>
|
|
<div class="paragraph"><p>or, to query a multivar:</p></div>
|
|
<div class="listingblock">
|
|
<div class="content">
|
|
<pre><code>% git config --get core.gitproxy "for kernel.org$"</code></pre>
|
|
</div></div>
|
|
<div class="paragraph"><p>If you want to know all the values for a multivar, do:</p></div>
|
|
<div class="listingblock">
|
|
<div class="content">
|
|
<pre><code>% git config --get-all core.gitproxy</code></pre>
|
|
</div></div>
|
|
<div class="paragraph"><p>If you like to live dangerously, you can replace <strong>all</strong> core.gitproxy by a
|
|
new one with</p></div>
|
|
<div class="listingblock">
|
|
<div class="content">
|
|
<pre><code>% git config --replace-all core.gitproxy ssh</code></pre>
|
|
</div></div>
|
|
<div class="paragraph"><p>However, if you really only want to replace the line for the default proxy,
|
|
i.e. the one without a "for …" postfix, do something like this:</p></div>
|
|
<div class="listingblock">
|
|
<div class="content">
|
|
<pre><code>% git config core.gitproxy ssh '! for '</code></pre>
|
|
</div></div>
|
|
<div class="paragraph"><p>To actually match only values with an exclamation mark, you have to</p></div>
|
|
<div class="listingblock">
|
|
<div class="content">
|
|
<pre><code>% git config section.key value '[!]'</code></pre>
|
|
</div></div>
|
|
<div class="paragraph"><p>To add a new proxy, without altering any of the existing ones, use</p></div>
|
|
<div class="listingblock">
|
|
<div class="content">
|
|
<pre><code>% git config --add core.gitproxy '"proxy-command" for example.com'</code></pre>
|
|
</div></div>
|
|
<div class="paragraph"><p>An example to use customized color from the configuration in your
|
|
script:</p></div>
|
|
<div class="listingblock">
|
|
<div class="content">
|
|
<pre><code>#!/bin/sh
|
|
WS=$(git config --get-color color.diff.whitespace "blue reverse")
|
|
RESET=$(git config --get-color "" "reset")
|
|
echo "${WS}your whitespace color or blue reverse${RESET}"</code></pre>
|
|
</div></div>
|
|
<div class="paragraph"><p>For URLs in <code>https://weak.example.com</code>, <code>http.sslVerify</code> is set to
|
|
false, while it is set to <code>true</code> for all others:</p></div>
|
|
<div class="listingblock">
|
|
<div class="content">
|
|
<pre><code>% git config --type=bool --get-urlmatch http.sslverify https://good.example.com
|
|
true
|
|
% git config --type=bool --get-urlmatch http.sslverify https://weak.example.com
|
|
false
|
|
% git config --get-urlmatch http https://weak.example.com
|
|
http.cookieFile /tmp/cookie.txt
|
|
http.sslverify false</code></pre>
|
|
</div></div>
|
|
</div>
|
|
</div>
|
|
<div class="sect1">
|
|
<h2 id="_configuration_file">CONFIGURATION FILE</h2>
|
|
<div class="sectionbody">
|
|
<div class="paragraph"><p>The Git configuration file contains a number of variables that affect
|
|
the Git commands' behavior. The files <code>.git/config</code> and optionally
|
|
<code>config.worktree</code> (see the "CONFIGURATION FILE" section of
|
|
<a href="git-worktree.html">git-worktree(1)</a>) in each repository are used to store the
|
|
configuration for that repository, and <code>$HOME/.gitconfig</code> is used to
|
|
store a per-user configuration as fallback values for the <code>.git/config</code>
|
|
file. The file <code>/etc/gitconfig</code> can be used to store a system-wide
|
|
default configuration.</p></div>
|
|
<div class="paragraph"><p>The configuration variables are used by both the Git plumbing
|
|
and the porcelains. The variables are divided into sections, wherein
|
|
the fully qualified variable name of the variable itself is the last
|
|
dot-separated segment and the section name is everything before the last
|
|
dot. The variable names are case-insensitive, allow only alphanumeric
|
|
characters and <code>-</code>, and must start with an alphabetic character. Some
|
|
variables may appear multiple times; we say then that the variable is
|
|
multivalued.</p></div>
|
|
<div class="sect2">
|
|
<h3 id="_syntax">Syntax</h3>
|
|
<div class="paragraph"><p>The syntax is fairly flexible and permissive; whitespaces are mostly
|
|
ignored. The <em>#</em> and <em>;</em> characters begin comments to the end of line,
|
|
blank lines are ignored.</p></div>
|
|
<div class="paragraph"><p>The file consists of sections and variables. A section begins with
|
|
the name of the section in square brackets and continues until the next
|
|
section begins. Section names are case-insensitive. Only alphanumeric
|
|
characters, <code>-</code> and <code>.</code> are allowed in section names. Each variable
|
|
must belong to some section, which means that there must be a section
|
|
header before the first setting of a variable.</p></div>
|
|
<div class="paragraph"><p>Sections can be further divided into subsections. To begin a subsection
|
|
put its name in double quotes, separated by space from the section name,
|
|
in the section header, like in the example below:</p></div>
|
|
<div class="listingblock">
|
|
<div class="content">
|
|
<pre><code> [section "subsection"]</code></pre>
|
|
</div></div>
|
|
<div class="paragraph"><p>Subsection names are case sensitive and can contain any characters except
|
|
newline and the null byte. Doublequote <code>"</code> and backslash can be included
|
|
by escaping them as <code>\"</code> and <code>\\</code>, respectively. Backslashes preceding
|
|
other characters are dropped when reading; for example, <code>\t</code> is read as
|
|
<code>t</code> and <code>\0</code> is read as <code>0</code>. Section headers cannot span multiple lines.
|
|
Variables may belong directly to a section or to a given subsection. You
|
|
can have <code>[section]</code> if you have <code>[section "subsection"]</code>, but you don’t
|
|
need to.</p></div>
|
|
<div class="paragraph"><p>There is also a deprecated <code>[section.subsection]</code> syntax. With this
|
|
syntax, the subsection name is converted to lower-case and is also
|
|
compared case sensitively. These subsection names follow the same
|
|
restrictions as section names.</p></div>
|
|
<div class="paragraph"><p>All the other lines (and the remainder of the line after the section
|
|
header) are recognized as setting variables, in the form
|
|
<em>name = value</em> (or just <em>name</em>, which is a short-hand to say that
|
|
the variable is the boolean "true").
|
|
The variable names are case-insensitive, allow only alphanumeric characters
|
|
and <code>-</code>, and must start with an alphabetic character.</p></div>
|
|
<div class="paragraph"><p>A line that defines a value can be continued to the next line by
|
|
ending it with a <code>\</code>; the backslash and the end-of-line are
|
|
stripped. Leading whitespaces after <em>name =</em>, the remainder of the
|
|
line after the first comment character <em>#</em> or <em>;</em>, and trailing
|
|
whitespaces of the line are discarded unless they are enclosed in
|
|
double quotes. Internal whitespaces within the value are retained
|
|
verbatim.</p></div>
|
|
<div class="paragraph"><p>Inside double quotes, double quote <code>"</code> and backslash <code>\</code> characters
|
|
must be escaped: use <code>\"</code> for <code>"</code> and <code>\\</code> for <code>\</code>.</p></div>
|
|
<div class="paragraph"><p>The following escape sequences (beside <code>\"</code> and <code>\\</code>) are recognized:
|
|
<code>\n</code> for newline character (NL), <code>\t</code> for horizontal tabulation (HT, TAB)
|
|
and <code>\b</code> for backspace (BS). Other char escape sequences (including octal
|
|
escape sequences) are invalid.</p></div>
|
|
</div>
|
|
<div class="sect2">
|
|
<h3 id="_includes">Includes</h3>
|
|
<div class="paragraph"><p>The <code>include</code> and <code>includeIf</code> sections allow you to include config
|
|
directives from another source. These sections behave identically to
|
|
each other with the exception that <code>includeIf</code> sections may be ignored
|
|
if their condition does not evaluate to true; see "Conditional includes"
|
|
below.</p></div>
|
|
<div class="paragraph"><p>You can include a config file from another by setting the special
|
|
<code>include.path</code> (or <code>includeIf.*.path</code>) variable to the name of the file
|
|
to be included. The variable takes a pathname as its value, and is
|
|
subject to tilde expansion. These variables can be given multiple times.</p></div>
|
|
<div class="paragraph"><p>The contents of the included file are inserted immediately, as if they
|
|
had been found at the location of the include directive. If the value of the
|
|
variable is a relative path, the path is considered to
|
|
be relative to the configuration file in which the include directive
|
|
was found. See below for examples.</p></div>
|
|
</div>
|
|
<div class="sect2">
|
|
<h3 id="_conditional_includes">Conditional includes</h3>
|
|
<div class="paragraph"><p>You can include a config file from another conditionally by setting a
|
|
<code>includeIf.<condition>.path</code> variable to the name of the file to be
|
|
included.</p></div>
|
|
<div class="paragraph"><p>The condition starts with a keyword followed by a colon and some data
|
|
whose format and meaning depends on the keyword. Supported keywords
|
|
are:</p></div>
|
|
<div class="dlist"><dl>
|
|
<dt class="hdlist1">
|
|
<code>gitdir</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The data that follows the keyword <code>gitdir:</code> is used as a glob
|
|
pattern. If the location of the .git directory matches the
|
|
pattern, the include condition is met.
|
|
</p>
|
|
<div class="paragraph"><p>The .git location may be auto-discovered, or come from <code>$GIT_DIR</code>
|
|
environment variable. If the repository is auto discovered via a .git
|
|
file (e.g. from submodules, or a linked worktree), the .git location
|
|
would be the final location where the .git directory is, not where the
|
|
.git file is.</p></div>
|
|
<div class="paragraph"><p>The pattern can contain standard globbing wildcards and two additional
|
|
ones, <code>**/</code> and <code>/**</code>, that can match multiple path components. Please
|
|
refer to <a href="gitignore.html">gitignore(5)</a> for details. For convenience:</p></div>
|
|
<div class="ulist"><ul>
|
|
<li>
|
|
<p>
|
|
If the pattern starts with <code>~/</code>, <code>~</code> will be substituted with the
|
|
content of the environment variable <code>HOME</code>.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
If the pattern starts with <code>./</code>, it is replaced with the directory
|
|
containing the current config file.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
If the pattern does not start with either <code>~/</code>, <code>./</code> or <code>/</code>, <code>**/</code>
|
|
will be automatically prepended. For example, the pattern <code>foo/bar</code>
|
|
becomes <code>**/foo/bar</code> and would match <code>/any/path/to/foo/bar</code>.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
If the pattern ends with <code>/</code>, <code>**</code> will be automatically added. For
|
|
example, the pattern <code>foo/</code> becomes <code>foo/**</code>. In other words, it
|
|
matches "foo" and everything inside, recursively.
|
|
</p>
|
|
</li>
|
|
</ul></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>gitdir/i</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This is the same as <code>gitdir</code> except that matching is done
|
|
case-insensitively (e.g. on case-insensitive file systems)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>onbranch</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The data that follows the keyword <code>onbranch:</code> is taken to be a
|
|
pattern with standard globbing wildcards and two additional
|
|
ones, <code>**/</code> and <code>/**</code>, that can match multiple path components.
|
|
If we are in a worktree where the name of the branch that is
|
|
currently checked out matches the pattern, the include condition
|
|
is met.
|
|
</p>
|
|
<div class="paragraph"><p>If the pattern ends with <code>/</code>, <code>**</code> will be automatically added. For
|
|
example, the pattern <code>foo/</code> becomes <code>foo/**</code>. In other words, it matches
|
|
all branches that begin with <code>foo/</code>. This is useful if your branches are
|
|
organized hierarchically and you would like to apply a configuration to
|
|
all the branches in that hierarchy.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>hasconfig:remote.*.url:</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The data that follows this keyword is taken to
|
|
be a pattern with standard globbing wildcards and two
|
|
additional ones, <code>**/</code> and <code>/**</code>, that can match multiple
|
|
components. The first time this keyword is seen, the rest of
|
|
the config files will be scanned for remote URLs (without
|
|
applying any values). If there exists at least one remote URL
|
|
that matches this pattern, the include condition is met.
|
|
</p>
|
|
<div class="paragraph"><p>Files included by this option (directly or indirectly) are not allowed
|
|
to contain remote URLs.</p></div>
|
|
<div class="paragraph"><p>Note that unlike other includeIf conditions, resolving this condition
|
|
relies on information that is not yet known at the point of reading the
|
|
condition. A typical use case is this option being present as a
|
|
system-level or global-level config, and the remote URL being in a
|
|
local-level config; hence the need to scan ahead when resolving this
|
|
condition. In order to avoid the chicken-and-egg problem in which
|
|
potentially-included files can affect whether such files are potentially
|
|
included, Git breaks the cycle by prohibiting these files from affecting
|
|
the resolution of these conditions (thus, prohibiting them from
|
|
declaring remote URLs).</p></div>
|
|
<div class="paragraph"><p>As for the naming of this keyword, it is for forwards compatibiliy with
|
|
a naming scheme that supports more variable-based include conditions,
|
|
but currently Git only supports the exact keyword described above.</p></div>
|
|
</dd>
|
|
</dl></div>
|
|
<div class="paragraph"><p>A few more notes on matching via <code>gitdir</code> and <code>gitdir/i</code>:</p></div>
|
|
<div class="ulist"><ul>
|
|
<li>
|
|
<p>
|
|
Symlinks in <code>$GIT_DIR</code> are not resolved before matching.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
Both the symlink & realpath versions of paths will be matched
|
|
outside of <code>$GIT_DIR</code>. E.g. if ~/git is a symlink to
|
|
/mnt/storage/git, both <code>gitdir:~/git</code> and <code>gitdir:/mnt/storage/git</code>
|
|
will match.
|
|
</p>
|
|
<div class="paragraph"><p>This was not the case in the initial release of this feature in
|
|
v2.13.0, which only matched the realpath version. Configuration that
|
|
wants to be compatible with the initial release of this feature needs
|
|
to either specify only the realpath version, or both versions.</p></div>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
Note that "../" is not special and will match literally, which is
|
|
unlikely what you want.
|
|
</p>
|
|
</li>
|
|
</ul></div>
|
|
</div>
|
|
<div class="sect2">
|
|
<h3 id="_example">Example</h3>
|
|
<div class="listingblock">
|
|
<div class="content">
|
|
<pre><code># Core variables
|
|
[core]
|
|
; Don't trust file modes
|
|
filemode = false
|
|
|
|
# Our diff algorithm
|
|
[diff]
|
|
external = /usr/local/bin/diff-wrapper
|
|
renames = true
|
|
|
|
[branch "devel"]
|
|
remote = origin
|
|
merge = refs/heads/devel
|
|
|
|
# Proxy settings
|
|
[core]
|
|
gitProxy="ssh" for "kernel.org"
|
|
gitProxy=default-proxy ; for the rest
|
|
|
|
[include]
|
|
path = /path/to/foo.inc ; include by absolute path
|
|
path = foo.inc ; find "foo.inc" relative to the current file
|
|
path = ~/foo.inc ; find "foo.inc" in your `$HOME` directory
|
|
|
|
; include if $GIT_DIR is /path/to/foo/.git
|
|
[includeIf "gitdir:/path/to/foo/.git"]
|
|
path = /path/to/foo.inc
|
|
|
|
; include for all repositories inside /path/to/group
|
|
[includeIf "gitdir:/path/to/group/"]
|
|
path = /path/to/foo.inc
|
|
|
|
; include for all repositories inside $HOME/to/group
|
|
[includeIf "gitdir:~/to/group/"]
|
|
path = /path/to/foo.inc
|
|
|
|
; relative paths are always relative to the including
|
|
; file (if the condition is true); their location is not
|
|
; affected by the condition
|
|
[includeIf "gitdir:/path/to/group/"]
|
|
path = foo.inc
|
|
|
|
; include only if we are in a worktree where foo-branch is
|
|
; currently checked out
|
|
[includeIf "onbranch:foo-branch"]
|
|
path = foo.inc
|
|
|
|
; include only if a remote with the given URL exists (note
|
|
; that such a URL may be provided later in a file or in a
|
|
; file read after this file is read, as seen in this example)
|
|
[includeIf "hasconfig:remote.*.url:https://example.com/**"]
|
|
path = foo.inc
|
|
[remote "origin"]
|
|
url = https://example.com/git</code></pre>
|
|
</div></div>
|
|
</div>
|
|
<div class="sect2">
|
|
<h3 id="_values">Values</h3>
|
|
<div class="paragraph"><p>Values of many variables are treated as a simple string, but there
|
|
are variables that take values of specific types and there are rules
|
|
as to how to spell them.</p></div>
|
|
<div class="dlist"><dl>
|
|
<dt class="hdlist1">
|
|
boolean
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When a variable is said to take a boolean value, many
|
|
synonyms are accepted for <em>true</em> and <em>false</em>; these are all
|
|
case-insensitive.
|
|
</p>
|
|
<div class="dlist"><dl>
|
|
<dt class="hdlist1">
|
|
true
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Boolean true literals are <code>yes</code>, <code>on</code>, <code>true</code>,
|
|
and <code>1</code>. Also, a variable defined without <code>= <value></code>
|
|
is taken as true.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
false
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Boolean false literals are <code>no</code>, <code>off</code>, <code>false</code>,
|
|
<code>0</code> and the empty string.
|
|
</p>
|
|
<div class="paragraph"><p>When converting a value to its canonical form using the <code>--type=bool</code> type
|
|
specifier, <em>git config</em> will ensure that the output is "true" or
|
|
"false" (spelled in lowercase).</p></div>
|
|
</dd>
|
|
</dl></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
integer
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The value for many variables that specify various sizes can
|
|
be suffixed with <code>k</code>, <code>M</code>,… to mean "scale the number by
|
|
1024", "by 1024x1024", etc.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
color
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The value for a variable that takes a color is a list of
|
|
colors (at most two, one for foreground and one for background)
|
|
and attributes (as many as you want), separated by spaces.
|
|
</p>
|
|
<div class="paragraph"><p>The basic colors accepted are <code>normal</code>, <code>black</code>, <code>red</code>, <code>green</code>,
|
|
<code>yellow</code>, <code>blue</code>, <code>magenta</code>, <code>cyan</code>, <code>white</code> and <code>default</code>. The first
|
|
color given is the foreground; the second is the background. All the
|
|
basic colors except <code>normal</code> and <code>default</code> have a bright variant that can
|
|
be specified by prefixing the color with <code>bright</code>, like <code>brightred</code>.</p></div>
|
|
<div class="paragraph"><p>The color <code>normal</code> makes no change to the color. It is the same as an
|
|
empty string, but can be used as the foreground color when specifying a
|
|
background color alone (for example, "normal red").</p></div>
|
|
<div class="paragraph"><p>The color <code>default</code> explicitly resets the color to the terminal default,
|
|
for example to specify a cleared background. Although it varies between
|
|
terminals, this is usually not the same as setting to "white black".</p></div>
|
|
<div class="paragraph"><p>Colors may also be given as numbers between 0 and 255; these use ANSI
|
|
256-color mode (but note that not all terminals may support this). If
|
|
your terminal supports it, you may also specify 24-bit RGB values as
|
|
hex, like <code>#ff0ab3</code>.</p></div>
|
|
<div class="paragraph"><p>The accepted attributes are <code>bold</code>, <code>dim</code>, <code>ul</code>, <code>blink</code>, <code>reverse</code>,
|
|
<code>italic</code>, and <code>strike</code> (for crossed-out or "strikethrough" letters).
|
|
The position of any attributes with respect to the colors
|
|
(before, after, or in between), doesn’t matter. Specific attributes may
|
|
be turned off by prefixing them with <code>no</code> or <code>no-</code> (e.g., <code>noreverse</code>,
|
|
<code>no-ul</code>, etc).</p></div>
|
|
<div class="paragraph"><p>The pseudo-attribute <code>reset</code> resets all colors and attributes before
|
|
applying the specified coloring. For example, <code>reset green</code> will result
|
|
in a green foreground and default background without any active
|
|
attributes.</p></div>
|
|
<div class="paragraph"><p>An empty color string produces no color effect at all. This can be used
|
|
to avoid coloring specific elements without disabling color entirely.</p></div>
|
|
<div class="paragraph"><p>For git’s pre-defined color slots, the attributes are meant to be reset
|
|
at the beginning of each item in the colored output. So setting
|
|
<code>color.decorate.branch</code> to <code>black</code> will paint that branch name in a
|
|
plain <code>black</code>, even if the previous thing on the same output line (e.g.
|
|
opening parenthesis before the list of branch names in <code>log --decorate</code>
|
|
output) is set to be painted with <code>bold</code> or some other attribute.
|
|
However, custom log formats may do more complicated and layered
|
|
coloring, and the negated forms may be useful there.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
pathname
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A variable that takes a pathname value can be given a
|
|
string that begins with "<code>~/</code>" or "<code>~user/</code>", and the usual
|
|
tilde expansion happens to such a string: <code>~/</code>
|
|
is expanded to the value of <code>$HOME</code>, and <code>~user/</code> to the
|
|
specified user’s home directory.
|
|
</p>
|
|
<div class="paragraph"><p>If a path starts with <code>%(prefix)/</code>, the remainder is interpreted as a
|
|
path relative to Git’s "runtime prefix", i.e. relative to the location
|
|
where Git itself was installed. For example, <code>%(prefix)/bin/</code> refers to
|
|
the directory in which the Git executable itself lives. If Git was
|
|
compiled without runtime prefix support, the compiled-in prefix will be
|
|
substituted instead. In the unlikely event that a literal path needs to
|
|
be specified that should <em>not</em> be expanded, it needs to be prefixed by
|
|
<code>./</code>, like so: <code>./%(prefix)/bin</code>.</p></div>
|
|
</dd>
|
|
</dl></div>
|
|
</div>
|
|
<div class="sect2">
|
|
<h3 id="_variables">Variables</h3>
|
|
<div class="paragraph"><p>Note that this list is non-comprehensive and not necessarily complete.
|
|
For command-specific variables, you will find a more detailed description
|
|
in the appropriate manual page.</p></div>
|
|
<div class="paragraph"><p>Other git-related tools may and do use their own variables. When
|
|
inventing new variables for use in your own tool, make sure their
|
|
names do not conflict with those that are used by Git itself and
|
|
other popular tools, and describe them in your documentation.</p></div>
|
|
<div class="dlist"><dl>
|
|
<dt class="hdlist1">
|
|
advice.*
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
These variables control various optional help messages designed to
|
|
aid new users. All <em>advice.*</em> variables default to <em>true</em>, and you
|
|
can tell Git that you do not need help by setting these to <em>false</em>:
|
|
</p>
|
|
<div class="openblock">
|
|
<div class="content">
|
|
<div class="dlist"><dl>
|
|
<dt class="hdlist1">
|
|
ambiguousFetchRefspec
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Advice shown when fetch refspec for multiple remotes map to
|
|
the same remote-tracking branch namespace and causes branch
|
|
tracking set-up to fail.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
fetchShowForcedUpdates
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Advice shown when <a href="git-fetch.html">git-fetch(1)</a> takes a long time
|
|
to calculate forced updates after ref updates, or to warn
|
|
that the check is disabled.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
pushUpdateRejected
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Set this variable to <em>false</em> if you want to disable
|
|
<em>pushNonFFCurrent</em>, <em>pushNonFFMatching</em>, <em>pushAlreadyExists</em>,
|
|
<em>pushFetchFirst</em>, <em>pushNeedsForce</em>, and <em>pushRefNeedsUpdate</em>
|
|
simultaneously.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
pushNonFFCurrent
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Advice shown when <a href="git-push.html">git-push(1)</a> fails due to a
|
|
non-fast-forward update to the current branch.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
pushNonFFMatching
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Advice shown when you ran <a href="git-push.html">git-push(1)</a> and pushed
|
|
<em>matching refs</em> explicitly (i.e. you used <em>:</em>, or
|
|
specified a refspec that isn’t your current branch) and
|
|
it resulted in a non-fast-forward error.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
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">
|
|
pushUnqualifiedRefname
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Shown when <a href="git-push.html">git-push(1)</a> gives up trying to
|
|
guess based on the source and destination refs what
|
|
remote ref namespace the source belongs in, but where
|
|
we can still suggest that the user push to either
|
|
refs/heads/* or refs/tags/* based on the type of the
|
|
source object.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
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">
|
|
skippedCherryPicks
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Shown when <a href="git-rebase.html">git-rebase(1)</a> skips a commit that has already
|
|
been cherry-picked onto the upstream branch.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
statusAheadBehind
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Shown when <a href="git-status.html">git-status(1)</a> computes the ahead/behind
|
|
counts for a local ref compared to its remote tracking ref,
|
|
and that calculation takes longer than expected. Will not
|
|
appear if <code>status.aheadBehind</code> is false or the option
|
|
<code>--no-ahead-behind</code> is given.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
statusHints
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Show directions on how to proceed from the current
|
|
state in the output of <a href="git-status.html">git-status(1)</a>, in
|
|
the template shown when writing commit messages in
|
|
<a href="git-commit.html">git-commit(1)</a>, and in the help message shown
|
|
by <a href="git-switch.html">git-switch(1)</a> or
|
|
<a href="git-checkout.html">git-checkout(1)</a> when switching branch.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
statusUoption
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Advise to consider using the <code>-u</code> option to <a href="git-status.html">git-status(1)</a>
|
|
when the command takes more than 2 seconds to enumerate untracked
|
|
files.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
commitBeforeMerge
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Advice shown when <a href="git-merge.html">git-merge(1)</a> refuses to
|
|
merge to avoid overwriting local changes.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
resetNoRefresh
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Advice to consider using the <code>--no-refresh</code> option to
|
|
<a href="git-reset.html">git-reset(1)</a> when the command takes more than 2 seconds
|
|
to refresh the index after reset.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
resolveConflict
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Advice shown by various commands when conflicts
|
|
prevent the operation from being performed.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
sequencerInUse
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Advice shown when a sequencer command is already in progress.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
implicitIdentity
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Advice on how to set your identity configuration when
|
|
your information is guessed from the system username and
|
|
domain name.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
detachedHead
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Advice shown when you used
|
|
<a href="git-switch.html">git-switch(1)</a> or <a href="git-checkout.html">git-checkout(1)</a>
|
|
to move to the detach HEAD state, to instruct how to
|
|
create a local branch after the fact.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
suggestDetachingHead
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Advice shown when <a href="git-switch.html">git-switch(1)</a> refuses to detach HEAD
|
|
without the explicit <code>--detach</code> option.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
checkoutAmbiguousRemoteBranchName
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Advice shown when the argument to
|
|
<a href="git-checkout.html">git-checkout(1)</a> and <a href="git-switch.html">git-switch(1)</a>
|
|
ambiguously resolves to a
|
|
remote tracking branch on more than one remote in
|
|
situations where an unambiguous argument would have
|
|
otherwise caused a remote-tracking branch to be
|
|
checked out. See the <code>checkout.defaultRemote</code>
|
|
configuration variable for how to set a given remote
|
|
to used by default in some situations where this
|
|
advice would be printed.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
amWorkDir
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Advice that shows the location of the patch file when
|
|
<a href="git-am.html">git-am(1)</a> fails to apply it.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
rmHints
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
In case of failure in the output of <a href="git-rm.html">git-rm(1)</a>,
|
|
show directions on how to proceed from the current state.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
addEmbeddedRepo
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Advice on what to do when you’ve accidentally added one
|
|
git repo inside of another.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
ignoredHook
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Advice shown if a hook is ignored because the hook is not
|
|
set as executable.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
waitingForEditor
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Print a message to the terminal whenever Git is waiting for
|
|
editor input from the user.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
nestedTag
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Advice shown if a user attempts to recursively tag a tag object.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
submoduleAlternateErrorStrategyDie
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Advice shown when a submodule.alternateErrorStrategy option
|
|
configured to "die" causes a fatal error.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
submodulesNotUpdated
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Advice shown when a user runs a submodule command that fails
|
|
because <code>git submodule update --init</code> was not run.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
addIgnoredFile
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Advice shown if a user attempts to add an ignored file to
|
|
the index.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
addEmptyPathspec
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Advice shown if a user runs the add command without providing
|
|
the pathspec parameter.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
updateSparsePath
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Advice shown when either <a href="git-add.html">git-add(1)</a> or <a href="git-rm.html">git-rm(1)</a>
|
|
is asked to update index entries outside the current sparse
|
|
checkout.
|
|
</p>
|
|
</dd>
|
|
</dl></div>
|
|
</div></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.fileMode
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Tells Git if the executable bit of files in the working tree
|
|
is to be honored.
|
|
</p>
|
|
<div class="paragraph"><p>Some filesystems lose the executable bit when a file that is
|
|
marked as executable is checked out, or checks out a
|
|
non-executable file with executable bit on.
|
|
<a href="git-clone.html">git-clone(1)</a> or <a href="git-init.html">git-init(1)</a> probe the filesystem
|
|
to see if it handles the executable bit correctly
|
|
and this variable is automatically set as necessary.</p></div>
|
|
<div class="paragraph"><p>A repository, however, may be on a filesystem that handles
|
|
the filemode correctly, and this variable is set to <em>true</em>
|
|
when created, but later may be made accessible from another
|
|
environment that loses the filemode (e.g. exporting ext4 via
|
|
CIFS mount, visiting a Cygwin created repository with
|
|
Git for Windows or Eclipse).
|
|
In such a case it may be necessary to set this variable to <em>false</em>.
|
|
See <a href="git-update-index.html">git-update-index(1)</a>.</p></div>
|
|
<div class="paragraph"><p>The default is true (when core.filemode is not specified in the config file).</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.hideDotFiles
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
(Windows-only) If true, mark newly-created directories and files whose
|
|
name starts with a dot as hidden. If <em>dotGitOnly</em>, only the <code>.git/</code>
|
|
directory is hidden, but no other files starting with a dot. The
|
|
default mode is <em>dotGitOnly</em>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.ignoreCase
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Internal variable which enables various workarounds to enable
|
|
Git to work better on filesystems that are not case sensitive,
|
|
like APFS, HFS+, FAT, NTFS, etc. For example, if a directory listing
|
|
finds "makefile" when Git expects "Makefile", Git will assume
|
|
it is really the same file, and continue to remember it as
|
|
"Makefile".
|
|
</p>
|
|
<div class="paragraph"><p>The default is false, except <a href="git-clone.html">git-clone(1)</a> or <a href="git-init.html">git-init(1)</a>
|
|
will probe and set core.ignoreCase true if appropriate when the repository
|
|
is created.</p></div>
|
|
<div class="paragraph"><p>Git relies on the proper configuration of this variable for your operating
|
|
and file system. Modifying this value may result in unexpected behavior.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.precomposeUnicode
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This option is only used by Mac OS implementation of Git.
|
|
When core.precomposeUnicode=true, Git reverts the unicode decomposition
|
|
of filenames done by Mac OS. This is useful when sharing a repository
|
|
between Mac OS and Linux or Windows.
|
|
(Git for Windows 1.7.10 or higher is needed, or Git under cygwin 1.7).
|
|
When false, file names are handled fully transparent by Git,
|
|
which is backward compatible with older versions of Git.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.protectHFS
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set to true, do not allow checkout of paths that would
|
|
be considered equivalent to <code>.git</code> on an HFS+ filesystem.
|
|
Defaults to <code>true</code> on Mac OS, and <code>false</code> elsewhere.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.protectNTFS
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set to true, do not allow checkout of paths that would
|
|
cause problems with the NTFS filesystem, e.g. conflict with
|
|
8.3 "short" names.
|
|
Defaults to <code>true</code> on Windows, and <code>false</code> elsewhere.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.fsmonitor
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set to true, enable the built-in file system monitor
|
|
daemon for this working directory (<a href="git-fsmonitor--daemon.html">git-fsmonitor--daemon(1)</a>).
|
|
</p>
|
|
<div class="paragraph"><p>Like hook-based file system monitors, the built-in file system monitor
|
|
can speed up Git commands that need to refresh the Git index
|
|
(e.g. <code>git status</code>) in a working directory with many files. The
|
|
built-in monitor eliminates the need to install and maintain an
|
|
external third-party tool.</p></div>
|
|
<div class="paragraph"><p>The built-in file system monitor is currently available only on a
|
|
limited set of supported platforms. Currently, this includes Windows
|
|
and MacOS.</p></div>
|
|
<div class="literalblock">
|
|
<div class="content">
|
|
<pre><code>Otherwise, this variable contains the pathname of the "fsmonitor"
|
|
hook command.</code></pre>
|
|
</div></div>
|
|
<div class="paragraph"><p>This hook command is used to identify all files that may have changed
|
|
since the requested date/time. This information is used to speed up
|
|
git by avoiding unnecessary scanning of files that have not changed.</p></div>
|
|
<div class="paragraph"><p>See the "fsmonitor-watchman" section of <a href="githooks.html">githooks(5)</a>.</p></div>
|
|
<div class="paragraph"><p>Note that if you concurrently use multiple versions of Git, such
|
|
as one version on the command line and another version in an IDE
|
|
tool, that the definition of <code>core.fsmonitor</code> was extended to
|
|
allow boolean values in addition to hook pathnames. Git versions
|
|
2.35.1 and prior will not understand the boolean values and will
|
|
consider the "true" or "false" values as hook pathnames to be
|
|
invoked. Git versions 2.26 thru 2.35.1 default to hook protocol
|
|
V2 and will fall back to no fsmonitor (full scan). Git versions
|
|
prior to 2.26 default to hook protocol V1 and will silently
|
|
assume there were no changes to report (no scan), so status
|
|
commands may report incomplete results. For this reason, it is
|
|
best to upgrade all of your Git versions before using the built-in
|
|
file system monitor.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.fsmonitorHookVersion
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Sets the protocol version to be used when invoking the
|
|
"fsmonitor" hook.
|
|
</p>
|
|
<div class="paragraph"><p>There are currently versions 1 and 2. When this is not set,
|
|
version 2 will be tried first and if it fails then version 1
|
|
will be tried. Version 1 uses a timestamp as input to determine
|
|
which files have changes since that time but some monitors
|
|
like Watchman have race conditions when used with a timestamp.
|
|
Version 2 uses an opaque string so that the monitor can return
|
|
something that can be used to determine what files have changed
|
|
without race conditions.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.trustctime
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If false, the ctime differences between the index and the
|
|
working tree are ignored; useful when the inode change time
|
|
is regularly modified by something outside Git (file system
|
|
crawlers and some backup systems).
|
|
See <a href="git-update-index.html">git-update-index(1)</a>. True by default.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.splitIndex
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If true, the split-index feature of the index will be used.
|
|
See <a href="git-update-index.html">git-update-index(1)</a>. False by default.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.untrackedCache
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Determines what to do about the untracked cache feature of the
|
|
index. It will be kept, if this variable is unset or set to
|
|
<code>keep</code>. It will automatically be added if set to <code>true</code>. And
|
|
it will automatically be removed, if set to <code>false</code>. Before
|
|
setting it to <code>true</code>, you should check that mtime is working
|
|
properly on your system.
|
|
See <a href="git-update-index.html">git-update-index(1)</a>. <code>keep</code> by default, unless
|
|
<code>feature.manyFiles</code> is enabled which sets this setting to
|
|
<code>true</code> by default.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.checkStat
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When missing or is set to <code>default</code>, many fields in the stat
|
|
structure are checked to detect if a file has been modified
|
|
since Git looked at it. When this configuration variable is
|
|
set to <code>minimal</code>, sub-second part of mtime and ctime, the
|
|
uid and gid of the owner of the file, the inode number (and
|
|
the device number, if Git was compiled to use it), are
|
|
excluded from the check among these fields, leaving only the
|
|
whole-second part of mtime (and ctime, if <code>core.trustCtime</code>
|
|
is set) and the filesize to be checked.
|
|
</p>
|
|
<div class="paragraph"><p>There are implementations of Git that do not leave usable values in
|
|
some fields (e.g. JGit); by excluding these fields from the
|
|
comparison, the <code>minimal</code> mode may help interoperability when the
|
|
same repository is used by these other systems at the same time.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.quotePath
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Commands that output paths (e.g. <em>ls-files</em>, <em>diff</em>), will
|
|
quote "unusual" characters in the pathname by enclosing the
|
|
pathname in double-quotes and escaping those characters with
|
|
backslashes in the same way C escapes control characters (e.g.
|
|
<code>\t</code> for TAB, <code>\n</code> for LF, <code>\\</code> for backslash) or bytes with
|
|
values larger than 0x80 (e.g. octal <code>\302\265</code> for "micro" in
|
|
UTF-8). If this variable is set to false, bytes higher than
|
|
0x80 are not considered "unusual" any more. Double-quotes,
|
|
backslash and control characters are always escaped regardless
|
|
of the setting of this variable. A simple space character is
|
|
not considered "unusual". Many commands can output pathnames
|
|
completely verbatim using the <code>-z</code> option. The default value
|
|
is true.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.eol
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Sets the line ending type to use in the working directory for
|
|
files that are marked as text (either by having the <code>text</code>
|
|
attribute set, or by having <code>text=auto</code> and Git auto-detecting
|
|
the contents as text).
|
|
Alternatives are <em>lf</em>, <em>crlf</em> and <em>native</em>, which uses the platform’s
|
|
native line ending. The default value is <code>native</code>. See
|
|
<a href="gitattributes.html">gitattributes(5)</a> for more information on end-of-line
|
|
conversion. Note that this value is ignored if <code>core.autocrlf</code>
|
|
is set to <code>true</code> or <code>input</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.safecrlf
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If true, makes Git check if converting <code>CRLF</code> is reversible when
|
|
end-of-line conversion is active. Git will verify if a command
|
|
modifies a file in the work tree either directly or indirectly.
|
|
For example, committing a file followed by checking out the
|
|
same file should yield the original file in the work tree. If
|
|
this is not the case for the current setting of
|
|
<code>core.autocrlf</code>, Git will reject the file. The variable can
|
|
be set to "warn", in which case Git will only warn about an
|
|
irreversible conversion but continue the operation.
|
|
</p>
|
|
<div class="paragraph"><p>CRLF conversion bears a slight chance of corrupting data.
|
|
When it is enabled, Git will convert CRLF to LF during commit and LF to
|
|
CRLF during checkout. A file that contains a mixture of LF and
|
|
CRLF before the commit cannot be recreated by Git. For text
|
|
files this is the right thing to do: it corrects line endings
|
|
such that we have only LF line endings in the repository.
|
|
But for binary files that are accidentally classified as text the
|
|
conversion can corrupt data.</p></div>
|
|
<div class="paragraph"><p>If you recognize such corruption early you can easily fix it by
|
|
setting the conversion type explicitly in .gitattributes. Right
|
|
after committing you still have the original file in your work
|
|
tree and this file is not yet corrupted. You can explicitly tell
|
|
Git that this file is binary and Git will handle the file
|
|
appropriately.</p></div>
|
|
<div class="paragraph"><p>Unfortunately, the desired effect of cleaning up text files with
|
|
mixed line endings and the undesired effect of corrupting binary
|
|
files cannot be distinguished. In both cases CRLFs are removed
|
|
in an irreversible way. For text files this is the right thing
|
|
to do because CRLFs are line endings, while for binary files
|
|
converting CRLFs corrupts data.</p></div>
|
|
<div class="paragraph"><p>Note, this safety check does not mean that a checkout will generate a
|
|
file identical to the original file for a different setting of
|
|
<code>core.eol</code> and <code>core.autocrlf</code>, but only for the current one. For
|
|
example, a text file with <code>LF</code> would be accepted with <code>core.eol=lf</code>
|
|
and could later be checked out with <code>core.eol=crlf</code>, in which case the
|
|
resulting file would contain <code>CRLF</code>, although the original file
|
|
contained <code>LF</code>. However, in both work trees the line endings would be
|
|
consistent, that is either all <code>LF</code> or all <code>CRLF</code>, but never mixed. A
|
|
file with mixed line endings would be reported by the <code>core.safecrlf</code>
|
|
mechanism.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.autocrlf
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Setting this variable to "true" is the same as setting
|
|
the <code>text</code> attribute to "auto" on all files and core.eol to "crlf".
|
|
Set to true if you want to have <code>CRLF</code> line endings in your
|
|
working directory and the repository has LF line endings.
|
|
This variable can be set to <em>input</em>,
|
|
in which case no output conversion is performed.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.checkRoundtripEncoding
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A comma and/or whitespace separated list of encodings that Git
|
|
performs UTF-8 round trip checks on if they are used in an
|
|
<code>working-tree-encoding</code> attribute (see <a href="gitattributes.html">gitattributes(5)</a>).
|
|
The default value is <code>SHIFT-JIS</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.symlinks
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If false, symbolic links are checked out as small plain files that
|
|
contain the link text. <a href="git-update-index.html">git-update-index(1)</a> and
|
|
<a href="git-add.html">git-add(1)</a> will not change the recorded type to regular
|
|
file. Useful on filesystems like FAT that do not support
|
|
symbolic links.
|
|
</p>
|
|
<div class="paragraph"><p>The default is true, except <a href="git-clone.html">git-clone(1)</a> or <a href="git-init.html">git-init(1)</a>
|
|
will probe and set core.symlinks false if appropriate when the repository
|
|
is created.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.gitProxy
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A "proxy command" to execute (as <em>command host port</em>) instead
|
|
of establishing direct connection to the remote server when
|
|
using the Git protocol for fetching. If the variable value is
|
|
in the "COMMAND for DOMAIN" format, the command is applied only
|
|
on hostnames ending with the specified domain string. This variable
|
|
may be set multiple times and is matched in the given order;
|
|
the first match wins.
|
|
</p>
|
|
<div class="paragraph"><p>Can be overridden by the <code>GIT_PROXY_COMMAND</code> environment variable
|
|
(which always applies universally, without the special "for"
|
|
handling).</p></div>
|
|
<div class="paragraph"><p>The special string <code>none</code> can be used as the proxy command to
|
|
specify that no proxy be used for a given domain pattern.
|
|
This is useful for excluding servers inside a firewall from
|
|
proxy use, while defaulting to a common proxy for external domains.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.sshCommand
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If this variable is set, <code>git fetch</code> and <code>git push</code> will
|
|
use the specified command instead of <code>ssh</code> when they need to
|
|
connect to a remote system. The command is in the same form as
|
|
the <code>GIT_SSH_COMMAND</code> environment variable and is overridden
|
|
when the environment variable is set.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.ignoreStat
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If true, Git will avoid using lstat() calls to detect if files have
|
|
changed by setting the "assume-unchanged" bit for those tracked files
|
|
which it has updated identically in both the index and working tree.
|
|
</p>
|
|
<div class="paragraph"><p>When files are modified outside of Git, the user will need to stage
|
|
the modified files explicitly (e.g. see <em>Examples</em> section in
|
|
<a href="git-update-index.html">git-update-index(1)</a>).
|
|
Git will not normally detect changes to those files.</p></div>
|
|
<div class="paragraph"><p>This is useful on systems where lstat() calls are very slow, such as
|
|
CIFS/Microsoft Windows.</p></div>
|
|
<div class="paragraph"><p>False by default.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.preferSymlinkRefs
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Instead of the default "symref" format for HEAD
|
|
and other symbolic reference files, use symbolic links.
|
|
This is sometimes needed to work with old scripts that
|
|
expect HEAD to be a symbolic link.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.alternateRefsCommand
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When advertising tips of available history from an alternate, use the shell to
|
|
execute the specified command instead of <a href="git-for-each-ref.html">git-for-each-ref(1)</a>. The
|
|
first argument is the absolute path of the alternate. Output must contain one
|
|
hex object id per line (i.e., the same as produced by <code>git for-each-ref
|
|
--format='%(objectname)'</code>).
|
|
</p>
|
|
<div class="paragraph"><p>Note that you cannot generally put <code>git for-each-ref</code> directly into the config
|
|
value, as it does not take a repository path as an argument (but you can wrap
|
|
the command above in a shell script).</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.alternateRefsPrefixes
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When listing references from an alternate, list only references that begin
|
|
with the given prefix. Prefixes match as if they were given as arguments to
|
|
<a href="git-for-each-ref.html">git-for-each-ref(1)</a>. To list multiple prefixes, separate them with
|
|
whitespace. If <code>core.alternateRefsCommand</code> is set, setting
|
|
<code>core.alternateRefsPrefixes</code> has no effect.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.bare
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If true this repository is assumed to be <em>bare</em> and has no
|
|
working directory associated with it. If this is the case a
|
|
number of commands that require a working directory will be
|
|
disabled, such as <a href="git-add.html">git-add(1)</a> or <a href="git-merge.html">git-merge(1)</a>.
|
|
</p>
|
|
<div class="paragraph"><p>This setting is automatically guessed by <a href="git-clone.html">git-clone(1)</a> or
|
|
<a href="git-init.html">git-init(1)</a> when the repository was created. By default a
|
|
repository that ends in "/.git" is assumed to be not bare (bare =
|
|
false), while all other repositories are assumed to be bare (bare
|
|
= true).</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.worktree
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Set the path to the root of the working tree.
|
|
If <code>GIT_COMMON_DIR</code> environment variable is set, core.worktree
|
|
is ignored and not used for determining the root of working tree.
|
|
This can be overridden by the <code>GIT_WORK_TREE</code> environment
|
|
variable and the <code>--work-tree</code> command-line option.
|
|
The value can be an absolute path or relative to the path to
|
|
the .git directory, which is either specified by --git-dir
|
|
or GIT_DIR, or automatically discovered.
|
|
If --git-dir or GIT_DIR is specified but none of
|
|
--work-tree, GIT_WORK_TREE and core.worktree is specified,
|
|
the current working directory is regarded as the top level
|
|
of your working tree.
|
|
</p>
|
|
<div class="paragraph"><p>Note that this variable is honored even when set in a configuration
|
|
file in a ".git" subdirectory of a directory and its value differs
|
|
from the latter directory (e.g. "/path/to/.git/config" has
|
|
core.worktree set to "/different/path"), which is most likely a
|
|
misconfiguration. Running Git commands in the "/path/to" directory will
|
|
still use "/different/path" as the root of the work tree and can cause
|
|
confusion unless you know what you are doing (e.g. you are creating a
|
|
read-only snapshot of the same index to a location different from the
|
|
repository’s usual working tree).</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.logAllRefUpdates
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Enable the reflog. Updates to a ref <ref> is logged to the file
|
|
"<code>$GIT_DIR/logs/<ref></code>", by appending the new and old
|
|
SHA-1, the date/time and the reason of the update, but
|
|
only when the file exists. If this configuration
|
|
variable is set to <code>true</code>, missing "<code>$GIT_DIR/logs/<ref></code>"
|
|
file is automatically created for branch heads (i.e. under
|
|
<code>refs/heads/</code>), remote refs (i.e. under <code>refs/remotes/</code>),
|
|
note refs (i.e. under <code>refs/notes/</code>), and the symbolic ref <code>HEAD</code>.
|
|
If it is set to <code>always</code>, then a missing reflog is automatically
|
|
created for any ref under <code>refs/</code>.
|
|
</p>
|
|
<div class="paragraph"><p>This information can be used to determine what commit
|
|
was the tip of a branch "2 days ago".</p></div>
|
|
<div class="paragraph"><p>This value is true by default in a repository that has
|
|
a working directory associated with it, and false by
|
|
default in a bare repository.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.repositoryFormatVersion
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Internal variable identifying the repository format and layout
|
|
version.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.sharedRepository
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When <em>group</em> (or <em>true</em>), the repository is made shareable between
|
|
several users in a group (making sure all the files and objects are
|
|
group-writable). When <em>all</em> (or <em>world</em> or <em>everybody</em>), the
|
|
repository will be readable by all users, additionally to being
|
|
group-shareable. When <em>umask</em> (or <em>false</em>), Git will use permissions
|
|
reported by umask(2). When <em>0xxx</em>, where <em>0xxx</em> is an octal number,
|
|
files in the repository will have this mode value. <em>0xxx</em> will override
|
|
user’s umask value (whereas the other options will only override
|
|
requested parts of the user’s umask value). Examples: <em>0660</em> will make
|
|
the repo read/write-able for the owner and group, but inaccessible to
|
|
others (equivalent to <em>group</em> unless umask is e.g. <em>0022</em>). <em>0640</em> is a
|
|
repository that is group-readable but not group-writable.
|
|
See <a href="git-init.html">git-init(1)</a>. False by default.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.warnAmbiguousRefs
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If true, Git will warn you if the ref name you passed it is ambiguous
|
|
and might match multiple refs in the repository. True by default.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.compression
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
An integer -1..9, indicating a default compression level.
|
|
-1 is the zlib default. 0 means no compression,
|
|
and 1..9 are various speed/size tradeoffs, 9 being slowest.
|
|
If set, this provides a default to other compression variables,
|
|
such as <code>core.looseCompression</code> and <code>pack.compression</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.looseCompression
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
An integer -1..9, indicating the compression level for objects that
|
|
are not in a pack file. -1 is the zlib default. 0 means no
|
|
compression, and 1..9 are various speed/size tradeoffs, 9 being
|
|
slowest. If not set, defaults to core.compression. If that is
|
|
not set, defaults to 1 (best speed).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.packedGitWindowSize
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Number of bytes of a pack file to map into memory in a
|
|
single mapping operation. Larger window sizes may allow
|
|
your system to process a smaller number of large pack files
|
|
more quickly. Smaller window sizes will negatively affect
|
|
performance due to increased calls to the operating system’s
|
|
memory manager, but may improve performance when accessing
|
|
a large number of large pack files.
|
|
</p>
|
|
<div class="paragraph"><p>Default is 1 MiB if NO_MMAP was set at compile time, otherwise 32
|
|
MiB on 32 bit platforms and 1 GiB on 64 bit platforms. This should
|
|
be reasonable for all users/operating systems. You probably do
|
|
not need to adjust this value.</p></div>
|
|
<div class="paragraph"><p>Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.packedGitLimit
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Maximum number of bytes to map simultaneously into memory
|
|
from pack files. If Git needs to access more than this many
|
|
bytes at once to complete an operation it will unmap existing
|
|
regions to reclaim virtual address space within the process.
|
|
</p>
|
|
<div class="paragraph"><p>Default is 256 MiB on 32 bit platforms and 32 TiB (effectively
|
|
unlimited) on 64 bit platforms.
|
|
This should be reasonable for all users/operating systems, except on
|
|
the largest projects. You probably do not need to adjust this value.</p></div>
|
|
<div class="paragraph"><p>Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.deltaBaseCacheLimit
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Maximum number of bytes per thread to reserve for caching base objects
|
|
that may be referenced by multiple deltified objects. By storing the
|
|
entire decompressed base objects in a cache Git is able
|
|
to avoid unpacking and decompressing frequently used base
|
|
objects multiple times.
|
|
</p>
|
|
<div class="paragraph"><p>Default is 96 MiB on all platforms. This should be reasonable
|
|
for all users/operating systems, except on the largest projects.
|
|
You probably do not need to adjust this value.</p></div>
|
|
<div class="paragraph"><p>Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are supported.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.bigFileThreshold
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The size of files considered "big", which as discussed below
|
|
changes the behavior of numerous git commands, as well as how
|
|
such files are stored within the repository. The default is
|
|
512 MiB. Common unit suffixes of <em>k</em>, <em>m</em>, or <em>g</em> are
|
|
supported.
|
|
</p>
|
|
<div class="paragraph"><p>Files above the configured limit will be:</p></div>
|
|
<div class="ulist"><ul>
|
|
<li>
|
|
<p>
|
|
Stored deflated in packfiles, without attempting delta compression.
|
|
</p>
|
|
<div class="paragraph"><p>The default limit is primarily set with this use-case in mind. With it,
|
|
most projects will have their source code and other text files delta
|
|
compressed, but not larger binary media files.</p></div>
|
|
<div class="paragraph"><p>Storing large files without delta compression avoids excessive memory
|
|
usage, at the slight expense of increased disk usage.</p></div>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
Will be treated as if they were labeled "binary" (see
|
|
<a href="gitattributes.html">gitattributes(5)</a>). e.g. <a href="git-log.html">git-log(1)</a> and
|
|
<a href="git-diff.html">git-diff(1)</a> will not compute diffs for files above this limit.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
Will generally be streamed when written, which avoids excessive
|
|
memory usage, at the cost of some fixed overhead. Commands that make
|
|
use of this include <a href="git-archive.html">git-archive(1)</a>,
|
|
<a href="git-fast-import.html">git-fast-import(1)</a>, <a href="git-index-pack.html">git-index-pack(1)</a>,
|
|
<a href="git-unpack-objects.html">git-unpack-objects(1)</a> and <a href="git-fsck.html">git-fsck(1)</a>.
|
|
</p>
|
|
</li>
|
|
</ul></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.excludesFile
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specifies the pathname to the file that contains patterns to
|
|
describe paths that are not meant to be tracked, in addition
|
|
to <code>.gitignore</code> (per-directory) and <code>.git/info/exclude</code>.
|
|
Defaults to <code>$XDG_CONFIG_HOME/git/ignore</code>.
|
|
If <code>$XDG_CONFIG_HOME</code> is either not set or empty, <code>$HOME/.config/git/ignore</code>
|
|
is used instead. See <a href="gitignore.html">gitignore(5)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.askPass
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Some commands (e.g. svn and http interfaces) that interactively
|
|
ask for a password can be told to use an external program given
|
|
via the value of this variable. Can be overridden by the <code>GIT_ASKPASS</code>
|
|
environment variable. If not set, fall back to the value of the
|
|
<code>SSH_ASKPASS</code> environment variable or, failing that, a simple password
|
|
prompt. The external program shall be given a suitable prompt as
|
|
command-line argument and write the password on its STDOUT.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.attributesFile
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
In addition to <code>.gitattributes</code> (per-directory) and
|
|
<code>.git/info/attributes</code>, Git looks into this file for attributes
|
|
(see <a href="gitattributes.html">gitattributes(5)</a>). Path expansions are made the same
|
|
way as for <code>core.excludesFile</code>. Its default value is
|
|
<code>$XDG_CONFIG_HOME/git/attributes</code>. If <code>$XDG_CONFIG_HOME</code> is either not
|
|
set or empty, <code>$HOME/.config/git/attributes</code> is used instead.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.hooksPath
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
By default Git will look for your hooks in the
|
|
<code>$GIT_DIR/hooks</code> directory. Set this to different path,
|
|
e.g. <code>/etc/git/hooks</code>, and Git will try to find your hooks in
|
|
that directory, e.g. <code>/etc/git/hooks/pre-receive</code> instead of
|
|
in <code>$GIT_DIR/hooks/pre-receive</code>.
|
|
</p>
|
|
<div class="paragraph"><p>The path can be either absolute or relative. A relative path is
|
|
taken as relative to the directory where the hooks are run (see
|
|
the "DESCRIPTION" section of <a href="githooks.html">githooks(5)</a>).</p></div>
|
|
<div class="paragraph"><p>This configuration variable is useful in cases where you’d like to
|
|
centrally configure your Git hooks instead of configuring them on a
|
|
per-repository basis, or as a more flexible and centralized
|
|
alternative to having an <code>init.templateDir</code> where you’ve changed
|
|
default hooks.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.editor
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Commands such as <code>commit</code> and <code>tag</code> that let you edit
|
|
messages by launching an editor use the value of this
|
|
variable when it is set, and the environment variable
|
|
<code>GIT_EDITOR</code> is not set. See <a href="git-var.html">git-var(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.commentChar
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Commands such as <code>commit</code> and <code>tag</code> that let you edit
|
|
messages consider a line that begins with this character
|
|
commented, and removes them after the editor returns
|
|
(default <em>#</em>).
|
|
</p>
|
|
<div class="paragraph"><p>If set to "auto", <code>git-commit</code> would select a character that is not
|
|
the beginning character of any line in existing commit messages.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.filesRefLockTimeout
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The length of time, in milliseconds, to retry when trying to
|
|
lock an individual reference. Value 0 means not to retry at
|
|
all; -1 means to try indefinitely. Default is 100 (i.e.,
|
|
retry for 100ms).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.packedRefsTimeout
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The length of time, in milliseconds, to retry when trying to
|
|
lock the <code>packed-refs</code> file. Value 0 means not to retry at
|
|
all; -1 means to try indefinitely. Default is 1000 (i.e.,
|
|
retry for 1 second).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.pager
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Text viewer for use by Git commands (e.g., <em>less</em>). The value
|
|
is meant to be interpreted by the shell. The order of preference
|
|
is the <code>$GIT_PAGER</code> environment variable, then <code>core.pager</code>
|
|
configuration, then <code>$PAGER</code>, and then the default chosen at
|
|
compile time (usually <em>less</em>).
|
|
</p>
|
|
<div class="paragraph"><p>When the <code>LESS</code> environment variable is unset, Git sets it to <code>FRX</code>
|
|
(if <code>LESS</code> environment variable is set, Git does not change it at
|
|
all). If you want to selectively override Git’s default setting
|
|
for <code>LESS</code>, you can set <code>core.pager</code> to e.g. <code>less -S</code>. This will
|
|
be passed to the shell by Git, which will translate the final
|
|
command to <code>LESS=FRX less -S</code>. The environment does not set the
|
|
<code>S</code> option but the command line does, instructing less to truncate
|
|
long lines. Similarly, setting <code>core.pager</code> to <code>less -+F</code> will
|
|
deactivate the <code>F</code> option specified by the environment from the
|
|
command-line, deactivating the "quit if one screen" behavior of
|
|
<code>less</code>. One can specifically activate some flags for particular
|
|
commands: for example, setting <code>pager.blame</code> to <code>less -S</code> enables
|
|
line truncation only for <code>git blame</code>.</p></div>
|
|
<div class="paragraph"><p>Likewise, when the <code>LV</code> environment variable is unset, Git sets it
|
|
to <code>-c</code>. You can override this setting by exporting <code>LV</code> with
|
|
another value or setting <code>core.pager</code> to <code>lv +c</code>.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.whitespace
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A comma separated list of common whitespace problems to
|
|
notice. <em>git diff</em> will use <code>color.diff.whitespace</code> to
|
|
highlight them, and <em>git apply --whitespace=error</em> will
|
|
consider them as errors. You can prefix <code>-</code> to disable
|
|
any of them (e.g. <code>-trailing-space</code>):
|
|
</p>
|
|
<div class="ulist"><ul>
|
|
<li>
|
|
<p>
|
|
<code>blank-at-eol</code> treats trailing whitespaces at the end of the line
|
|
as an error (enabled by default).
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>space-before-tab</code> treats a space character that appears immediately
|
|
before a tab character in the initial indent part of the line as an
|
|
error (enabled by default).
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>indent-with-non-tab</code> treats a line that is indented with space
|
|
characters instead of the equivalent tabs as an error (not enabled by
|
|
default).
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>tab-in-indent</code> treats a tab character in the initial indent part of
|
|
the line as an error (not enabled by default).
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>blank-at-eof</code> treats blank lines added at the end of file as an error
|
|
(enabled by default).
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>trailing-space</code> is a short-hand to cover both <code>blank-at-eol</code> and
|
|
<code>blank-at-eof</code>.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>cr-at-eol</code> treats a carriage-return at the end of line as
|
|
part of the line terminator, i.e. with it, <code>trailing-space</code>
|
|
does not trigger if the character before such a carriage-return
|
|
is not a whitespace (not enabled by default).
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>tabwidth=<n></code> tells how many character positions a tab occupies; this
|
|
is relevant for <code>indent-with-non-tab</code> and when Git fixes <code>tab-in-indent</code>
|
|
errors. The default tab width is 8. Allowed values are 1 to 63.
|
|
</p>
|
|
</li>
|
|
</ul></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.fsync
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A comma-separated list of components of the repository that
|
|
should be hardened via the core.fsyncMethod when created or
|
|
modified. You can disable hardening of any component by
|
|
prefixing it with a <em>-</em>. Items that are not hardened may be
|
|
lost in the event of an unclean system shutdown. Unless you
|
|
have special requirements, it is recommended that you leave
|
|
this option empty or pick one of <code>committed</code>, <code>added</code>,
|
|
or <code>all</code>.
|
|
</p>
|
|
<div class="paragraph"><p>When this configuration is encountered, the set of components starts with
|
|
the platform default value, disabled components are removed, and additional
|
|
components are added. <code>none</code> resets the state so that the platform default
|
|
is ignored.</p></div>
|
|
<div class="paragraph"><p>The empty string resets the fsync configuration to the platform
|
|
default. The default on most platforms is equivalent to
|
|
<code>core.fsync=committed,-loose-object</code>, which has good performance,
|
|
but risks losing recent work in the event of an unclean system shutdown.</p></div>
|
|
<div class="ulist"><ul>
|
|
<li>
|
|
<p>
|
|
<code>none</code> clears the set of fsynced components.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>loose-object</code> hardens objects added to the repo in loose-object form.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>pack</code> hardens objects added to the repo in packfile form.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>pack-metadata</code> hardens packfile bitmaps and indexes.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>commit-graph</code> hardens the commit graph file.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>index</code> hardens the index when it is modified.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>objects</code> is an aggregate option that is equivalent to
|
|
<code>loose-object,pack</code>.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>reference</code> hardens references modified in the repo.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>derived-metadata</code> is an aggregate option that is equivalent to
|
|
<code>pack-metadata,commit-graph</code>.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>committed</code> is an aggregate option that is currently equivalent to
|
|
<code>objects</code>. This mode sacrifices some performance to ensure that work
|
|
that is committed to the repository with <code>git commit</code> or similar commands
|
|
is hardened.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>added</code> is an aggregate option that is currently equivalent to
|
|
<code>committed,index</code>. This mode sacrifices additional performance to
|
|
ensure that the results of commands like <code>git add</code> and similar operations
|
|
are hardened.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>all</code> is an aggregate option that syncs all individual components above.
|
|
</p>
|
|
</li>
|
|
</ul></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.fsyncMethod
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A value indicating the strategy Git will use to harden repository data
|
|
using fsync and related primitives.
|
|
</p>
|
|
<div class="ulist"><ul>
|
|
<li>
|
|
<p>
|
|
<code>fsync</code> uses the fsync() system call or platform equivalents.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>writeout-only</code> issues pagecache writeback requests, but depending on the
|
|
filesystem and storage hardware, data added to the repository may not be
|
|
durable in the event of a system crash. This is the default mode on macOS.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>batch</code> enables a mode that uses writeout-only flushes to stage multiple
|
|
updates in the disk writeback cache and then does a single full fsync of
|
|
a dummy file to trigger the disk cache flush at the end of the operation.
|
|
</p>
|
|
<div class="paragraph"><p>Currently <code>batch</code> mode only applies to loose-object files. Other repository
|
|
data is made durable as if <code>fsync</code> was specified. This mode is expected to
|
|
be as safe as <code>fsync</code> on macOS for repos stored on HFS+ or APFS filesystems
|
|
and on Windows for repos stored on NTFS or ReFS filesystems.</p></div>
|
|
</li>
|
|
</ul></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.fsyncObjectFiles
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This boolean will enable <em>fsync()</em> when writing object files.
|
|
This setting is deprecated. Use core.fsync instead.
|
|
</p>
|
|
<div class="paragraph"><p>This setting affects data added to the Git repository in loose-object
|
|
form. When set to true, Git will issue an fsync or similar system call
|
|
to flush caches so that loose-objects remain consistent in the face
|
|
of a unclean system shutdown.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.preloadIndex
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Enable parallel index preload for operations like <em>git diff</em>
|
|
</p>
|
|
<div class="paragraph"><p>This can speed up operations like <em>git diff</em> and <em>git status</em> especially
|
|
on filesystems like NFS that have weak caching semantics and thus
|
|
relatively high IO latencies. When enabled, Git will do the
|
|
index comparison to the filesystem data in parallel, allowing
|
|
overlapping IO’s. Defaults to true.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.unsetenvvars
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Windows-only: comma-separated list of environment variables'
|
|
names that need to be unset before spawning any other process.
|
|
Defaults to <code>PERL5LIB</code> to account for the fact that Git for
|
|
Windows insists on using its own Perl interpreter.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.restrictinheritedhandles
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Windows-only: override whether spawned processes inherit only standard
|
|
file handles (<code>stdin</code>, <code>stdout</code> and <code>stderr</code>) or all handles. Can be
|
|
<code>auto</code>, <code>true</code> or <code>false</code>. Defaults to <code>auto</code>, which means <code>true</code> on
|
|
Windows 7 and later, and <code>false</code> on older Windows versions.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.createObject
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
You can set this to <em>link</em>, in which case a hardlink followed by
|
|
a delete of the source are used to make sure that object creation
|
|
will not overwrite existing objects.
|
|
</p>
|
|
<div class="paragraph"><p>On some file system/operating system combinations, this is unreliable.
|
|
Set this config setting to <em>rename</em> there; However, This will remove the
|
|
check that makes sure that existing object files will not get overwritten.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.notesRef
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When showing commit messages, also show notes which are stored in
|
|
the given ref. The ref must be fully qualified. If the given
|
|
ref does not exist, it is not an error but means that no
|
|
notes should be printed.
|
|
</p>
|
|
<div class="paragraph"><p>This setting defaults to "refs/notes/commits", and it can be overridden by
|
|
the <code>GIT_NOTES_REF</code> environment variable. See <a href="git-notes.html">git-notes(1)</a>.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.commitGraph
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If true, then git will read the commit-graph file (if it exists)
|
|
to parse the graph structure of commits. Defaults to true. See
|
|
<a href="git-commit-graph.html">git-commit-graph(1)</a> for more information.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.useReplaceRefs
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set to <code>false</code>, behave as if the <code>--no-replace-objects</code>
|
|
option was given on the command line. See <a href="git.html">git(1)</a> and
|
|
<a href="git-replace.html">git-replace(1)</a> for more information.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.multiPackIndex
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use the multi-pack-index file to track multiple packfiles using a
|
|
single index. See <a href="git-multi-pack-index.html">git-multi-pack-index(1)</a> for more
|
|
information. Defaults to true.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.sparseCheckout
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Enable "sparse checkout" feature. See <a href="git-sparse-checkout.html">git-sparse-checkout(1)</a>
|
|
for more information.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.sparseCheckoutCone
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Enables the "cone mode" of the sparse checkout feature. When the
|
|
sparse-checkout file contains a limited set of patterns, this
|
|
mode provides significant performance advantages. The "non-cone
|
|
mode" can be requested to allow specifying more flexible
|
|
patterns by setting this variable to <em>false</em>. See
|
|
<a href="git-sparse-checkout.html">git-sparse-checkout(1)</a> for more information.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
core.abbrev
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Set the length object names are abbreviated to. If
|
|
unspecified or set to "auto", an appropriate value is
|
|
computed based on the approximate number of packed objects
|
|
in your repository, which hopefully is enough for
|
|
abbreviated object names to stay unique for some time.
|
|
If set to "no", no abbreviation is made and the object names
|
|
are shown in their full length.
|
|
The minimum length is 4.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
add.ignoreErrors
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
add.ignore-errors (deprecated)
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Tells <em>git add</em> to continue adding files when some files cannot be
|
|
added due to indexing errors. Equivalent to the <code>--ignore-errors</code>
|
|
option of <a href="git-add.html">git-add(1)</a>. <code>add.ignore-errors</code> is deprecated,
|
|
as it does not follow the usual naming convention for configuration
|
|
variables.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
add.interactive.useBuiltin
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Set to <code>false</code> to fall back to the original Perl implementation of
|
|
the interactive version of <a href="git-add.html">git-add(1)</a> instead of the built-in
|
|
version. Is <code>true</code> by default.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
alias.*
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Command aliases for the <a href="git.html">git(1)</a> command wrapper - e.g.
|
|
after defining <code>alias.last = cat-file commit HEAD</code>, the invocation
|
|
<code>git last</code> is equivalent to <code>git cat-file commit HEAD</code>. To avoid
|
|
confusion and troubles with script usage, aliases that
|
|
hide existing Git commands are ignored. Arguments are split by
|
|
spaces, the usual shell quoting and escaping is supported.
|
|
A quote pair or a backslash can be used to quote them.
|
|
</p>
|
|
<div class="paragraph"><p>Note that the first word of an alias does not necessarily have to be a
|
|
command. It can be a command-line option that will be passed into the
|
|
invocation of <code>git</code>. In particular, this is useful when used with <code>-c</code>
|
|
to pass in one-time configurations or <code>-p</code> to force pagination. For example,
|
|
<code>loud-rebase = -c commit.verbose=true rebase</code> can be defined such that
|
|
running <code>git loud-rebase</code> would be equivalent to
|
|
<code>git -c commit.verbose=true rebase</code>. Also, <code>ps = -p status</code> would be a
|
|
helpful alias since <code>git ps</code> would paginate the output of <code>git status</code>
|
|
where the original command does not.</p></div>
|
|
<div class="paragraph"><p>If the alias expansion is prefixed with an exclamation point,
|
|
it will be treated as a shell command. For example, defining
|
|
<code>alias.new = !gitk --all --not ORIG_HEAD</code>, the invocation
|
|
<code>git new</code> is equivalent to running the shell command
|
|
<code>gitk --all --not ORIG_HEAD</code>. Note that shell commands will be
|
|
executed from the top-level directory of a repository, which may
|
|
not necessarily be the current directory.
|
|
<code>GIT_PREFIX</code> is set as returned by running <code>git rev-parse --show-prefix</code>
|
|
from the original current directory. See <a href="git-rev-parse.html">git-rev-parse(1)</a>.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
am.keepcr
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If true, git-am will call git-mailsplit for patches in mbox format
|
|
with parameter <code>--keep-cr</code>. In this case git-mailsplit will
|
|
not remove <code>\r</code> from lines ending with <code>\r\n</code>. Can be overridden
|
|
by giving <code>--no-keep-cr</code> from the command line.
|
|
See <a href="git-am.html">git-am(1)</a>, <a href="git-mailsplit.html">git-mailsplit(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
am.threeWay
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
By default, <code>git am</code> will fail if the patch does not apply cleanly. When
|
|
set to true, this setting tells <code>git am</code> to fall back on 3-way merge if
|
|
the patch records the identity of blobs it is supposed to apply to and
|
|
we have those blobs available locally (equivalent to giving the <code>--3way</code>
|
|
option from the command line). Defaults to <code>false</code>.
|
|
See <a href="git-am.html">git-am(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
apply.ignoreWhitespace
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When set to <em>change</em>, tells <em>git apply</em> to ignore changes in
|
|
whitespace, in the same way as the <code>--ignore-space-change</code>
|
|
option.
|
|
When set to one of: no, none, never, false 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 whitespaces, in the same way
|
|
as the <code>--whitespace</code> option. See <a href="git-apply.html">git-apply(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
blame.blankBoundary
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Show blank commit object name for boundary commits in
|
|
<a href="git-blame.html">git-blame(1)</a>. This option defaults to false.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
blame.coloring
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This determines the coloring scheme to be applied to blame
|
|
output. It can be <em>repeatedLines</em>, <em>highlightRecent</em>,
|
|
or <em>none</em> which is the default.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
blame.date
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specifies the format used to output dates in <a href="git-blame.html">git-blame(1)</a>.
|
|
If unset the iso format is used. For supported values,
|
|
see the discussion of the <code>--date</code> option at <a href="git-log.html">git-log(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
blame.showEmail
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Show the author email instead of author name in <a href="git-blame.html">git-blame(1)</a>.
|
|
This option defaults to false.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
blame.showRoot
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Do not treat root commits as boundaries in <a href="git-blame.html">git-blame(1)</a>.
|
|
This option defaults to false.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
blame.ignoreRevsFile
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Ignore revisions listed in the file, one unabbreviated object name per
|
|
line, in <a href="git-blame.html">git-blame(1)</a>. Whitespace and comments beginning with
|
|
<code>#</code> are ignored. This option may be repeated multiple times. Empty
|
|
file names will reset the list of ignored revisions. This option will
|
|
be handled before the command line option <code>--ignore-revs-file</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
blame.markUnblamableLines
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Mark lines that were changed by an ignored revision that we could not
|
|
attribute to another commit with a <em>*</em> in the output of
|
|
<a href="git-blame.html">git-blame(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
blame.markIgnoredLines
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Mark lines that were changed by an ignored revision that we attributed to
|
|
another commit with a <em>?</em> in the output of <a href="git-blame.html">git-blame(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
branch.autoSetupMerge
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Tells <em>git branch</em>, <em>git switch</em> and <em>git checkout</em> to set up new branches
|
|
so that <a href="git-pull.html">git-pull(1)</a> will appropriately merge from the
|
|
starting point branch. Note that even if this option is not set,
|
|
this behavior can be chosen per-branch using the <code>--track</code>
|
|
and <code>--no-track</code> options. The valid settings are: <code>false</code> — no
|
|
automatic setup is done; <code>true</code> — automatic setup is done when the
|
|
starting point is a remote-tracking branch; <code>always</code> —  automatic setup is done when the starting point is either a
|
|
local branch or remote-tracking branch; <code>inherit</code> — if the starting point
|
|
has a tracking configuration, it is copied to the new
|
|
branch; <code>simple</code> — automatic setup is done only when the starting point
|
|
is a remote-tracking branch and the new branch has the same name as the
|
|
remote branch. This option defaults to true.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
branch.autoSetupRebase
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When a new branch is created with <em>git branch</em>, <em>git switch</em> or <em>git checkout</em>
|
|
that tracks another branch, this variable tells Git to set
|
|
up pull to rebase instead of merge (see "branch.<name>.rebase").
|
|
When <code>never</code>, rebase is never automatically set to true.
|
|
When <code>local</code>, rebase is set to true for tracked branches of
|
|
other local branches.
|
|
When <code>remote</code>, rebase is set to true for tracked branches of
|
|
remote-tracking branches.
|
|
When <code>always</code>, rebase will be set to true for all tracking
|
|
branches.
|
|
See "branch.autoSetupMerge" for details on how to set up a
|
|
branch to track another branch.
|
|
This option defaults to never.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
branch.sort
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This variable controls the sort ordering of branches when displayed by
|
|
<a href="git-branch.html">git-branch(1)</a>. Without the "--sort=<value>" option provided, the
|
|
value of this variable will be used as the default.
|
|
See <a href="git-for-each-ref.html">git-for-each-ref(1)</a> field names for valid values.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
branch.<name>.remote
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When on branch <name>, it tells <em>git fetch</em> and <em>git push</em>
|
|
which remote to fetch from/push to. The remote to push to
|
|
may be overridden with <code>remote.pushDefault</code> (for all branches).
|
|
The remote to push to, for the current branch, may be further
|
|
overridden by <code>branch.<name>.pushRemote</code>. If no remote is
|
|
configured, or if you are not on any branch and there is more than
|
|
one remote defined in the repository, it defaults to <code>origin</code> for
|
|
fetching and <code>remote.pushDefault</code> for pushing.
|
|
Additionally, <code>.</code> (a period) is the current local repository
|
|
(a dot-repository), see <code>branch.<name>.merge</code>'s final note below.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
branch.<name>.pushRemote
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When on branch <name>, it overrides <code>branch.<name>.remote</code> for
|
|
pushing. It also overrides <code>remote.pushDefault</code> for pushing
|
|
from branch <name>. When you pull from one place (e.g. your
|
|
upstream) and push to another place (e.g. your own publishing
|
|
repository), you would want to set <code>remote.pushDefault</code> to
|
|
specify the remote to push to for all branches, and use this
|
|
option to override it for a specific branch.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
branch.<name>.merge
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Defines, together with branch.<name>.remote, the upstream branch
|
|
for the given branch. It tells <em>git fetch</em>/<em>git pull</em>/<em>git rebase</em> which
|
|
branch to merge and can also affect <em>git push</em> (see push.default).
|
|
When in branch <name>, it tells <em>git fetch</em> the default
|
|
refspec to be marked for merging in FETCH_HEAD. The value is
|
|
handled like the remote part of a refspec, and must match a
|
|
ref which is fetched from the remote given by
|
|
"branch.<name>.remote".
|
|
The merge information is used by <em>git pull</em> (which at first calls
|
|
<em>git fetch</em>) to lookup the default branch for merging. Without
|
|
this option, <em>git pull</em> defaults to merge the first refspec fetched.
|
|
Specify multiple values to get an octopus merge.
|
|
If you wish to setup <em>git pull</em> so that it merges into <name> from
|
|
another branch in the local repository, you can point
|
|
branch.<name>.merge to the desired branch, and use the relative path
|
|
setting <code>.</code> (a period) for branch.<name>.remote.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
branch.<name>.mergeOptions
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Sets default options for merging into branch <name>. The syntax and
|
|
supported options are the same as those of <a href="git-merge.html">git-merge(1)</a>, but
|
|
option values containing whitespace characters are currently not
|
|
supported.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
branch.<name>.rebase
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When true, rebase the branch <name> on top of the fetched branch,
|
|
instead of merging the default branch from the default remote when
|
|
"git pull" is run. See "pull.rebase" for doing this in a non
|
|
branch-specific manner.
|
|
</p>
|
|
<div class="paragraph"><p>When <code>merges</code> (or just <em>m</em>), pass the <code>--rebase-merges</code> option to <em>git rebase</em>
|
|
so that the local merge commits are included in the rebase (see
|
|
<a href="git-rebase.html">git-rebase(1)</a> for details).</p></div>
|
|
<div class="paragraph"><p>When the value is <code>interactive</code> (or just <em>i</em>), the rebase is run in interactive
|
|
mode.</p></div>
|
|
<div class="paragraph"><p><strong>NOTE</strong>: this is a possibly dangerous operation; do <strong>not</strong> use
|
|
it unless you understand the implications (see <a href="git-rebase.html">git-rebase(1)</a>
|
|
for details).</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
branch.<name>.description
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Branch description, can be edited with
|
|
<code>git branch --edit-description</code>. Branch description is
|
|
automatically added in the format-patch cover letter or
|
|
request-pull summary.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
browser.<tool>.cmd
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specify the command to invoke the specified browser. The
|
|
specified command is evaluated in shell with the URLs passed
|
|
as arguments. (See <a href="git-web--browse.html">git-web--browse(1)</a>.)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
browser.<tool>.path
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Override the path for the given tool that may be used to
|
|
browse HTML help (see <code>-w</code> option in <a href="git-help.html">git-help(1)</a>) or a
|
|
working repository in gitweb (see <a href="git-instaweb.html">git-instaweb(1)</a>).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
checkout.defaultRemote
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When you run <code>git checkout <something></code>
|
|
or <code>git switch <something></code> and only have one
|
|
remote, it may implicitly fall back on checking out and
|
|
tracking e.g. <code>origin/<something></code>. This stops working as soon
|
|
as you have more than one remote with a <code><something></code>
|
|
reference. This setting allows for setting the name of a
|
|
preferred remote that should always win when it comes to
|
|
disambiguation. The typical use-case is to set this to
|
|
<code>origin</code>.
|
|
</p>
|
|
<div class="paragraph"><p>Currently this is used by <a href="git-switch.html">git-switch(1)</a> and
|
|
<a href="git-checkout.html">git-checkout(1)</a> when <code>git checkout <something></code>
|
|
or <code>git switch <something></code>
|
|
will checkout the <code><something></code> branch on another remote,
|
|
and by <a href="git-worktree.html">git-worktree(1)</a> when <code>git worktree add</code> refers to a
|
|
remote branch. This setting might be used for other checkout-like
|
|
commands or functionality in the future.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
checkout.guess
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Provides the default value for the <code>--guess</code> or <code>--no-guess</code>
|
|
option in <code>git checkout</code> and <code>git switch</code>. See
|
|
<a href="git-switch.html">git-switch(1)</a> and <a href="git-checkout.html">git-checkout(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
checkout.workers
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The number of parallel workers to use when updating the working tree.
|
|
The default is one, i.e. sequential execution. If set to a value less
|
|
than one, Git will use as many workers as the number of logical cores
|
|
available. This setting and <code>checkout.thresholdForParallelism</code> affect
|
|
all commands that perform checkout. E.g. checkout, clone, reset,
|
|
sparse-checkout, etc.
|
|
</p>
|
|
<div class="paragraph"><p>Note: parallel checkout usually delivers better performance for repositories
|
|
located on SSDs or over NFS. For repositories on spinning disks and/or machines
|
|
with a small number of cores, the default sequential checkout often performs
|
|
better. The size and compression level of a repository might also influence how
|
|
well the parallel version performs.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
checkout.thresholdForParallelism
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When running parallel checkout with a small number of files, the cost
|
|
of subprocess spawning and inter-process communication might outweigh
|
|
the parallelization gains. This setting allows to define the minimum
|
|
number of files for which parallel checkout should be attempted. The
|
|
default is 100.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
clean.requireForce
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A boolean to make git-clean do nothing unless given -f,
|
|
-i or -n. Defaults to true.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
clone.defaultRemoteName
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The name of the remote to create when cloning a repository. Defaults to
|
|
<code>origin</code>, and can be overridden by passing the <code>--origin</code> command-line
|
|
option to <a href="git-clone.html">git-clone(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
clone.rejectShallow
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Reject to clone a repository if it is a shallow one, can be overridden by
|
|
passing option <code>--reject-shallow</code> in command line. See <a href="git-clone.html">git-clone(1)</a>
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
clone.filterSubmodules
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If a partial clone filter is provided (see <code>--filter</code> in
|
|
<a href="git-rev-list.html">git-rev-list(1)</a>) and <code>--recurse-submodules</code> is used, also apply
|
|
the filter to submodules.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
color.advice
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A boolean to enable/disable color in hints (e.g. when a push
|
|
failed, see <code>advice.*</code> for a list). May be set to <code>always</code>,
|
|
<code>false</code> (or <code>never</code>) or <code>auto</code> (or <code>true</code>), in which case colors
|
|
are used only when the error output goes to a terminal. If
|
|
unset, then the value of <code>color.ui</code> is used (<code>auto</code> by default).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
color.advice.hint
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use customized color for hints.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
color.blame.highlightRecent
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specify the line annotation color for <code>git blame --color-by-age</code>
|
|
depending upon the age of the line.
|
|
</p>
|
|
<div class="paragraph"><p>This setting should be set to a comma-separated list of color and
|
|
date settings, starting and ending with a color, the dates should be
|
|
set from oldest to newest. The metadata will be colored with the
|
|
specified colors if the line was introduced before the given
|
|
timestamp, overwriting older timestamped colors.</p></div>
|
|
<div class="paragraph"><p>Instead of an absolute timestamp relative timestamps work as well,
|
|
e.g. <code>2.weeks.ago</code> is valid to address anything older than 2 weeks.</p></div>
|
|
<div class="paragraph"><p>It defaults to <code>blue,12 month ago,white,1 month ago,red</code>, which
|
|
colors everything older than one year blue, recent changes between
|
|
one month and one year old are kept white, and lines introduced
|
|
within the last month are colored red.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
color.blame.repeatedLines
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use the specified color to colorize line annotations for
|
|
<code>git blame --color-lines</code>, if they come from the same commit as the
|
|
preceding line. Defaults to cyan.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
color.branch
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A boolean to enable/disable color in the output of
|
|
<a href="git-branch.html">git-branch(1)</a>. May be set to <code>always</code>,
|
|
<code>false</code> (or <code>never</code>) or <code>auto</code> (or <code>true</code>), in which case colors are used
|
|
only when the output is to a terminal. If unset, then the
|
|
value of <code>color.ui</code> is used (<code>auto</code> by default).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
color.branch.<slot>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use customized color for branch coloration. <code><slot></code> is one of
|
|
<code>current</code> (the current branch), <code>local</code> (a local branch),
|
|
<code>remote</code> (a remote-tracking branch in refs/remotes/),
|
|
<code>upstream</code> (upstream tracking branch), <code>plain</code> (other
|
|
refs).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
color.diff
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Whether to use ANSI escape sequences to add color to patches.
|
|
If this is set to <code>always</code>, <a href="git-diff.html">git-diff(1)</a>,
|
|
<a href="git-log.html">git-log(1)</a>, and <a href="git-show.html">git-show(1)</a> will use color
|
|
for all patches. If it is set to <code>true</code> or <code>auto</code>, those
|
|
commands will only use color when output is to the terminal.
|
|
If unset, then the value of <code>color.ui</code> is used (<code>auto</code> by
|
|
default).
|
|
</p>
|
|
<div class="paragraph"><p>This does not affect <a href="git-format-patch.html">git-format-patch(1)</a> or the
|
|
<em>git-diff-*</em> plumbing commands. Can be overridden on the
|
|
command line with the <code>--color[=<when>]</code> option.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
color.diff.<slot>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use customized color for diff colorization. <code><slot></code> specifies
|
|
which part of the patch to use the specified color, and is one
|
|
of <code>context</code> (context text - <code>plain</code> is a historical synonym),
|
|
<code>meta</code> (metainformation), <code>frag</code>
|
|
(hunk header), <em>func</em> (function in hunk header), <code>old</code> (removed lines),
|
|
<code>new</code> (added lines), <code>commit</code> (commit headers), <code>whitespace</code>
|
|
(highlighting whitespace errors), <code>oldMoved</code> (deleted lines),
|
|
<code>newMoved</code> (added lines), <code>oldMovedDimmed</code>, <code>oldMovedAlternative</code>,
|
|
<code>oldMovedAlternativeDimmed</code>, <code>newMovedDimmed</code>, <code>newMovedAlternative</code>
|
|
<code>newMovedAlternativeDimmed</code> (See the <em><mode></em>
|
|
setting of <em>--color-moved</em> in <a href="git-diff.html">git-diff(1)</a> for details),
|
|
<code>contextDimmed</code>, <code>oldDimmed</code>, <code>newDimmed</code>, <code>contextBold</code>,
|
|
<code>oldBold</code>, and <code>newBold</code> (see <a href="git-range-diff.html">git-range-diff(1)</a> for details).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
color.decorate.<slot>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use customized color for <em>git log --decorate</em> output. <code><slot></code> is one
|
|
of <code>branch</code>, <code>remoteBranch</code>, <code>tag</code>, <code>stash</code> or <code>HEAD</code> for local
|
|
branches, remote-tracking branches, tags, stash and HEAD, respectively
|
|
and <code>grafted</code> for grafted commits.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
color.grep
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When set to <code>always</code>, always highlight matches. When <code>false</code> (or
|
|
<code>never</code>), never. When set to <code>true</code> or <code>auto</code>, use color only
|
|
when the output is written to the terminal. If unset, then the
|
|
value of <code>color.ui</code> is used (<code>auto</code> by default).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
color.grep.<slot>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use customized color for grep colorization. <code><slot></code> specifies which
|
|
part of the line to use the specified color, and is one of
|
|
</p>
|
|
<div class="openblock">
|
|
<div class="content">
|
|
<div class="dlist"><dl>
|
|
<dt class="hdlist1">
|
|
<code>context</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
non-matching text in context lines (when using <code>-A</code>, <code>-B</code>, or <code>-C</code>)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>filename</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
filename prefix (when not using <code>-h</code>)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>function</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
function name lines (when using <code>-p</code>)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>lineNumber</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
line number prefix (when using <code>-n</code>)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>column</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
column number prefix (when using <code>--column</code>)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>match</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
matching text (same as setting <code>matchContext</code> and <code>matchSelected</code>)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>matchContext</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
matching text in context lines
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>matchSelected</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
matching text in selected lines. Also, used to customize the following
|
|
<a href="git-log.html">git-log(1)</a> subcommands: <code>--grep</code>, <code>--author</code> and <code>--committer</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>selected</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
non-matching text in selected lines. Also, used to customize the
|
|
following <a href="git-log.html">git-log(1)</a> subcommands: <code>--grep</code>, <code>--author</code> and
|
|
<code>--committer</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>separator</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
separators between fields on a line (<code>:</code>, <code>-</code>, and <code>=</code>)
|
|
and between hunks (<code>--</code>)
|
|
</p>
|
|
</dd>
|
|
</dl></div>
|
|
</div></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
color.interactive
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When set to <code>always</code>, always use colors for interactive prompts
|
|
and displays (such as those used by "git-add --interactive" and
|
|
"git-clean --interactive"). When false (or <code>never</code>), never.
|
|
When set to <code>true</code> or <code>auto</code>, use colors only when the output is
|
|
to the terminal. If unset, then the value of <code>color.ui</code> is
|
|
used (<code>auto</code> by default).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
color.interactive.<slot>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use customized color for <em>git add --interactive</em> and <em>git clean
|
|
--interactive</em> output. <code><slot></code> may be <code>prompt</code>, <code>header</code>, <code>help</code>
|
|
or <code>error</code>, for four distinct types of normal output from
|
|
interactive commands.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
color.pager
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A boolean to specify whether <code>auto</code> color modes should colorize
|
|
output going to the pager. Defaults to true; set this to false
|
|
if your pager does not understand ANSI color codes.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
color.push
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A boolean to enable/disable color in push errors. May be set to
|
|
<code>always</code>, <code>false</code> (or <code>never</code>) or <code>auto</code> (or <code>true</code>), in which
|
|
case colors are used only when the error output goes to a terminal.
|
|
If unset, then the value of <code>color.ui</code> is used (<code>auto</code> by default).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
color.push.error
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use customized color for push errors.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
color.remote
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set, keywords at the start of the line are highlighted. The
|
|
keywords are "error", "warning", "hint" and "success", and are
|
|
matched case-insensitively. May be set to <code>always</code>, <code>false</code> (or
|
|
<code>never</code>) or <code>auto</code> (or <code>true</code>). If unset, then the value of
|
|
<code>color.ui</code> is used (<code>auto</code> by default).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
color.remote.<slot>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use customized color for each remote keyword. <code><slot></code> may be
|
|
<code>hint</code>, <code>warning</code>, <code>success</code> or <code>error</code> which match the
|
|
corresponding keyword.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
color.showBranch
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A boolean to enable/disable color in the output of
|
|
<a href="git-show-branch.html">git-show-branch(1)</a>. May be set to <code>always</code>,
|
|
<code>false</code> (or <code>never</code>) or <code>auto</code> (or <code>true</code>), in which case colors are used
|
|
only when the output is to a terminal. If unset, then the
|
|
value of <code>color.ui</code> is used (<code>auto</code> by default).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
color.status
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A boolean to enable/disable color in the output of
|
|
<a href="git-status.html">git-status(1)</a>. May be set to <code>always</code>,
|
|
<code>false</code> (or <code>never</code>) or <code>auto</code> (or <code>true</code>), in which case colors are used
|
|
only when the output is to a terminal. If unset, then the
|
|
value of <code>color.ui</code> is used (<code>auto</code> by default).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
color.status.<slot>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use customized color for status colorization. <code><slot></code> is
|
|
one of <code>header</code> (the header text of the status message),
|
|
<code>added</code> or <code>updated</code> (files which are added but not committed),
|
|
<code>changed</code> (files which are changed but not added in the index),
|
|
<code>untracked</code> (files which are not tracked by Git),
|
|
<code>branch</code> (the current branch),
|
|
<code>nobranch</code> (the color the <em>no branch</em> warning is shown in, defaulting
|
|
to red),
|
|
<code>localBranch</code> or <code>remoteBranch</code> (the local and remote branch names,
|
|
respectively, when branch and tracking information is displayed in the
|
|
status short-format), or
|
|
<code>unmerged</code> (files which have unmerged changes).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
color.transport
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A boolean to enable/disable color when pushes are rejected. May be
|
|
set to <code>always</code>, <code>false</code> (or <code>never</code>) or <code>auto</code> (or <code>true</code>), in which
|
|
case colors are used only when the error output goes to a terminal.
|
|
If unset, then the value of <code>color.ui</code> is used (<code>auto</code> by default).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
color.transport.rejected
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use customized color when a push was rejected.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
color.ui
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This variable determines the default value for variables such
|
|
as <code>color.diff</code> and <code>color.grep</code> that control the use of color
|
|
per command family. Its scope will expand as more commands learn
|
|
configuration to set a default for the <code>--color</code> option. Set it
|
|
to <code>false</code> or <code>never</code> if you prefer Git commands not to use
|
|
color unless enabled explicitly with some other configuration
|
|
or the <code>--color</code> option. Set it to <code>always</code> if you want all
|
|
output not intended for machine consumption to use color, to
|
|
<code>true</code> or <code>auto</code> (this is the default since Git 1.8.4) if you
|
|
want such output to use color when written to the terminal.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
column.ui
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specify whether supported commands should output in columns.
|
|
This variable consists of a list of tokens separated by spaces
|
|
or commas:
|
|
</p>
|
|
<div class="paragraph"><p>These options control when the feature should be enabled
|
|
(defaults to <em>never</em>):</p></div>
|
|
<div class="openblock">
|
|
<div class="content">
|
|
<div class="dlist"><dl>
|
|
<dt class="hdlist1">
|
|
<code>always</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
always show in columns
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>never</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
never show in columns
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>auto</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
show in columns if the output is to the terminal
|
|
</p>
|
|
</dd>
|
|
</dl></div>
|
|
</div></div>
|
|
<div class="paragraph"><p>These options control layout (defaults to <em>column</em>). Setting any
|
|
of these implies <em>always</em> if none of <em>always</em>, <em>never</em>, or <em>auto</em> are
|
|
specified.</p></div>
|
|
<div class="openblock">
|
|
<div class="content">
|
|
<div class="dlist"><dl>
|
|
<dt class="hdlist1">
|
|
<code>column</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
fill columns before rows
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>row</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
fill rows before columns
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>plain</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
show in one column
|
|
</p>
|
|
</dd>
|
|
</dl></div>
|
|
</div></div>
|
|
<div class="paragraph"><p>Finally, these options can be combined with a layout option (defaults
|
|
to <em>nodense</em>):</p></div>
|
|
<div class="openblock">
|
|
<div class="content">
|
|
<div class="dlist"><dl>
|
|
<dt class="hdlist1">
|
|
<code>dense</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
make unequal size columns to utilize more space
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>nodense</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
make equal size columns
|
|
</p>
|
|
</dd>
|
|
</dl></div>
|
|
</div></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
column.branch
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specify whether to output branch listing in <code>git branch</code> in columns.
|
|
See <code>column.ui</code> for details.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
column.clean
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specify the layout when list items in <code>git clean -i</code>, which always
|
|
shows files and directories in columns. See <code>column.ui</code> for details.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
column.status
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specify whether to output untracked files in <code>git status</code> in columns.
|
|
See <code>column.ui</code> for details.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
column.tag
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specify whether to output tag listing in <code>git tag</code> in columns.
|
|
See <code>column.ui</code> for details.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
commit.cleanup
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This setting overrides the default of the <code>--cleanup</code> option in
|
|
<code>git commit</code>. See <a href="git-commit.html">git-commit(1)</a> for details. Changing the
|
|
default can be useful when you always want to keep lines that begin
|
|
with comment character <code>#</code> in your log message, in which case you
|
|
would do <code>git config commit.cleanup whitespace</code> (note that you will
|
|
have to remove the help lines that begin with <code>#</code> in the commit log
|
|
template yourself, if you do this).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
commit.gpgSign
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A boolean to specify whether all commits should be GPG signed.
|
|
Use of this option when doing operations such as rebase can
|
|
result in a large number of commits being signed. It may be
|
|
convenient to use an agent to avoid typing your GPG passphrase
|
|
several times.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
commit.status
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A boolean to enable/disable inclusion of status information in the
|
|
commit message template when using an editor to prepare the commit
|
|
message. Defaults to true.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
commit.template
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specify the pathname of a file to use as the template for
|
|
new commit messages.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
commit.verbose
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A boolean or int to specify the level of verbose with <code>git commit</code>.
|
|
See <a href="git-commit.html">git-commit(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
commitGraph.generationVersion
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specifies the type of generation number version to use when writing
|
|
or reading the commit-graph file. If version 1 is specified, then
|
|
the corrected commit dates will not be written or read. Defaults to
|
|
2.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
commitGraph.maxNewFilters
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specifies the default value for the <code>--max-new-filters</code> option of <code>git
|
|
commit-graph write</code> (c.f., <a href="git-commit-graph.html">git-commit-graph(1)</a>).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
commitGraph.readChangedPaths
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If true, then git will use the changed-path Bloom filters in the
|
|
commit-graph file (if it exists, and they are present). Defaults to
|
|
true. See <a href="git-commit-graph.html">git-commit-graph(1)</a> for more information.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
credential.helper
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specify an external helper to be called when a username or
|
|
password credential is needed; the helper may consult external
|
|
storage to avoid prompting the user for the credentials. This is
|
|
normally the name of a credential helper with possible
|
|
arguments, but may also be an absolute path with arguments or, if
|
|
preceded by <code>!</code>, shell commands.
|
|
</p>
|
|
<div class="paragraph"><p>Note that multiple helpers may be defined. See <a href="gitcredentials.html">gitcredentials(7)</a>
|
|
for details and examples.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
credential.useHttpPath
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When acquiring credentials, consider the "path" component of an http
|
|
or https URL to be important. Defaults to false. See
|
|
<a href="gitcredentials.html">gitcredentials(7)</a> for more information.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
credential.username
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If no username is set for a network authentication, use this username
|
|
by default. See credential.<context>.* below, and
|
|
<a href="gitcredentials.html">gitcredentials(7)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
credential.<url>.*
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Any of the credential.* options above can be applied selectively to
|
|
some credentials. For example "credential.https://example.com.username"
|
|
would set the default username only for https connections to
|
|
example.com. See <a href="gitcredentials.html">gitcredentials(7)</a> for details on how URLs are
|
|
matched.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
credentialCache.ignoreSIGHUP
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Tell git-credential-cache—daemon to ignore SIGHUP, instead of quitting.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
credentialStore.lockTimeoutMS
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The length of time, in milliseconds, for git-credential-store to retry
|
|
when trying to lock the credentials file. Value 0 means not to retry at
|
|
all; -1 means to try indefinitely. Default is 1000 (i.e., retry for
|
|
1s).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
completion.commands
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This is only used by git-completion.bash to add or remove
|
|
commands from the list of completed commands. Normally only
|
|
porcelain commands and a few select others are completed. You
|
|
can add more commands, separated by space, in this
|
|
variable. Prefixing the command with <em>-</em> will remove it from
|
|
the existing list.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
diff.autoRefreshIndex
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When using <em>git diff</em> to compare with work tree
|
|
files, do not consider stat-only change as changed.
|
|
Instead, silently run <code>git update-index --refresh</code> to
|
|
update the cached stat information for paths whose
|
|
contents in the work tree match the contents in the
|
|
index. This option defaults to true. Note that this
|
|
affects only <em>git diff</em> Porcelain, and not lower level
|
|
<em>diff</em> commands such as <em>git diff-files</em>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
diff.dirstat
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A comma separated list of <code>--dirstat</code> parameters specifying the
|
|
default behavior of the <code>--dirstat</code> option to <a href="git-diff.html">git-diff(1)</a>
|
|
and friends. The defaults can be overridden on the command line
|
|
(using <code>--dirstat=<param1,param2,...></code>). The fallback defaults
|
|
(when not changed by <code>diff.dirstat</code>) are <code>changes,noncumulative,3</code>.
|
|
The following parameters are available:
|
|
</p>
|
|
<div class="openblock">
|
|
<div class="content">
|
|
<div class="dlist"><dl>
|
|
<dt class="hdlist1">
|
|
<code>changes</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Compute the dirstat numbers by counting the lines that have been
|
|
removed from the source, or added to the destination. This ignores
|
|
the amount of pure code movements within a file. In other words,
|
|
rearranging lines in a file is not counted as much as other changes.
|
|
This is the default behavior when no parameter is given.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>lines</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Compute the dirstat numbers by doing the regular line-based diff
|
|
analysis, and summing the removed/added line counts. (For binary
|
|
files, count 64-byte chunks instead, since binary files have no
|
|
natural concept of lines). This is a more expensive <code>--dirstat</code>
|
|
behavior than the <code>changes</code> behavior, but it does count rearranged
|
|
lines within a file as much as other changes. The resulting output
|
|
is consistent with what you get from the other <code>--*stat</code> options.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>files</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Compute the dirstat numbers by counting the number of files changed.
|
|
Each changed file counts equally in the dirstat analysis. This is
|
|
the computationally cheapest <code>--dirstat</code> behavior, since it does
|
|
not have to look at the file contents at all.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>cumulative</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Count changes in a child directory for the parent directory as well.
|
|
Note that when using <code>cumulative</code>, the sum of the percentages
|
|
reported may exceed 100%. The default (non-cumulative) behavior can
|
|
be specified with the <code>noncumulative</code> parameter.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<limit>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
An integer parameter specifies a cut-off percent (3% by default).
|
|
Directories contributing less than this percentage of the changes
|
|
are not shown in the output.
|
|
</p>
|
|
</dd>
|
|
</dl></div>
|
|
</div></div>
|
|
<div class="paragraph"><p>Example: The following will count changed files, while ignoring
|
|
directories with less than 10% of the total amount of changed files,
|
|
and accumulating child directory counts in the parent directories:
|
|
<code>files,10,cumulative</code>.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
diff.statGraphWidth
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Limit the width of the graph part in --stat output. If set, applies
|
|
to all commands generating --stat output except format-patch.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
diff.context
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Generate diffs with <n> lines of context instead of the default
|
|
of 3. This value is overridden by the -U option.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
diff.interHunkContext
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Show the context between diff hunks, up to the specified number
|
|
of lines, thereby fusing the hunks that are close to each other.
|
|
This value serves as the default for the <code>--inter-hunk-context</code>
|
|
command line option.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
diff.external
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If this config variable is set, diff generation is not
|
|
performed using the internal diff machinery, but using the
|
|
given command. Can be overridden with the ‘GIT_EXTERNAL_DIFF’
|
|
environment variable. The command is called with parameters
|
|
as described under "git Diffs" in <a href="git.html">git(1)</a>. Note: if
|
|
you want to use an external diff program only on a subset of
|
|
your files, you might want to use <a href="gitattributes.html">gitattributes(5)</a> instead.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
diff.ignoreSubmodules
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Sets the default value of --ignore-submodules. Note that this
|
|
affects only <em>git diff</em> Porcelain, and not lower level <em>diff</em>
|
|
commands such as <em>git diff-files</em>. <em>git checkout</em>
|
|
and <em>git switch</em> also honor
|
|
this setting when reporting uncommitted changes. Setting it to
|
|
<em>all</em> disables the submodule summary normally shown by <em>git commit</em>
|
|
and <em>git status</em> when <code>status.submoduleSummary</code> is set unless it is
|
|
overridden by using the --ignore-submodules command-line option.
|
|
The <em>git submodule</em> commands are not affected by this setting.
|
|
By default this is set to untracked so that any untracked
|
|
submodules are ignored.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
diff.mnemonicPrefix
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set, <em>git diff</em> uses a prefix pair that is different from the
|
|
standard "a/" and "b/" depending on what is being compared. When
|
|
this configuration is in effect, reverse diff output also swaps
|
|
the order of the prefixes:
|
|
</p>
|
|
<div class="dlist"><dl>
|
|
<dt class="hdlist1">
|
|
<code>git diff</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
compares the (i)ndex and the (w)ork tree;
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>git diff HEAD</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
compares a (c)ommit and the (w)ork tree;
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>git diff --cached</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
compares a (c)ommit and the (i)ndex;
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>git diff HEAD:file1 file2</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
compares an (o)bject and a (w)ork tree entity;
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>git diff --no-index a b</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
compares two non-git things (1) and (2).
|
|
</p>
|
|
</dd>
|
|
</dl></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
diff.noprefix
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set, <em>git diff</em> does not show any source or destination prefix.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
diff.relative
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set to <em>true</em>, <em>git diff</em> does not show changes outside of the directory
|
|
and show pathnames relative to the current directory.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
diff.orderFile
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
File indicating how to order files within a diff.
|
|
See the <em>-O</em> option to <a href="git-diff.html">git-diff(1)</a> for details.
|
|
If <code>diff.orderFile</code> is a relative pathname, it is treated as
|
|
relative to the top of the working tree.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
diff.renameLimit
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The number of files to consider in the exhaustive portion of
|
|
copy/rename detection; equivalent to the <em>git diff</em> option
|
|
<code>-l</code>. If not set, the default value is currently 1000. This
|
|
setting has no effect if rename detection is turned off.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
diff.renames
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Whether and how Git detects renames. If set to "false",
|
|
rename detection is disabled. If set to "true", basic rename
|
|
detection is enabled. If set to "copies" or "copy", Git will
|
|
detect copies, as well. Defaults to true. Note that this
|
|
affects only <em>git diff</em> Porcelain like <a href="git-diff.html">git-diff(1)</a> and
|
|
<a href="git-log.html">git-log(1)</a>, and not lower level commands such as
|
|
<a href="git-diff-files.html">git-diff-files(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
diff.suppressBlankEmpty
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A boolean to inhibit the standard behavior of printing a space
|
|
before each empty output line. Defaults to false.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
diff.submodule
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specify the format in which differences in submodules are
|
|
shown. The "short" format just shows the names of the commits
|
|
at the beginning and end of the range. The "log" format lists
|
|
the commits in the range like <a href="git-submodule.html">git-submodule(1)</a> <code>summary</code>
|
|
does. The "diff" format shows an inline diff of the changed
|
|
contents of the submodule. Defaults to "short".
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
diff.wordRegex
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A POSIX Extended Regular Expression used to determine what is a "word"
|
|
when performing word-by-word difference calculations. Character
|
|
sequences that match the regular expression are "words", all other
|
|
characters are <strong>ignorable</strong> whitespace.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
diff.<driver>.command
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The custom diff driver command. See <a href="gitattributes.html">gitattributes(5)</a>
|
|
for details.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
diff.<driver>.xfuncname
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The regular expression that the diff driver should use to
|
|
recognize the hunk header. A built-in pattern may also be used.
|
|
See <a href="gitattributes.html">gitattributes(5)</a> for details.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
diff.<driver>.binary
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Set this option to true to make the diff driver treat files as
|
|
binary. See <a href="gitattributes.html">gitattributes(5)</a> for details.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
diff.<driver>.textconv
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The command that the diff driver should call to generate the
|
|
text-converted version of a file. The result of the
|
|
conversion is used to generate a human-readable diff. See
|
|
<a href="gitattributes.html">gitattributes(5)</a> for details.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
diff.<driver>.wordRegex
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The regular expression that the diff driver should use to
|
|
split words in a line. See <a href="gitattributes.html">gitattributes(5)</a> for
|
|
details.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
diff.<driver>.cachetextconv
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Set this option to true to make the diff driver cache the text
|
|
conversion outputs. See <a href="gitattributes.html">gitattributes(5)</a> for details.
|
|
</p>
|
|
<div class="dlist"><dl>
|
|
<dt class="hdlist1">
|
|
<code>araxis</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Araxis Merge (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>bc</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Beyond Compare (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>bc3</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Beyond Compare (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>bc4</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Beyond Compare (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>codecompare</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Code Compare (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>deltawalker</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use DeltaWalker (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>diffmerge</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use DiffMerge (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>diffuse</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Diffuse (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>ecmerge</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use ECMerge (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>emerge</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Emacs' Emerge
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>examdiff</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use ExamDiff Pro (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>guiffy</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Guiffy’s Diff Tool (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>gvimdiff</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use gVim (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>kdiff3</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use KDiff3 (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>kompare</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Kompare (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>meld</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Meld (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>nvimdiff</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Neovim
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>opendiff</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use FileMerge (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>p4merge</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use HelixCore P4Merge (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>smerge</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Sublime Merge (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>tkdiff</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use TkDiff (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>vimdiff</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Vim
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>winmerge</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use WinMerge (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>xxdiff</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use xxdiff (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
</dl></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
diff.indentHeuristic
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Set this option to <code>false</code> to disable the default heuristics
|
|
that shift diff hunk boundaries to make patches easier to read.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
diff.algorithm
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Choose a diff algorithm. The variants are as follows:
|
|
</p>
|
|
<div class="openblock">
|
|
<div class="content">
|
|
<div class="dlist"><dl>
|
|
<dt class="hdlist1">
|
|
<code>default</code>, <code>myers</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The basic greedy diff algorithm. Currently, this is the default.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>minimal</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Spend extra time to make sure the smallest possible diff is
|
|
produced.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>patience</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use "patience diff" algorithm when generating patches.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>histogram</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This algorithm extends the patience algorithm to "support
|
|
low-occurrence common elements".
|
|
</p>
|
|
</dd>
|
|
</dl></div>
|
|
</div></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
diff.wsErrorHighlight
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Highlight whitespace errors in the <code>context</code>, <code>old</code> or <code>new</code>
|
|
lines of the diff. Multiple values are separated by comma,
|
|
<code>none</code> resets previous values, <code>default</code> reset the list to
|
|
<code>new</code> and <code>all</code> is a shorthand for <code>old,new,context</code>. The
|
|
whitespace errors are colored with <code>color.diff.whitespace</code>.
|
|
The command line option <code>--ws-error-highlight=<kind></code>
|
|
overrides this setting.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
diff.colorMoved
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set to either a valid <code><mode></code> or a true value, moved lines
|
|
in a diff are colored differently, for details of valid modes
|
|
see <em>--color-moved</em> in <a href="git-diff.html">git-diff(1)</a>. If simply set to
|
|
true the default color mode will be used. When set to false,
|
|
moved lines are not colored.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
diff.colorMovedWS
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When moved lines are colored using e.g. the <code>diff.colorMoved</code> setting,
|
|
this option controls the <code><mode></code> how spaces are treated
|
|
for details of valid modes see <em>--color-moved-ws</em> in <a href="git-diff.html">git-diff(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
diff.tool
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Controls which diff tool is used by <a href="git-difftool.html">git-difftool(1)</a>.
|
|
This variable overrides the value configured in <code>merge.tool</code>.
|
|
The list below shows the valid built-in values.
|
|
Any other value is treated as a custom diff tool and requires
|
|
that a corresponding difftool.<tool>.cmd variable is defined.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
diff.guitool
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Controls which diff tool is used by <a href="git-difftool.html">git-difftool(1)</a> when
|
|
the -g/--gui flag is specified. This variable overrides the value
|
|
configured in <code>merge.guitool</code>. The list below shows the valid
|
|
built-in values. Any other value is treated as a custom diff tool
|
|
and requires that a corresponding difftool.<guitool>.cmd variable
|
|
is defined.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
difftool.<tool>.cmd
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specify the command to invoke the specified diff tool.
|
|
The specified command is evaluated in shell with the following
|
|
variables available: <em>LOCAL</em> is set to the name of the temporary
|
|
file containing the contents of the diff pre-image and <em>REMOTE</em>
|
|
is set to the name of the temporary file containing the contents
|
|
of the diff post-image.
|
|
</p>
|
|
<div class="paragraph"><p>See the <code>--tool=<tool></code> option in <a href="git-difftool.html">git-difftool(1)</a> for more details.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
difftool.<tool>.path
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Override the path for the given tool. This is useful in case
|
|
your tool is not in the PATH.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
difftool.trustExitCode
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Exit difftool if the invoked diff tool returns a non-zero exit status.
|
|
</p>
|
|
<div class="paragraph"><p>See the <code>--trust-exit-code</code> option in <a href="git-difftool.html">git-difftool(1)</a> for more details.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
difftool.prompt
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Prompt before each invocation of the diff tool.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
extensions.objectFormat
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specify the hash algorithm to use. The acceptable values are <code>sha1</code> and
|
|
<code>sha256</code>. If not specified, <code>sha1</code> is assumed. It is an error to specify
|
|
this key unless <code>core.repositoryFormatVersion</code> is 1.
|
|
</p>
|
|
<div class="paragraph"><p>Note that this setting should only be set by <a href="git-init.html">git-init(1)</a> or
|
|
<a href="git-clone.html">git-clone(1)</a>. Trying to change it after initialization will not
|
|
work and will produce hard-to-diagnose issues.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
extensions.worktreeConfig
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If enabled, then worktrees will load config settings from the
|
|
<code>$GIT_DIR/config.worktree</code> file in addition to the
|
|
<code>$GIT_COMMON_DIR/config</code> file. Note that <code>$GIT_COMMON_DIR</code> and
|
|
<code>$GIT_DIR</code> are the same for the main working tree, while other
|
|
working trees have <code>$GIT_DIR</code> equal to
|
|
<code>$GIT_COMMON_DIR/worktrees/<id>/</code>. The settings in the
|
|
<code>config.worktree</code> file will override settings from any other
|
|
config files.
|
|
</p>
|
|
<div class="paragraph"><p>When enabling <code>extensions.worktreeConfig</code>, you must be careful to move
|
|
certain values from the common config file to the main working tree’s
|
|
<code>config.worktree</code> file, if present:</p></div>
|
|
<div class="ulist"><ul>
|
|
<li>
|
|
<p>
|
|
<code>core.worktree</code> must be moved from <code>$GIT_COMMON_DIR/config</code> to
|
|
<code>$GIT_COMMON_DIR/config.worktree</code>.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
If <code>core.bare</code> is true, then it must be moved from <code>$GIT_COMMON_DIR/config</code>
|
|
to <code>$GIT_COMMON_DIR/config.worktree</code>.
|
|
</p>
|
|
<div class="paragraph"><p>It may also be beneficial to adjust the locations of <code>core.sparseCheckout</code>
|
|
and <code>core.sparseCheckoutCone</code> depending on your desire for customizable
|
|
sparse-checkout settings for each worktree. By default, the <code>git
|
|
sparse-checkout</code> builtin enables <code>extensions.worktreeConfig</code>, assigns
|
|
these config values on a per-worktree basis, and uses the
|
|
<code>$GIT_DIR/info/sparse-checkout</code> file to specify the sparsity for each
|
|
worktree independently. See <a href="git-sparse-checkout.html">git-sparse-checkout(1)</a> for more
|
|
details.</p></div>
|
|
<div class="paragraph"><p>For historical reasons, <code>extensions.worktreeConfig</code> is respected
|
|
regardless of the <code>core.repositoryFormatVersion</code> setting.</p></div>
|
|
</li>
|
|
</ul></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
fastimport.unpackLimit
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If the number of objects imported by <a href="git-fast-import.html">git-fast-import(1)</a>
|
|
is below this limit, then the objects will be unpacked into
|
|
loose object files. However if the number of imported objects
|
|
equals or exceeds this limit then the pack will be stored as a
|
|
pack. Storing the pack from a fast-import can make the import
|
|
operation complete faster, especially on slow filesystems. If
|
|
not set, the value of <code>transfer.unpackLimit</code> is used instead.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
feature.*
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The config settings that start with <code>feature.</code> modify the defaults of
|
|
a group of other config settings. These groups are created by the Git
|
|
developer community as recommended defaults and are subject to change.
|
|
In particular, new config options may be added with different defaults.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
feature.experimental
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Enable config options that are new to Git, and are being considered for
|
|
future defaults. Config settings included here may be added or removed
|
|
with each release, including minor version updates. These settings may
|
|
have unintended interactions since they are so new. Please enable this
|
|
setting if you are interested in providing feedback on experimental
|
|
features. The new default values are:
|
|
</p>
|
|
<div class="ulist"><ul>
|
|
<li>
|
|
<p>
|
|
<code>fetch.negotiationAlgorithm=skipping</code> may improve fetch negotiation times by
|
|
skipping more commits at a time, reducing the number of round trips.
|
|
</p>
|
|
</li>
|
|
</ul></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
feature.manyFiles
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Enable config options that optimize for repos with many files in the
|
|
working directory. With many files, commands such as <code>git status</code> and
|
|
<code>git checkout</code> may be slow and these new defaults improve performance:
|
|
</p>
|
|
<div class="ulist"><ul>
|
|
<li>
|
|
<p>
|
|
<code>index.version=4</code> enables path-prefix compression in the index.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>core.untrackedCache=true</code> enables the untracked cache. This setting assumes
|
|
that mtime is working on your machine.
|
|
</p>
|
|
</li>
|
|
</ul></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
fetch.recurseSubmodules
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This option controls whether <code>git fetch</code> (and the underlying fetch
|
|
in <code>git pull</code>) will recursively fetch into populated submodules.
|
|
This option can be set either to a boolean value or to <em>on-demand</em>.
|
|
Setting it to a boolean changes the behavior of fetch and pull to
|
|
recurse unconditionally into submodules when set to true or to not
|
|
recurse at all when set to false. When set to <em>on-demand</em>, fetch and
|
|
pull will only recurse into a populated submodule when its
|
|
superproject retrieves a commit that updates the submodule’s
|
|
reference.
|
|
Defaults to <em>on-demand</em>, or to the value of <em>submodule.recurse</em> if set.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
fetch.fsckObjects
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If it is set to true, git-fetch-pack will check all fetched
|
|
objects. See <code>transfer.fsckObjects</code> for what’s
|
|
checked. Defaults to false. If not set, the value of
|
|
<code>transfer.fsckObjects</code> is used instead.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
fetch.fsck.<msg-id>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Acts like <code>fsck.<msg-id></code>, but is used by
|
|
<a href="git-fetch-pack.html">git-fetch-pack(1)</a> instead of <a href="git-fsck.html">git-fsck(1)</a>. See
|
|
the <code>fsck.<msg-id></code> documentation for details.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
fetch.fsck.skipList
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Acts like <code>fsck.skipList</code>, but is used by
|
|
<a href="git-fetch-pack.html">git-fetch-pack(1)</a> instead of <a href="git-fsck.html">git-fsck(1)</a>. See
|
|
the <code>fsck.skipList</code> documentation for details.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
fetch.unpackLimit
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If the number of objects fetched over the Git native
|
|
transfer is below this
|
|
limit, then the objects will be unpacked into loose object
|
|
files. However if the number of received objects equals or
|
|
exceeds this limit then the received pack will be stored as
|
|
a pack, after adding any missing delta bases. Storing the
|
|
pack from a push can make the push operation complete faster,
|
|
especially on slow filesystems. If not set, the value of
|
|
<code>transfer.unpackLimit</code> is used instead.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
fetch.prune
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If true, fetch will automatically behave as if the <code>--prune</code>
|
|
option was given on the command line. See also <code>remote.<name>.prune</code>
|
|
and the PRUNING section of <a href="git-fetch.html">git-fetch(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
fetch.pruneTags
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If true, fetch will automatically behave as if the
|
|
<code>refs/tags/*:refs/tags/*</code> refspec was provided when pruning,
|
|
if not set already. This allows for setting both this option
|
|
and <code>fetch.prune</code> to maintain a 1=1 mapping to upstream
|
|
refs. See also <code>remote.<name>.pruneTags</code> and the PRUNING
|
|
section of <a href="git-fetch.html">git-fetch(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
fetch.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 section
|
|
OUTPUT in <a href="git-fetch.html">git-fetch(1)</a> for detail.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
fetch.negotiationAlgorithm
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Control how information about the commits in the local repository
|
|
is sent when negotiating the contents of the packfile to be sent by
|
|
the server. Set to "consecutive" to use an algorithm that walks
|
|
over consecutive commits checking each one. Set to "skipping" to
|
|
use an algorithm that skips commits in an effort to converge
|
|
faster, but may result in a larger-than-necessary packfile; or set
|
|
to "noop" to not send any information at all, which will almost
|
|
certainly result in a larger-than-necessary packfile, but will skip
|
|
the negotiation step. Set to "default" to override settings made
|
|
previously and use the default behaviour. The default is normally
|
|
"consecutive", but if <code>feature.experimental</code> is true, then the
|
|
default is "skipping". Unknown values will cause <em>git fetch</em> to
|
|
error out.
|
|
</p>
|
|
<div class="paragraph"><p>See also the <code>--negotiate-only</code> and <code>--negotiation-tip</code> options to
|
|
<a href="git-fetch.html">git-fetch(1)</a>.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
fetch.showForcedUpdates
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Set to false to enable <code>--no-show-forced-updates</code> in
|
|
<a href="git-fetch.html">git-fetch(1)</a> and <a href="git-pull.html">git-pull(1)</a> commands.
|
|
Defaults to true.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
fetch.parallel
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specifies the maximal number of fetch operations to be run in parallel
|
|
at a time (submodules, or remotes when the <code>--multiple</code> option of
|
|
<a href="git-fetch.html">git-fetch(1)</a> is in effect).
|
|
</p>
|
|
<div class="paragraph"><p>A value of 0 will give some reasonable default. If unset, it defaults to 1.</p></div>
|
|
<div class="paragraph"><p>For submodules, this setting can be overridden using the <code>submodule.fetchJobs</code>
|
|
config setting.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
fetch.writeCommitGraph
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Set to true to write a commit-graph after every <code>git fetch</code> command
|
|
that downloads a pack-file from a remote. Using the <code>--split</code> option,
|
|
most executions will create a very small commit-graph file on top of
|
|
the existing commit-graph file(s). Occasionally, these files will
|
|
merge and the write may take longer. Having an updated commit-graph
|
|
file helps performance of many Git commands, including <code>git merge-base</code>,
|
|
<code>git push -f</code>, and <code>git log --graph</code>. Defaults to false.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
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>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
format.from
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Provides the default value for the <code>--from</code> option to format-patch.
|
|
Accepts a boolean value, or a name and email address. If false,
|
|
format-patch defaults to <code>--no-from</code>, using commit authors directly in
|
|
the "From:" field of patch mails. If true, format-patch defaults to
|
|
<code>--from</code>, using your committer identity in the "From:" field of patch
|
|
mails and including a "From:" field in the body of the patch mail if
|
|
different. If set to a non-boolean value, format-patch uses that
|
|
value instead of your committer identity. Defaults to false.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
format.forceInBodyFrom
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Provides the default value for the <code>--[no-]force-in-body-from</code>
|
|
option to format-patch. Defaults to false.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
format.numbered
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A boolean which can enable or disable sequence numbers in patch
|
|
subjects. It defaults to "auto" which enables it only if there
|
|
is more than one patch. It can be enabled or disabled for all
|
|
messages by setting it to "true" or "false". See --numbered
|
|
option in <a href="git-format-patch.html">git-format-patch(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
format.headers
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Additional email headers to include in a patch to be submitted
|
|
by mail. See <a href="git-format-patch.html">git-format-patch(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
format.to
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
format.cc
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Additional recipients to include in a patch to be submitted
|
|
by mail. See the --to and --cc options in
|
|
<a href="git-format-patch.html">git-format-patch(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
format.subjectPrefix
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The default for format-patch is to output files with the <em>[PATCH]</em>
|
|
subject prefix. Use this variable to change that prefix.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
format.coverFromDescription
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The default mode for format-patch to determine which parts of
|
|
the cover letter will be populated using the branch’s
|
|
description. See the <code>--cover-from-description</code> option in
|
|
<a href="git-format-patch.html">git-format-patch(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
format.signature
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The default for format-patch is to output a signature containing
|
|
the Git version number. Use this variable to change that default.
|
|
Set this variable to the empty string ("") to suppress
|
|
signature generation.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
format.signatureFile
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Works just like format.signature except the contents of the
|
|
file specified by this variable will be used as the signature.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
format.suffix
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The default for format-patch is to output files with the suffix
|
|
<code>.patch</code>. Use this variable to change that suffix (make sure to
|
|
include the dot if you want it).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
format.encodeEmailHeaders
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Encode email headers that have non-ASCII characters with
|
|
"Q-encoding" (described in RFC 2047) for email transmission.
|
|
Defaults to true.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
format.pretty
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The default pretty format for log/show/whatchanged command,
|
|
See <a href="git-log.html">git-log(1)</a>, <a href="git-show.html">git-show(1)</a>,
|
|
<a href="git-whatchanged.html">git-whatchanged(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
format.thread
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The default threading style for <em>git format-patch</em>. Can be
|
|
a boolean value, or <code>shallow</code> or <code>deep</code>. <code>shallow</code> threading
|
|
makes every mail a reply to the head of the series,
|
|
where the head is chosen from the cover letter, the
|
|
<code>--in-reply-to</code>, and the first patch mail, in this order.
|
|
<code>deep</code> threading makes every mail a reply to the previous one.
|
|
A true boolean value is the same as <code>shallow</code>, and a false
|
|
value disables threading.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
format.signOff
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A boolean value which lets you enable the <code>-s/--signoff</code> option of
|
|
format-patch by default. <strong>Note:</strong> Adding the <code>Signed-off-by</code> trailer to a
|
|
patch should be a conscious act and means that you certify you have
|
|
the rights to submit this work under the same open source license.
|
|
Please see the <em>SubmittingPatches</em> document for further discussion.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
format.coverLetter
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A boolean that controls whether to generate a cover-letter when
|
|
format-patch is invoked, but in addition can be set to "auto", to
|
|
generate a cover-letter only when there’s more than one patch.
|
|
Default is false.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
format.outputDirectory
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Set a custom directory to store the resulting files instead of the
|
|
current working directory. All directory components will be created.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
format.filenameMaxLength
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The maximum length of the output filenames generated by the
|
|
<code>format-patch</code> command; defaults to 64. Can be overridden
|
|
by the <code>--filename-max-length=<n></code> command line option.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
format.useAutoBase
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A boolean value which lets you enable the <code>--base=auto</code> option of
|
|
format-patch by default. Can also be set to "whenAble" to allow
|
|
enabling <code>--base=auto</code> if a suitable base is available, but to skip
|
|
adding base info otherwise without the format dying.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
format.notes
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Provides the default value for the <code>--notes</code> option to
|
|
format-patch. Accepts a boolean value, or a ref which specifies
|
|
where to get notes. If false, format-patch defaults to
|
|
<code>--no-notes</code>. If true, format-patch defaults to <code>--notes</code>. If
|
|
set to a non-boolean value, format-patch defaults to
|
|
<code>--notes=<ref></code>, where <code>ref</code> is the non-boolean value. Defaults
|
|
to false.
|
|
</p>
|
|
<div class="paragraph"><p>If one wishes to use the ref <code>ref/notes/true</code>, please use that literal
|
|
instead.</p></div>
|
|
<div class="paragraph"><p>This configuration can be specified multiple times in order to allow
|
|
multiple notes refs to be included. In that case, it will behave
|
|
similarly to multiple <code>--[no-]notes[=]</code> options passed in. That is, a
|
|
value of <code>true</code> will show the default notes, a value of <code><ref></code> will
|
|
also show notes from that notes ref and a value of <code>false</code> will negate
|
|
previous configurations and not show notes.</p></div>
|
|
<div class="paragraph"><p>For example,</p></div>
|
|
<div class="listingblock">
|
|
<div class="content">
|
|
<pre><code>[format]
|
|
notes = true
|
|
notes = foo
|
|
notes = false
|
|
notes = bar</code></pre>
|
|
</div></div>
|
|
<div class="paragraph"><p>will only show notes from <code>refs/notes/bar</code>.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
filter.<driver>.clean
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The command which is used to convert the content of a worktree
|
|
file to a blob upon checkin. See <a href="gitattributes.html">gitattributes(5)</a> for
|
|
details.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
filter.<driver>.smudge
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The command which is used to convert the content of a blob
|
|
object to a worktree file upon checkout. See
|
|
<a href="gitattributes.html">gitattributes(5)</a> for details.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
fsck.<msg-id>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
During fsck git may find issues with legacy data which
|
|
wouldn’t be generated by current versions of git, and which
|
|
wouldn’t be sent over the wire if <code>transfer.fsckObjects</code> was
|
|
set. This feature is intended to support working with legacy
|
|
repositories containing such data.
|
|
</p>
|
|
<div class="paragraph"><p>Setting <code>fsck.<msg-id></code> will be picked up by <a href="git-fsck.html">git-fsck(1)</a>, but
|
|
to accept pushes of such data set <code>receive.fsck.<msg-id></code> instead, or
|
|
to clone or fetch it set <code>fetch.fsck.<msg-id></code>.</p></div>
|
|
<div class="paragraph"><p>The rest of the documentation discusses <code>fsck.*</code> for brevity, but the
|
|
same applies for the corresponding <code>receive.fsck.*</code> and
|
|
<code>fetch.<msg-id>.*</code>. variables.</p></div>
|
|
<div class="paragraph"><p>Unlike variables like <code>color.ui</code> and <code>core.editor</code> the
|
|
<code>receive.fsck.<msg-id></code> and <code>fetch.fsck.<msg-id></code> variables will not
|
|
fall back on the <code>fsck.<msg-id></code> configuration if they aren’t set. To
|
|
uniformly configure the same fsck settings in different circumstances
|
|
all three of them they must all set to the same values.</p></div>
|
|
<div class="paragraph"><p>When <code>fsck.<msg-id></code> is set, errors can be switched to warnings and
|
|
vice versa by configuring the <code>fsck.<msg-id></code> setting where the
|
|
<code><msg-id></code> is the fsck message ID and the value is one of <code>error</code>,
|
|
<code>warn</code> or <code>ignore</code>. For convenience, fsck prefixes the error/warning
|
|
with the message ID, e.g. "missingEmail: invalid author/committer
|
|
line - missing email" means that setting <code>fsck.missingEmail = ignore</code>
|
|
will hide that issue.</p></div>
|
|
<div class="paragraph"><p>In general, it is better to enumerate existing objects with problems
|
|
with <code>fsck.skipList</code>, instead of listing the kind of breakages these
|
|
problematic objects share to be ignored, as doing the latter will
|
|
allow new instances of the same breakages go unnoticed.</p></div>
|
|
<div class="paragraph"><p>Setting an unknown <code>fsck.<msg-id></code> value will cause fsck to die, but
|
|
doing the same for <code>receive.fsck.<msg-id></code> and <code>fetch.fsck.<msg-id></code>
|
|
will only cause git to warn.</p></div>
|
|
</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 is ignored. Everything
|
|
but a SHA-1 per line will error out on older versions.
|
|
</p>
|
|
<div class="paragraph"><p>This feature is useful when an established project should be accepted
|
|
despite early commits containing errors that can be safely ignored
|
|
such as invalid committer email addresses. Note: corrupt objects
|
|
cannot be skipped with this setting.</p></div>
|
|
<div class="paragraph"><p>Like <code>fsck.<msg-id></code> this variable has corresponding
|
|
<code>receive.fsck.skipList</code> and <code>fetch.fsck.skipList</code> variants.</p></div>
|
|
<div class="paragraph"><p>Unlike variables like <code>color.ui</code> and <code>core.editor</code> the
|
|
<code>receive.fsck.skipList</code> and <code>fetch.fsck.skipList</code> variables will not
|
|
fall back on the <code>fsck.skipList</code> configuration if they aren’t set. To
|
|
uniformly configure the same fsck settings in different circumstances
|
|
all three of them they must all 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">
|
|
gc.aggressiveDepth
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The depth parameter used in the delta compression
|
|
algorithm used by <em>git gc --aggressive</em>. This defaults
|
|
to 50, which is the default for the <code>--depth</code> option when
|
|
<code>--aggressive</code> isn’t in use.
|
|
</p>
|
|
<div class="paragraph"><p>See the documentation for the <code>--depth</code> option in
|
|
<a href="git-repack.html">git-repack(1)</a> for more details.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gc.aggressiveWindow
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The window size parameter used in the delta compression
|
|
algorithm used by <em>git gc --aggressive</em>. This defaults
|
|
to 250, which is a much more aggressive window size than
|
|
the default <code>--window</code> of 10.
|
|
</p>
|
|
<div class="paragraph"><p>See the documentation for the <code>--window</code> option in
|
|
<a href="git-repack.html">git-repack(1)</a> for more details.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gc.auto
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When there are approximately more than this many loose
|
|
objects in the repository, <code>git gc --auto</code> will pack them.
|
|
Some Porcelain commands use this command to perform a
|
|
light-weight garbage collection from time to time. The
|
|
default value is 6700.
|
|
</p>
|
|
<div class="paragraph"><p>Setting this to 0 disables not only automatic packing based on the
|
|
number of loose objects, but any other heuristic <code>git gc --auto</code> will
|
|
otherwise use to determine if there’s work to do, such as
|
|
<code>gc.autoPackLimit</code>.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gc.autoPackLimit
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When there are more than this many packs that are not
|
|
marked with <code>*.keep</code> file in the repository, <code>git gc
|
|
--auto</code> consolidates them into one larger pack. The
|
|
default value is 50. Setting this to 0 disables it.
|
|
Setting <code>gc.auto</code> to 0 will also disable this.
|
|
</p>
|
|
<div class="paragraph"><p>See the <code>gc.bigPackThreshold</code> configuration variable below. When in
|
|
use, it’ll affect how the auto pack limit works.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gc.autoDetach
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Make <code>git gc --auto</code> return immediately and run in background
|
|
if the system supports it. Default is true.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gc.bigPackThreshold
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If non-zero, all packs larger than this limit are kept when
|
|
<code>git gc</code> is run. This is very similar to <code>--keep-largest-pack</code>
|
|
except that all packs that meet the threshold are kept, not
|
|
just the largest pack. Defaults to zero. Common unit suffixes of
|
|
<em>k</em>, <em>m</em>, or <em>g</em> are supported.
|
|
</p>
|
|
<div class="paragraph"><p>Note that if the number of kept packs is more than gc.autoPackLimit,
|
|
this configuration variable is ignored, all packs except the base pack
|
|
will be repacked. After this the number of packs should go below
|
|
gc.autoPackLimit and gc.bigPackThreshold should be respected again.</p></div>
|
|
<div class="paragraph"><p>If the amount of memory estimated for <code>git repack</code> to run smoothly is
|
|
not available and <code>gc.bigPackThreshold</code> is not set, the largest pack
|
|
will also be excluded (this is the equivalent of running <code>git gc</code> with
|
|
<code>--keep-largest-pack</code>).</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gc.writeCommitGraph
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If true, then gc will rewrite the commit-graph file when
|
|
<a href="git-gc.html">git-gc(1)</a> is run. When using <code>git gc --auto</code>
|
|
the commit-graph will be updated if housekeeping is
|
|
required. Default is true. See <a href="git-commit-graph.html">git-commit-graph(1)</a>
|
|
for details.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gc.logExpiry
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If the file gc.log exists, then <code>git gc --auto</code> will print
|
|
its content and exit with status zero instead of running
|
|
unless that file is more than <em>gc.logExpiry</em> old. Default is
|
|
"1.day". See <code>gc.pruneExpire</code> for more ways to specify its
|
|
value.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gc.packRefs
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Running <code>git pack-refs</code> in a repository renders it
|
|
unclonable by Git versions prior to 1.5.1.2 over dumb
|
|
transports such as HTTP. This variable determines whether
|
|
<em>git gc</em> runs <code>git pack-refs</code>. This can be set to <code>notbare</code>
|
|
to enable it within all non-bare repos or it can be set to a
|
|
boolean value. The default is <code>true</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gc.cruftPacks
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Store unreachable objects in a cruft pack (see
|
|
<a href="git-repack.html">git-repack(1)</a>) instead of as loose objects. The default
|
|
is <code>false</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gc.pruneExpire
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When <em>git gc</em> is run, it will call <em>prune --expire 2.weeks.ago</em>
|
|
(and <em>repack --cruft --cruft-expiration 2.weeks.ago</em> if using
|
|
cruft packs via <code>gc.cruftPacks</code> or <code>--cruft</code>). Override the
|
|
grace period with this config variable. The value "now" may be
|
|
used to disable this grace period and always prune unreachable
|
|
objects immediately, or "never" may be used to suppress pruning.
|
|
This feature helps prevent corruption when <em>git gc</em> runs
|
|
concurrently with another process writing to the repository; see
|
|
the "NOTES" section of <a href="git-gc.html">git-gc(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gc.worktreePruneExpire
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When <em>git gc</em> is run, it calls
|
|
<em>git worktree prune --expire 3.months.ago</em>.
|
|
This config variable can be used to set a different grace
|
|
period. The value "now" may be used to disable the grace
|
|
period and prune <code>$GIT_DIR/worktrees</code> immediately, or "never"
|
|
may be used to suppress pruning.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gc.reflogExpire
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
gc.<pattern>.reflogExpire
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
<em>git reflog expire</em> removes reflog entries older than
|
|
this time; defaults to 90 days. The value "now" expires all
|
|
entries immediately, and "never" suppresses expiration
|
|
altogether. With "<pattern>" (e.g.
|
|
"refs/stash") in the middle the setting applies only to
|
|
the refs that match the <pattern>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gc.reflogExpireUnreachable
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
gc.<pattern>.reflogExpireUnreachable
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
<em>git reflog expire</em> removes reflog entries older than
|
|
this time and are not reachable from the current tip;
|
|
defaults to 30 days. The value "now" expires all entries
|
|
immediately, and "never" suppresses expiration altogether.
|
|
With "<pattern>" (e.g. "refs/stash")
|
|
in the middle, the setting applies only to the refs that
|
|
match the <pattern>.
|
|
</p>
|
|
<div class="paragraph"><p>These types of entries are generally created as a result of using <code>git
|
|
commit --amend</code> or <code>git rebase</code> and are the commits prior to the amend
|
|
or rebase occurring. Since these changes are not part of the current
|
|
project most users will want to expire them sooner, which is why the
|
|
default is more aggressive than <code>gc.reflogExpire</code>.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gc.rerereResolved
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Records of conflicted merge you resolved earlier are
|
|
kept for this many days when <em>git rerere gc</em> is run.
|
|
You can also use more human-readable "1.month.ago", etc.
|
|
The default is 60 days. See <a href="git-rerere.html">git-rerere(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gc.rerereUnresolved
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Records of conflicted merge you have not resolved are
|
|
kept for this many days when <em>git rerere gc</em> is run.
|
|
You can also use more human-readable "1.month.ago", etc.
|
|
The default is 15 days. See <a href="git-rerere.html">git-rerere(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gitcvs.commitMsgAnnotation
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Append this string to each commit message. Set to empty string
|
|
to disable this feature. Defaults to "via git-CVS emulator".
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gitcvs.enabled
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Whether the CVS server interface is enabled for this repository.
|
|
See <a href="git-cvsserver.html">git-cvsserver(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gitcvs.logFile
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Path to a log file where the CVS server interface well… logs
|
|
various stuff. See <a href="git-cvsserver.html">git-cvsserver(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gitcvs.usecrlfattr
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If true, the server will look up the end-of-line conversion
|
|
attributes for files to determine the <code>-k</code> modes to use. If
|
|
the attributes force Git to treat a file as text,
|
|
the <code>-k</code> mode will be left blank so CVS clients will
|
|
treat it as text. If they suppress text conversion, the file
|
|
will be set with <em>-kb</em> mode, which suppresses any newline munging
|
|
the client might otherwise do. If the attributes do not allow
|
|
the file type to be determined, then <code>gitcvs.allBinary</code> is
|
|
used. See <a href="gitattributes.html">gitattributes(5)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gitcvs.allBinary
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This is used if <code>gitcvs.usecrlfattr</code> does not resolve
|
|
the correct <em>-kb</em> mode to use. If true, all
|
|
unresolved files are sent to the client in
|
|
mode <em>-kb</em>. This causes the client to treat them
|
|
as binary files, which suppresses any newline munging it
|
|
otherwise might do. Alternatively, if it is set to "guess",
|
|
then the contents of the file are examined to decide if
|
|
it is binary, similar to <code>core.autocrlf</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gitcvs.dbName
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Database used by git-cvsserver to cache revision information
|
|
derived from the Git repository. The exact meaning depends on the
|
|
used database driver, for SQLite (which is the default driver) this
|
|
is a filename. Supports variable substitution (see
|
|
<a href="git-cvsserver.html">git-cvsserver(1)</a> for details). May not contain semicolons (<code>;</code>).
|
|
Default: <em>%Ggitcvs.%m.sqlite</em>
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gitcvs.dbDriver
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Used Perl DBI driver. You can specify any available driver
|
|
for this here, but it might not work. git-cvsserver is tested
|
|
with <em>DBD::SQLite</em>, reported to work with <em>DBD::Pg</em>, and
|
|
reported <strong>not</strong> to work with <em>DBD::mysql</em>. Experimental feature.
|
|
May not contain double colons (<code>:</code>). Default: <em>SQLite</em>.
|
|
See <a href="git-cvsserver.html">git-cvsserver(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gitcvs.dbUser, gitcvs.dbPass
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Database user and password. Only useful if setting <code>gitcvs.dbDriver</code>,
|
|
since SQLite has no concept of database users and/or passwords.
|
|
<em>gitcvs.dbUser</em> supports variable substitution (see
|
|
<a href="git-cvsserver.html">git-cvsserver(1)</a> for details).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gitcvs.dbTableNamePrefix
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Database table name prefix. Prepended to the names of any
|
|
database tables used, allowing a single database to be used
|
|
for several repositories. Supports variable substitution (see
|
|
<a href="git-cvsserver.html">git-cvsserver(1)</a> for details). Any non-alphabetic
|
|
characters will be replaced with underscores.
|
|
</p>
|
|
</dd>
|
|
</dl></div>
|
|
<div class="paragraph"><p>All gitcvs variables except for <code>gitcvs.usecrlfattr</code> and
|
|
<code>gitcvs.allBinary</code> can also be specified as
|
|
<em>gitcvs.<access_method>.<varname></em> (where <em>access_method</em>
|
|
is one of "ext" and "pserver") to make them apply only for the given
|
|
access method.</p></div>
|
|
<div class="dlist"><dl>
|
|
<dt class="hdlist1">
|
|
gitweb.category
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
gitweb.description
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
gitweb.owner
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
gitweb.url
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
See <a href="gitweb.html">gitweb(1)</a> for description.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gitweb.avatar
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
gitweb.blame
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
gitweb.grep
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
gitweb.highlight
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
gitweb.patches
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
gitweb.pickaxe
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
gitweb.remote_heads
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
gitweb.showSizes
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
gitweb.snapshot
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
See <a href="gitweb.conf.html">gitweb.conf(5)</a> for description.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
grep.lineNumber
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set to true, enable <code>-n</code> option by default.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
grep.column
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set to true, enable the <code>--column</code> option by default.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
grep.patternType
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Set the default matching behavior. Using a value of <em>basic</em>, <em>extended</em>,
|
|
<em>fixed</em>, or <em>perl</em> will enable the <code>--basic-regexp</code>, <code>--extended-regexp</code>,
|
|
<code>--fixed-strings</code>, or <code>--perl-regexp</code> option accordingly, while the
|
|
value <em>default</em> will use the <code>grep.extendedRegexp</code> option to choose
|
|
between <em>basic</em> and <em>extended</em>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
grep.extendedRegexp
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set to true, enable <code>--extended-regexp</code> option by default. This
|
|
option is ignored when the <code>grep.patternType</code> option is set to a value
|
|
other than <em>default</em>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
grep.threads
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Number of grep worker threads to use. If unset (or set to 0), Git will
|
|
use as many threads as the number of logical cores available.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
grep.fullName
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set to true, enable <code>--full-name</code> option by default.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
grep.fallbackToNoIndex
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set to true, fall back to git grep --no-index if git grep
|
|
is executed outside of a git repository. Defaults to false.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gpg.program
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use this custom program instead of "<code>gpg</code>" found on <code>$PATH</code> when
|
|
making or verifying a PGP signature. The program must support the
|
|
same command-line interface as GPG, namely, to verify a detached
|
|
signature, "<code>gpg --verify $signature - <$file</code>" is run, and the
|
|
program is expected to signal a good signature by exiting with
|
|
code 0, and to generate an ASCII-armored detached signature, the
|
|
standard input of "<code>gpg -bsau $key</code>" is fed with the contents to be
|
|
signed, and the program is expected to send the result to its
|
|
standard output.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gpg.format
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specifies which key format to use when signing with <code>--gpg-sign</code>.
|
|
Default is "openpgp". Other possible values are "x509", "ssh".
|
|
</p>
|
|
</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 require 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 that will be run when user.signingkey is not set and a ssh
|
|
signature is requested. On successful exit a valid ssh public key
|
|
prefixed with <code>key::</code> is expected in the first line of its output.
|
|
This allows for a script doing a dynamic lookup of the correct public
|
|
key when it is impractical to statically configure <code>user.signingKey</code>.
|
|
For example when keys or SSH Certificates are rotated frequently or
|
|
selection of the right key depends on external factors unknown to git.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gpg.ssh.allowedSignersFile
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A file containing ssh public keys which you are willing to trust.
|
|
The file consists of one or more lines of principals followed by an ssh
|
|
public key.
|
|
e.g.: <code>user1@example.com,user2@example.com ssh-rsa AAAAX1...</code>
|
|
See ssh-keygen(1) "ALLOWED SIGNERS" for details.
|
|
The principal is only used to identify the key and is available when
|
|
verifying a signature.
|
|
</p>
|
|
<div class="paragraph"><p>SSH has no concept of trust levels like gpg does. To be able to differentiate
|
|
between valid signatures and trusted signatures the trust level of a signature
|
|
verification is set to <code>fully</code> when the public key is present in the allowedSignersFile.
|
|
Otherwise the trust level is <code>undefined</code> and git verify-commit/tag will fail.</p></div>
|
|
<div class="paragraph"><p>This file can be set to a location outside of the repository and every developer
|
|
maintains their own trust store. A central repository server could generate this
|
|
file automatically from ssh keys with push access to verify the code against.
|
|
In a corporate setting this file is probably generated at a global location
|
|
from automation that already handles developer ssh keys.</p></div>
|
|
<div class="paragraph"><p>A repository that only allows signed commits can store the file
|
|
in the repository itself using a path relative to the top-level of the working tree.
|
|
This way only committers with an already valid key can add or change keys in the keyring.</p></div>
|
|
<div class="paragraph"><p>Since OpensSSH 8.8 this file allows specifying a key lifetime using valid-after &
|
|
valid-before options. Git will mark signatures as valid if the signing key was
|
|
valid at the time of the signature’s creation. This allows users to change a
|
|
signing key without invalidating all previously made signatures.</p></div>
|
|
<div class="paragraph"><p>Using a SSH CA key with the cert-authority option
|
|
(see ssh-keygen(1) "CERTIFICATES") is also valid.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gpg.ssh.revocationFile
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Either a SSH KRL or a list of revoked public keys (without the principal prefix).
|
|
See ssh-keygen(1) for details.
|
|
If a public key is found in this file then it will always be treated
|
|
as having trust level "never" and signatures will show as invalid.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gui.commitMsgWidth
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Defines how wide the commit message window is in the
|
|
<a href="git-gui.html">git-gui(1)</a>. "75" is the default.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gui.diffContext
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specifies how many context lines should be used in calls to diff
|
|
made by the <a href="git-gui.html">git-gui(1)</a>. The default is "5".
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gui.displayUntracked
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Determines if <a href="git-gui.html">git-gui(1)</a> shows untracked files
|
|
in the file list. The default is "true".
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gui.encoding
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specifies the default character encoding to use for displaying of
|
|
file contents in <a href="git-gui.html">git-gui(1)</a> and <a href="gitk.html">gitk(1)</a>.
|
|
It can be overridden by setting the <em>encoding</em> attribute
|
|
for relevant files (see <a href="gitattributes.html">gitattributes(5)</a>).
|
|
If this option is not set, the tools default to the
|
|
locale encoding.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gui.matchTrackingBranch
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Determines if new branches created with <a href="git-gui.html">git-gui(1)</a> should
|
|
default to tracking remote branches with matching names or
|
|
not. Default: "false".
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gui.newBranchTemplate
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Is used as suggested name when creating new branches using the
|
|
<a href="git-gui.html">git-gui(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gui.pruneDuringFetch
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
"true" if <a href="git-gui.html">git-gui(1)</a> should prune remote-tracking branches when
|
|
performing a fetch. The default value is "false".
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gui.trustmtime
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Determines if <a href="git-gui.html">git-gui(1)</a> should trust the file modification
|
|
timestamp or not. By default the timestamps are not trusted.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gui.spellingDictionary
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specifies the dictionary used for spell checking commit messages in
|
|
the <a href="git-gui.html">git-gui(1)</a>. When set to "none" spell checking is turned
|
|
off.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gui.fastCopyBlame
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If true, <em>git gui blame</em> uses <code>-C</code> instead of <code>-C -C</code> for original
|
|
location detection. It makes blame significantly faster on huge
|
|
repositories at the expense of less thorough copy detection.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gui.copyBlameThreshold
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specifies the threshold to use in <em>git gui blame</em> original location
|
|
detection, measured in alphanumeric characters. See the
|
|
<a href="git-blame.html">git-blame(1)</a> manual for more information on copy detection.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
gui.blamehistoryctx
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specifies the radius of history context in days to show in
|
|
<a href="gitk.html">gitk(1)</a> for the selected commit, when the <code>Show History
|
|
Context</code> menu item is invoked from <em>git gui blame</em>. If this
|
|
variable is set to zero, the whole history is shown.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
guitool.<name>.cmd
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specifies the shell command line to execute when the corresponding item
|
|
of the <a href="git-gui.html">git-gui(1)</a> <code>Tools</code> menu is invoked. This option is
|
|
mandatory for every tool. The command is executed from the root of
|
|
the working directory, and in the environment it receives the name of
|
|
the tool as <code>GIT_GUITOOL</code>, the name of the currently selected file as
|
|
<em>FILENAME</em>, and the name of the current branch as <em>CUR_BRANCH</em> (if
|
|
the head is detached, <em>CUR_BRANCH</em> is empty).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
guitool.<name>.needsFile
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Run the tool only if a diff is selected in the GUI. It guarantees
|
|
that <em>FILENAME</em> is not empty.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
guitool.<name>.noConsole
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Run the command silently, without creating a window to display its
|
|
output.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
guitool.<name>.noRescan
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Don’t rescan the working directory for changes after the tool
|
|
finishes execution.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
guitool.<name>.confirm
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Show a confirmation dialog before actually running the tool.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
guitool.<name>.argPrompt
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Request a string argument from the user, and pass it to the tool
|
|
through the <code>ARGS</code> environment variable. Since requesting an
|
|
argument implies confirmation, the <em>confirm</em> option has no effect
|
|
if this is enabled. If the option is set to <em>true</em>, <em>yes</em>, or <em>1</em>,
|
|
the dialog uses a built-in generic prompt; otherwise the exact
|
|
value of the variable is used.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
guitool.<name>.revPrompt
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Request a single valid revision from the user, and set the
|
|
<code>REVISION</code> environment variable. In other aspects this option
|
|
is similar to <em>argPrompt</em>, and can be used together with it.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
guitool.<name>.revUnmerged
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Show only unmerged branches in the <em>revPrompt</em> subdialog.
|
|
This is useful for tools similar to merge or rebase, but not
|
|
for things like checkout or reset.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
guitool.<name>.title
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specifies the title to use for the prompt dialog. The default
|
|
is the tool name.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
guitool.<name>.prompt
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specifies the general prompt string to display at the top of
|
|
the dialog, before subsections for <em>argPrompt</em> and <em>revPrompt</em>.
|
|
The default value includes the actual command.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
help.browser
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specify the browser that will be used to display help in the
|
|
<em>web</em> format. See <a href="git-help.html">git-help(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
help.format
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Override the default help format used by <a href="git-help.html">git-help(1)</a>.
|
|
Values <em>man</em>, <em>info</em>, <em>web</em> and <em>html</em> are supported. <em>man</em> is
|
|
the default. <em>web</em> and <em>html</em> are the same.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
help.autoCorrect
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If git detects typos and can identify exactly one valid command similar
|
|
to the error, git will try to suggest the correct command or even
|
|
run the suggestion automatically. Possible config values are:
|
|
</p>
|
|
<div class="ulist"><ul>
|
|
<li>
|
|
<p>
|
|
0 (default): show the suggested command.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
positive number: run the suggested command after specified
|
|
deciseconds (0.1 sec).
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
"immediate": run the suggested command immediately.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
"prompt": show the suggestion and prompt for confirmation to run
|
|
the command.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
"never": don’t run or show any suggested command.
|
|
</p>
|
|
</li>
|
|
</ul></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
help.htmlPath
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specify the path where the HTML documentation resides. File system paths
|
|
and URLs are supported. HTML pages will be prefixed with this path when
|
|
help is displayed in the <em>web</em> format. This defaults to the documentation
|
|
path of your Git installation.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.proxy
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Override the HTTP proxy, normally configured using the <em>http_proxy</em>,
|
|
<em>https_proxy</em>, and <em>all_proxy</em> environment variables (see <code>curl(1)</code>). In
|
|
addition to the syntax understood by curl, it is possible to specify a
|
|
proxy string with a user name but no password, in which case git will
|
|
attempt to acquire one in the same way it does for other credentials. See
|
|
<a href="gitcredentials.html">gitcredentials(7)</a> for more information. The syntax thus is
|
|
<em>[protocol://][user[:password]@]proxyhost[:port]</em>. This can be overridden
|
|
on a per-remote basis; see remote.<name>.proxy
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.proxyAuthMethod
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Set the method with which to authenticate against the HTTP proxy. This
|
|
only takes effect if the configured proxy string contains a user name part
|
|
(i.e. is of the form <em>user@host</em> or <em>user@host:port</em>). This can be
|
|
overridden on a per-remote basis; see <code>remote.<name>.proxyAuthMethod</code>.
|
|
Both can be overridden by the <code>GIT_HTTP_PROXY_AUTHMETHOD</code> environment
|
|
variable. Possible values are:
|
|
</p>
|
|
<div class="openblock">
|
|
<div class="content">
|
|
<div class="ulist"><ul>
|
|
<li>
|
|
<p>
|
|
<code>anyauth</code> - Automatically pick a suitable authentication method. It is
|
|
assumed that the proxy answers an unauthenticated request with a 407
|
|
status code and one or more Proxy-authenticate headers with supported
|
|
authentication methods. This is the default.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>basic</code> - HTTP Basic authentication
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>digest</code> - HTTP Digest authentication; this prevents the password from being
|
|
transmitted to the proxy in clear text
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>negotiate</code> - GSS-Negotiate authentication (compare the --negotiate option
|
|
of <code>curl(1)</code>)
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>ntlm</code> - NTLM authentication (compare the --ntlm option of <code>curl(1)</code>)
|
|
</p>
|
|
</li>
|
|
</ul></div>
|
|
</div></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.proxySSLCert
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The pathname of a file that stores a client certificate to use to authenticate
|
|
with an HTTPS proxy. Can be overridden by the <code>GIT_PROXY_SSL_CERT</code> environment
|
|
variable.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.proxySSLKey
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The pathname of a file that stores a private key to use to authenticate with
|
|
an HTTPS proxy. Can be overridden by the <code>GIT_PROXY_SSL_KEY</code> environment
|
|
variable.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.proxySSLCertPasswordProtected
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Enable Git’s password prompt for the proxy SSL certificate. Otherwise OpenSSL
|
|
will prompt the user, possibly many times, if the certificate or private key
|
|
is encrypted. Can be overridden by the <code>GIT_PROXY_SSL_CERT_PASSWORD_PROTECTED</code>
|
|
environment variable.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.proxySSLCAInfo
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Pathname to the file containing the certificate bundle that should be used to
|
|
verify the proxy with when using an HTTPS proxy. Can be overridden by the
|
|
<code>GIT_PROXY_SSL_CAINFO</code> environment variable.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.emptyAuth
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Attempt authentication without seeking a username or password. This
|
|
can be used to attempt GSS-Negotiate authentication without specifying
|
|
a username in the URL, as libcurl normally requires a username for
|
|
authentication.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.delegation
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Control GSSAPI credential delegation. The delegation is disabled
|
|
by default in libcurl since version 7.21.7. Set parameter to tell
|
|
the server what it is allowed to delegate when it comes to user
|
|
credentials. Used with GSS/kerberos. Possible values are:
|
|
</p>
|
|
<div class="openblock">
|
|
<div class="content">
|
|
<div class="ulist"><ul>
|
|
<li>
|
|
<p>
|
|
<code>none</code> - Don’t allow any delegation.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>policy</code> - Delegates if and only if the OK-AS-DELEGATE flag is set in the
|
|
Kerberos service ticket, which is a matter of realm policy.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>always</code> - Unconditionally allow the server to delegate.
|
|
</p>
|
|
</li>
|
|
</ul></div>
|
|
</div></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.extraHeader
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Pass an additional HTTP header when communicating with a server. If
|
|
more than one such entry exists, all of them are added as extra
|
|
headers. To allow overriding the settings inherited from the system
|
|
config, an empty value will reset the extra headers to the empty list.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.cookieFile
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The pathname of a file containing previously stored cookie lines,
|
|
which should be used
|
|
in the Git http session, if they match the server. The file format
|
|
of the file to read cookies from should be plain HTTP headers or
|
|
the Netscape/Mozilla cookie file format (see <code>curl(1)</code>).
|
|
NOTE that the file specified with http.cookieFile is used only as
|
|
input unless http.saveCookies is set.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.saveCookies
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set, store cookies received during requests to the file specified by
|
|
http.cookieFile. Has no effect if http.cookieFile is unset.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.version
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use the specified HTTP protocol version when communicating with a server.
|
|
If you want to force the default. The available and default version depend
|
|
on libcurl. Currently the possible values of
|
|
this option are:
|
|
</p>
|
|
<div class="ulist"><ul>
|
|
<li>
|
|
<p>
|
|
HTTP/2
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
HTTP/1.1
|
|
</p>
|
|
</li>
|
|
</ul></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.curloptResolve
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Hostname resolution information that will be used first by
|
|
libcurl when sending HTTP requests. This information should
|
|
be in one of the following formats:
|
|
</p>
|
|
<div class="ulist"><ul>
|
|
<li>
|
|
<p>
|
|
[+]HOST:PORT:ADDRESS[,ADDRESS]
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
-HOST:PORT
|
|
</p>
|
|
</li>
|
|
</ul></div>
|
|
<div class="paragraph"><p>The first format redirects all requests to the given <code>HOST:PORT</code>
|
|
to the provided <code>ADDRESS</code>(s). The second format clears all
|
|
previous config values for that <code>HOST:PORT</code> combination. To
|
|
allow easy overriding of all the settings inherited from the
|
|
system config, an empty value will reset all resolution
|
|
information to the empty list.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.sslVersion
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The SSL version to use when negotiating an SSL connection, if you
|
|
want to force the default. The available and default version
|
|
depend on whether libcurl was built against NSS or OpenSSL and the
|
|
particular configuration of the crypto library in use. Internally
|
|
this sets the <em>CURLOPT_SSL_VERSION</em> option; see the libcurl
|
|
documentation for more details on the format of this option and
|
|
for the ssl version supported. Currently the possible values of
|
|
this option are:
|
|
</p>
|
|
<div class="ulist"><ul>
|
|
<li>
|
|
<p>
|
|
sslv2
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
sslv3
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
tlsv1
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
tlsv1.0
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
tlsv1.1
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
tlsv1.2
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
tlsv1.3
|
|
</p>
|
|
</li>
|
|
</ul></div>
|
|
<div class="paragraph"><p>Can be overridden by the <code>GIT_SSL_VERSION</code> environment variable.
|
|
To force git to use libcurl’s default ssl version and ignore any
|
|
explicit http.sslversion option, set <code>GIT_SSL_VERSION</code> to the
|
|
empty string.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.sslCipherList
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A list of SSL ciphers to use when negotiating an SSL connection.
|
|
The available ciphers depend on whether libcurl was built against
|
|
NSS or OpenSSL and the particular configuration of the crypto
|
|
library in use. Internally this sets the <em>CURLOPT_SSL_CIPHER_LIST</em>
|
|
option; see the libcurl documentation for more details on the format
|
|
of this list.
|
|
</p>
|
|
<div class="paragraph"><p>Can be overridden by the <code>GIT_SSL_CIPHER_LIST</code> environment variable.
|
|
To force git to use libcurl’s default cipher list and ignore any
|
|
explicit http.sslCipherList option, set <code>GIT_SSL_CIPHER_LIST</code> to the
|
|
empty string.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.sslVerify
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Whether to verify the SSL certificate when fetching or pushing
|
|
over HTTPS. Defaults to true. Can be overridden by the
|
|
<code>GIT_SSL_NO_VERIFY</code> environment variable.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.sslCert
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
File containing the SSL certificate when fetching or pushing
|
|
over HTTPS. Can be overridden by the <code>GIT_SSL_CERT</code> environment
|
|
variable.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.sslKey
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
File containing the SSL private key when fetching or pushing
|
|
over HTTPS. Can be overridden by the <code>GIT_SSL_KEY</code> environment
|
|
variable.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.sslCertPasswordProtected
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Enable Git’s password prompt for the SSL certificate. Otherwise
|
|
OpenSSL will prompt the user, possibly many times, if the
|
|
certificate or private key is encrypted. Can be overridden by the
|
|
<code>GIT_SSL_CERT_PASSWORD_PROTECTED</code> environment variable.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.sslCAInfo
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
File containing the certificates to verify the peer with when
|
|
fetching or pushing over HTTPS. Can be overridden by the
|
|
<code>GIT_SSL_CAINFO</code> environment variable.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.sslCAPath
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Path containing files with the CA certificates to verify the peer
|
|
with when fetching or pushing over HTTPS. Can be overridden
|
|
by the <code>GIT_SSL_CAPATH</code> environment variable.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.sslBackend
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Name of the SSL backend to use (e.g. "openssl" or "schannel").
|
|
This option is ignored if cURL lacks support for choosing the SSL
|
|
backend at runtime.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.schannelCheckRevoke
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Used to enforce or disable certificate revocation checks in cURL
|
|
when http.sslBackend is set to "schannel". Defaults to <code>true</code> if
|
|
unset. Only necessary to disable this if Git consistently errors
|
|
and the message is about checking the revocation status of a
|
|
certificate. This option is ignored if cURL lacks support for
|
|
setting the relevant SSL option at runtime.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.schannelUseSSLCAInfo
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
As of cURL v7.60.0, the Secure Channel backend can use the
|
|
certificate bundle provided via <code>http.sslCAInfo</code>, but that would
|
|
override the Windows Certificate Store. Since this is not desirable
|
|
by default, Git will tell cURL not to use that bundle by default
|
|
when the <code>schannel</code> backend was configured via <code>http.sslBackend</code>,
|
|
unless <code>http.schannelUseSSLCAInfo</code> overrides this behavior.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.pinnedPubkey
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Public key of the https service. It may either be the filename of
|
|
a PEM or DER encoded public key file or a string starting with
|
|
<em>sha256//</em> followed by the base64 encoded sha256 hash of the
|
|
public key. See also libcurl <em>CURLOPT_PINNEDPUBLICKEY</em>. git will
|
|
exit with an error if this option is set but not supported by
|
|
cURL.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.sslTry
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Attempt to use AUTH SSL/TLS and encrypted data transfers
|
|
when connecting via regular FTP protocol. This might be needed
|
|
if the FTP server requires it for security reasons or you wish
|
|
to connect securely whenever remote FTP server supports it.
|
|
Default is false since it might trigger certificate verification
|
|
errors on misconfigured servers.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.maxRequests
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
How many HTTP requests to launch in parallel. Can be overridden
|
|
by the <code>GIT_HTTP_MAX_REQUESTS</code> environment variable. Default is 5.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.minSessions
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The number of curl sessions (counted across slots) to be kept across
|
|
requests. They will not be ended with curl_easy_cleanup() until
|
|
http_cleanup() is invoked. If USE_CURL_MULTI is not defined, this
|
|
value will be capped at 1. Defaults to 1.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.postBuffer
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Maximum size in bytes of the buffer used by smart HTTP
|
|
transports when POSTing data to the remote system.
|
|
For requests larger than this buffer size, HTTP/1.1 and
|
|
Transfer-Encoding: chunked is used to avoid creating a
|
|
massive pack file locally. Default is 1 MiB, which is
|
|
sufficient for most requests.
|
|
</p>
|
|
<div class="paragraph"><p>Note that raising this limit is only effective for disabling chunked
|
|
transfer encoding and therefore should be used only where the remote
|
|
server or a proxy only supports HTTP/1.0 or is noncompliant with the
|
|
HTTP standard. Raising this is not, in general, an effective solution
|
|
for most push problems, but can increase memory consumption
|
|
significantly since the entire buffer is allocated even for small
|
|
pushes.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.lowSpeedLimit, http.lowSpeedTime
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If the HTTP transfer speed is less than <em>http.lowSpeedLimit</em>
|
|
for longer than <em>http.lowSpeedTime</em> seconds, the transfer is aborted.
|
|
Can be overridden by the <code>GIT_HTTP_LOW_SPEED_LIMIT</code> and
|
|
<code>GIT_HTTP_LOW_SPEED_TIME</code> environment variables.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
http.noEPSV
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A boolean which disables using of EPSV ftp command by curl.
|
|
This can 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 client Git 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 at other places in the future or in other
|
|
porcelains). See e.g. <a href="git-mailinfo.html">git-mailinfo(1)</a>. Defaults to <em>utf-8</em>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
i18n.logOutputEncoding
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Character encoding the commit messages are converted to when
|
|
running <em>git log</em> and friends.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
imap.folder
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The folder to drop the mails into, which is typically the Drafts
|
|
folder. For example: "INBOX.Drafts", "INBOX/Drafts" or
|
|
"[Gmail]/Drafts". Required.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
imap.tunnel
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Command used to setup 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 authenticate method for authentication with IMAP server.
|
|
If Git was built with the NO_CURL option, or if your curl version is older
|
|
than 7.34.0, or if you’re running git-imap-send with the <code>--no-curl</code>
|
|
option, the only supported method is <em>CRAM-MD5</em>. If this is not set
|
|
then <em>git imap-send</em> uses the basic IMAP plaintext LOGIN command.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
include.path
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
includeIf.<condition>.path
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Special variables to include other configuration files. See
|
|
the "CONFIGURATION FILE" section in the main
|
|
<a href="git-config.html">git-config(1)</a> documentation,
|
|
specifically the "Includes" and "Conditional Includes" subsections.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
index.recordEndOfIndexEntries
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specifies whether the index file should include an "End Of Index
|
|
Entry" section. This reduces index load time on multiprocessor
|
|
machines but produces a message "ignoring EOIE extension" when
|
|
reading the index using Git versions before 2.20. Defaults to
|
|
<em>true</em> if index.threads has been explicitly enabled, <em>false</em>
|
|
otherwise.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
index.recordOffsetTable
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specifies whether the index file should include an "Index Entry
|
|
Offset Table" section. This reduces index load time on
|
|
multiprocessor machines but produces a message "ignoring IEOT
|
|
extension" when reading the index using Git versions before 2.20.
|
|
Defaults to <em>true</em> if index.threads has been explicitly enabled,
|
|
<em>false</em> otherwise.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
index.sparse
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When enabled, write the index using sparse-directory entries. This
|
|
has no effect unless <code>core.sparseCheckout</code> and
|
|
<code>core.sparseCheckoutCone</code> are both enabled. Defaults to <em>false</em>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
index.threads
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specifies the number of threads to spawn when loading the index.
|
|
This is meant to reduce index load time on multiprocessor machines.
|
|
Specifying 0 or <em>true</em> will cause Git to auto-detect the number of
|
|
CPU’s 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">
|
|
init.templateDir
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specify the directory from which templates will be copied.
|
|
(See the "TEMPLATE DIRECTORY" section of <a href="git-init.html">git-init(1)</a>.)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
init.defaultBranch
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Allows overriding the default branch name e.g. when initializing
|
|
a new repository.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
instaweb.browser
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specify the program that will be used to browse your working
|
|
repository in gitweb. See <a href="git-instaweb.html">git-instaweb(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
instaweb.httpd
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The HTTP daemon command-line to start gitweb on your working
|
|
repository. See <a href="git-instaweb.html">git-instaweb(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
instaweb.local
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If true the web server started by <a href="git-instaweb.html">git-instaweb(1)</a> will
|
|
be bound to the local IP (127.0.0.1).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
instaweb.modulePath
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The default module path for <a href="git-instaweb.html">git-instaweb(1)</a> to use
|
|
instead of /usr/lib/apache2/modules. Only used if httpd
|
|
is Apache.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
instaweb.port
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The port number to bind the gitweb httpd to. See
|
|
<a href="git-instaweb.html">git-instaweb(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
interactive.singleKey
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
In interactive commands, allow the user to provide one-letter
|
|
input with a single key (i.e., without hitting enter).
|
|
Currently this is used by the <code>--patch</code> mode of
|
|
<a href="git-add.html">git-add(1)</a>, <a href="git-checkout.html">git-checkout(1)</a>,
|
|
<a href="git-restore.html">git-restore(1)</a>, <a href="git-commit.html">git-commit(1)</a>,
|
|
<a href="git-reset.html">git-reset(1)</a>, and <a href="git-stash.html">git-stash(1)</a>. Note that this
|
|
setting is silently ignored if portable keystroke input
|
|
is not available; requires the Perl module Term::ReadKey.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
interactive.diffFilter
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When an interactive command (such as <code>git add --patch</code>) shows
|
|
a colorized diff, git will pipe the diff through the shell
|
|
command defined by this configuration variable. The command may
|
|
mark up the diff further for human consumption, provided that it
|
|
retains a one-to-one correspondence with the lines in the
|
|
original diff. Defaults to disabled (no filtering).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
log.abbrevCommit
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If true, makes <a href="git-log.html">git-log(1)</a>, <a href="git-show.html">git-show(1)</a>, and
|
|
<a href="git-whatchanged.html">git-whatchanged(1)</a> assume <code>--abbrev-commit</code>. You may
|
|
override this option with <code>--no-abbrev-commit</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
log.date
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Set the default date-time mode for the <em>log</em> command.
|
|
Setting a value for log.date is similar to using <em>git log</em>'s
|
|
<code>--date</code> option. See <a href="git-log.html">git-log(1)</a> for details.
|
|
</p>
|
|
<div class="paragraph"><p>If the format is set to "auto:foo" and the pager is in use, format
|
|
"foo" will be the used for the date format. Otherwise "default" will
|
|
be used.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
log.decorate
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Print out the ref names of any commits that are shown by the log
|
|
command. If <em>short</em> is specified, the ref name prefixes <em>refs/heads/</em>,
|
|
<em>refs/tags/</em> and <em>refs/remotes/</em> will not be printed. If <em>full</em> is
|
|
specified, the full ref name (including prefix) will be printed.
|
|
If <em>auto</em> is specified, then if the output is going to a terminal,
|
|
the ref names are shown as if <em>short</em> were given, otherwise no ref
|
|
names are shown. This is the same as the <code>--decorate</code> option
|
|
of the <code>git log</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
log.initialDecorationSet
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
By default, <code>git log</code> only shows decorations for certain known ref
|
|
namespaces. If <em>all</em> is specified, then show all refs as
|
|
decorations.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
log.excludeDecoration
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Exclude the specified patterns from the log decorations. This is
|
|
similar to the <code>--decorate-refs-exclude</code> command-line option, but
|
|
the config option can be overridden by the <code>--decorate-refs</code>
|
|
option.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
log.diffMerges
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Set default diff format to be used for merge commits. See
|
|
<code>--diff-merges</code> in <a href="git-log.html">git-log(1)</a> for details.
|
|
Defaults to <code>separate</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
log.follow
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If <code>true</code>, <code>git log</code> will act as if the <code>--follow</code> option was used when
|
|
a single <path> is given. This has the same limitations as <code>--follow</code>,
|
|
i.e. it cannot be used to follow multiple files and does not work well
|
|
on non-linear history.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
log.graphColors
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A list of colors, separated by commas, that can be used to draw
|
|
history lines in <code>git log --graph</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
log.showRoot
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If true, the initial commit will be shown as a big creation event.
|
|
This is equivalent to a diff against an empty tree.
|
|
Tools like <a href="git-log.html">git-log(1)</a> or <a href="git-whatchanged.html">git-whatchanged(1)</a>, which
|
|
normally hide the root commit will now show it. True by default.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
log.showSignature
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If true, makes <a href="git-log.html">git-log(1)</a>, <a href="git-show.html">git-show(1)</a>, and
|
|
<a href="git-whatchanged.html">git-whatchanged(1)</a> assume <code>--show-signature</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
log.mailmap
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If true, makes <a href="git-log.html">git-log(1)</a>, <a href="git-show.html">git-show(1)</a>, and
|
|
<a href="git-whatchanged.html">git-whatchanged(1)</a> assume <code>--use-mailmap</code>, otherwise
|
|
assume <code>--no-use-mailmap</code>. True by default.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
lsrefs.unborn
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
May be "advertise" (the default), "allow", or "ignore". If "advertise",
|
|
the server will respond to the client sending "unborn" (as described in
|
|
<a href="gitprotocol-v2.html">gitprotocol-v2(5)</a>) and will advertise support for this feature during the
|
|
protocol v2 capability advertisement. "allow" is the same as
|
|
"advertise" except that the server will not advertise support for this
|
|
feature; this is useful for load-balanced servers that cannot be
|
|
updated atomically (for example), since the administrator could
|
|
configure "allow", then after a delay, configure "advertise".
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
mailinfo.scissors
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If true, makes <a href="git-mailinfo.html">git-mailinfo(1)</a> (and therefore
|
|
<a href="git-am.html">git-am(1)</a>) act by default as if the --scissors option
|
|
was provided on the command-line. When active, this features
|
|
removes everything from the message body before a scissors
|
|
line (i.e. consisting mainly of ">8", "8<" and "-").
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
mailmap.file
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The location of an augmenting mailmap file. The default
|
|
mailmap, located in the root of the repository, is loaded
|
|
first, then the mailmap file pointed to by this variable.
|
|
The location of the mailmap file may be in a repository
|
|
subdirectory, or somewhere outside of the repository itself.
|
|
See <a href="git-shortlog.html">git-shortlog(1)</a> and <a href="git-blame.html">git-blame(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
mailmap.blob
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Like <code>mailmap.file</code>, but consider the value as a reference to a
|
|
blob in the repository. If both <code>mailmap.file</code> and
|
|
<code>mailmap.blob</code> are given, both are parsed, with entries from
|
|
<code>mailmap.file</code> taking precedence. In a bare repository, this
|
|
defaults to <code>HEAD:.mailmap</code>. In a non-bare repository, it
|
|
defaults to empty.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
maintenance.auto
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This boolean config option controls whether some commands run
|
|
<code>git maintenance run --auto</code> after doing their normal work. Defaults
|
|
to true.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
maintenance.strategy
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This string config option provides a way to specify one of a few
|
|
recommended schedules for background maintenance. This only affects
|
|
which tasks are run during <code>git maintenance run --schedule=X</code>
|
|
commands, provided no <code>--task=<task></code> arguments are provided.
|
|
Further, if a <code>maintenance.<task>.schedule</code> config value is set,
|
|
then that value is used instead of the one provided by
|
|
<code>maintenance.strategy</code>. The possible strategy strings are:
|
|
</p>
|
|
<div class="ulist"><ul>
|
|
<li>
|
|
<p>
|
|
<code>none</code>: This default setting implies no task are run at any schedule.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>incremental</code>: This setting optimizes for performing small maintenance
|
|
activities that do not delete any data. This does not schedule the <code>gc</code>
|
|
task, but runs the <code>prefetch</code> and <code>commit-graph</code> tasks hourly, the
|
|
<code>loose-objects</code> and <code>incremental-repack</code> tasks daily, and the <code>pack-refs</code>
|
|
task weekly.
|
|
</p>
|
|
</li>
|
|
</ul></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
maintenance.<task>.enabled
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This boolean config option controls whether the maintenance task
|
|
with name <code><task></code> is run when no <code>--task</code> option is specified to
|
|
<code>git maintenance run</code>. These config values are ignored if a
|
|
<code>--task</code> option exists. By default, only <code>maintenance.gc.enabled</code>
|
|
is true.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
maintenance.<task>.schedule
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This config option controls whether or not the given <code><task></code> runs
|
|
during a <code>git maintenance run --schedule=<frequency></code> command. The
|
|
value must be one of "hourly", "daily", or "weekly".
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
maintenance.commit-graph.auto
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This integer config option controls how often the <code>commit-graph</code> task
|
|
should be run as part of <code>git maintenance run --auto</code>. If zero, then
|
|
the <code>commit-graph</code> task will not run with the <code>--auto</code> option. A
|
|
negative value will force the task to run every time. Otherwise, a
|
|
positive value implies the command should run when the number of
|
|
reachable commits that are not in the commit-graph file is at least
|
|
the value of <code>maintenance.commit-graph.auto</code>. The default value is
|
|
100.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
maintenance.loose-objects.auto
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This integer config option controls how often the <code>loose-objects</code> task
|
|
should be run as part of <code>git maintenance run --auto</code>. If zero, then
|
|
the <code>loose-objects</code> task will not run with the <code>--auto</code> option. A
|
|
negative value will force the task to run every time. Otherwise, a
|
|
positive value implies the command should run when the number of
|
|
loose objects is at least the value of <code>maintenance.loose-objects.auto</code>.
|
|
The default value is 100.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
maintenance.incremental-repack.auto
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This integer config option controls how often the <code>incremental-repack</code>
|
|
task should be run as part of <code>git maintenance run --auto</code>. If zero,
|
|
then the <code>incremental-repack</code> task will not run with the <code>--auto</code>
|
|
option. A negative value will force the task to run every time.
|
|
Otherwise, a positive value implies the command should run when the
|
|
number of pack-files not in the multi-pack-index is at least the value
|
|
of <code>maintenance.incremental-repack.auto</code>. The default value is 10.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
man.viewer
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specify the programs that may be used to display help in the
|
|
<em>man</em> format. See <a href="git-help.html">git-help(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
man.<tool>.cmd
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specify the command to invoke the specified man viewer. The
|
|
specified command is evaluated in shell with the man page
|
|
passed as argument. (See <a href="git-help.html">git-help(1)</a>.)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
man.<tool>.path
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Override the path for the given tool that may be used to
|
|
display help in the <em>man</em> format. See <a href="git-help.html">git-help(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
merge.conflictStyle
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specify the style in which conflicted hunks are written out to
|
|
working tree files upon merge. The default is "merge", which
|
|
shows a <code><<<<<<<</code> conflict marker, changes made by one side,
|
|
a <code>=======</code> marker, changes made by the other side, and then
|
|
a <code>>>>>>>></code> marker. An alternate style, "diff3", adds a <code>|||||||</code>
|
|
marker and the original text before the <code>=======</code> marker. The
|
|
"merge" style tends to produce smaller conflict regions than diff3,
|
|
both because of the exclusion of the original text, and because
|
|
when a subset of lines match on the two sides they are just pulled
|
|
out of the conflict region. Another alternate style, "zdiff3", is
|
|
similar to diff3 but removes matching lines on the two sides from
|
|
the conflict region when those matching lines appear near either
|
|
the beginning or end of a conflict region.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
merge.defaultToUpstream
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If merge is called without any commit argument, merge the upstream
|
|
branches configured for the current branch by using their last
|
|
observed values stored in their remote-tracking branches.
|
|
The values of the <code>branch.<current branch>.merge</code> that name the
|
|
branches at the remote named by <code>branch.<current branch>.remote</code>
|
|
are consulted, and then they are mapped via <code>remote.<remote>.fetch</code>
|
|
to their corresponding remote-tracking branches, and the tips of
|
|
these tracking branches are merged. Defaults to true.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
merge.ff
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
By default, Git does not create an extra merge commit when merging
|
|
a commit that is a descendant of the current commit. Instead, the
|
|
tip of the current branch is fast-forwarded. When set to <code>false</code>,
|
|
this variable tells Git to create an extra merge commit in such
|
|
a case (equivalent to giving the <code>--no-ff</code> option from the command
|
|
line). When set to <code>only</code>, only such fast-forward merges are
|
|
allowed (equivalent to giving the <code>--ff-only</code> option from the
|
|
command line).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
merge.verifySignatures
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If true, this is equivalent to the --verify-signatures command
|
|
line option. See <a href="git-merge.html">git-merge(1)</a> for details.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
merge.branchdesc
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
In addition to branch names, populate the log message with
|
|
the branch description text associated with them. Defaults
|
|
to false.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
merge.log
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
In addition to branch names, populate the log message with at
|
|
most the specified number of one-line descriptions from the
|
|
actual commits that are being merged. Defaults to false, and
|
|
true is a synonym for 20.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
merge.suppressDest
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
By adding a glob that matches the names of integration
|
|
branches to this multi-valued configuration variable, the
|
|
default merge message computed for merges into these
|
|
integration branches will omit "into <branch name>" from
|
|
its title.
|
|
</p>
|
|
<div class="paragraph"><p>An element with an empty value can be used to clear the list
|
|
of globs accumulated from previous configuration entries.
|
|
When there is no <code>merge.suppressDest</code> variable defined, the
|
|
default value of <code>master</code> is used for backward compatibility.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
merge.renameLimit
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The number of files to consider in the exhaustive portion of
|
|
rename detection during a merge. If not specified, defaults
|
|
to the value of diff.renameLimit. If neither
|
|
merge.renameLimit nor diff.renameLimit are specified,
|
|
currently defaults to 7000. This setting has no effect if
|
|
rename detection is turned off.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
merge.renames
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Whether Git detects renames. If set to "false", rename detection
|
|
is disabled. If set to "true", basic rename detection is enabled.
|
|
Defaults to the value of diff.renames.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
merge.directoryRenames
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Whether Git detects directory renames, affecting what happens at
|
|
merge time to new files added to a directory on one side of
|
|
history when that directory was renamed on the other side of
|
|
history. If merge.directoryRenames is set to "false", directory
|
|
rename detection is disabled, meaning that such new files will be
|
|
left behind in the old directory. If set to "true", directory
|
|
rename detection is enabled, meaning that such new files will be
|
|
moved into the new directory. If set to "conflict", a conflict
|
|
will be reported for such paths. If merge.renames is false,
|
|
merge.directoryRenames is ignored and treated as false. Defaults
|
|
to "conflict".
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
merge.renormalize
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Tell Git that canonical representation of files in the
|
|
repository has changed over time (e.g. earlier commits record
|
|
text files with CRLF line endings, but recent ones use LF line
|
|
endings). In such a repository, Git can convert the data
|
|
recorded in commits to a canonical form before performing a
|
|
merge to reduce unnecessary conflicts. For more information,
|
|
see section "Merging branches with differing checkin/checkout
|
|
attributes" in <a href="gitattributes.html">gitattributes(5)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
merge.stat
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Whether to print the diffstat between ORIG_HEAD and the merge result
|
|
at the end of the merge. True by default.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
merge.autoStash
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When set to true, automatically create a temporary stash entry
|
|
before the operation begins, and apply it after the operation
|
|
ends. This means that you can run merge on a dirty worktree.
|
|
However, use with care: the final stash application after a
|
|
successful merge might result in non-trivial conflicts.
|
|
This option can be overridden by the <code>--no-autostash</code> and
|
|
<code>--autostash</code> options of <a href="git-merge.html">git-merge(1)</a>.
|
|
Defaults to false.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
merge.tool
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Controls which merge tool is used by <a href="git-mergetool.html">git-mergetool(1)</a>.
|
|
The list below shows the valid built-in values.
|
|
Any other value is treated as a custom merge tool and requires
|
|
that a corresponding mergetool.<tool>.cmd variable is defined.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
merge.guitool
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Controls which merge tool is used by <a href="git-mergetool.html">git-mergetool(1)</a> when the
|
|
-g/--gui flag is specified. The list below shows the valid built-in values.
|
|
Any other value is treated as a custom merge tool and requires that a
|
|
corresponding mergetool.<guitool>.cmd variable is defined.
|
|
</p>
|
|
<div class="dlist"><dl>
|
|
<dt class="hdlist1">
|
|
<code>araxis</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Araxis Merge (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>bc</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Beyond Compare (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>bc3</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Beyond Compare (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>bc4</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Beyond Compare (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>codecompare</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Code Compare (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>deltawalker</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use DeltaWalker (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>diffmerge</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use DiffMerge (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>diffuse</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Diffuse (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>ecmerge</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use ECMerge (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>emerge</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Emacs' Emerge
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>examdiff</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use ExamDiff Pro (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>guiffy</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Guiffy’s Diff Tool (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>gvimdiff</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use gVim (requires a graphical session) with a custom layout (see <code>git help mergetool</code>'s <code>BACKEND SPECIFIC HINTS</code> section)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>gvimdiff1</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use gVim (requires a graphical session) with a 2 panes layout (LOCAL and REMOTE)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>gvimdiff2</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use gVim (requires a graphical session) with a 3 panes layout (LOCAL, MERGED and REMOTE)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>gvimdiff3</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use gVim (requires a graphical session) where only the MERGED file is shown
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>kdiff3</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use KDiff3 (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>meld</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Meld (requires a graphical session) with optional <code>auto merge</code> (see <code>git help mergetool</code>'s <code>CONFIGURATION</code> section)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>nvimdiff</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Neovim with a custom layout (see <code>git help mergetool</code>'s <code>BACKEND SPECIFIC HINTS</code> section)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>nvimdiff1</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Neovim with a 2 panes layout (LOCAL and REMOTE)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>nvimdiff2</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Neovim with a 3 panes layout (LOCAL, MERGED and REMOTE)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>nvimdiff3</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Neovim where only the MERGED file is shown
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>opendiff</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use FileMerge (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>p4merge</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use HelixCore P4Merge (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>smerge</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Sublime Merge (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>tkdiff</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use TkDiff (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>tortoisemerge</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use TortoiseMerge (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>vimdiff</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Vim with a custom layout (see <code>git help mergetool</code>'s <code>BACKEND SPECIFIC HINTS</code> section)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>vimdiff1</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Vim with a 2 panes layout (LOCAL and REMOTE)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>vimdiff2</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Vim with a 3 panes layout (LOCAL, MERGED and REMOTE)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>vimdiff3</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use Vim where only the MERGED file is shown
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>winmerge</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use WinMerge (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
<code>xxdiff</code>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Use xxdiff (requires a graphical session)
|
|
</p>
|
|
</dd>
|
|
</dl></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
merge.verbosity
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Controls the amount of output shown by the recursive merge
|
|
strategy. Level 0 outputs nothing except a final error
|
|
message if conflicts were detected. Level 1 outputs only
|
|
conflicts, 2 outputs conflicts and file changes. Level 5 and
|
|
above outputs debugging information. The default is level 2.
|
|
Can be overridden by the <code>GIT_MERGE_VERBOSITY</code> environment variable.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
merge.<driver>.name
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Defines a human-readable name for a custom low-level
|
|
merge driver. See <a href="gitattributes.html">gitattributes(5)</a> for details.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
merge.<driver>.driver
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Defines the command that implements a custom low-level
|
|
merge driver. See <a href="gitattributes.html">gitattributes(5)</a> for details.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
merge.<driver>.recursive
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Names a low-level merge driver to be used when
|
|
performing an internal merge between common ancestors.
|
|
See <a href="gitattributes.html">gitattributes(5)</a> for details.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
mergetool.<tool>.path
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Override the path for the given tool. This is useful in case
|
|
your tool is not in the PATH.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
mergetool.<tool>.cmd
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specify the command to invoke the specified merge tool. The
|
|
specified command is evaluated in shell with the following
|
|
variables available: <em>BASE</em> is the name of a temporary file
|
|
containing the common base of the files to be merged, if available;
|
|
<em>LOCAL</em> is the name of a temporary file containing the contents of
|
|
the file on the current branch; <em>REMOTE</em> is the name of a temporary
|
|
file containing the contents of the file from the branch being
|
|
merged; <em>MERGED</em> contains the name of the file to which the merge
|
|
tool should write the results of a successful merge.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
mergetool.<tool>.hideResolved
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Allows the user to override the global <code>mergetool.hideResolved</code> value
|
|
for a specific tool. See <code>mergetool.hideResolved</code> for the full
|
|
description.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
mergetool.<tool>.trustExitCode
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
For a custom merge command, specify whether the exit code of
|
|
the merge command can be used to determine whether the merge was
|
|
successful. If this is not set to true then the merge target file
|
|
timestamp is checked and the merge assumed to have been successful
|
|
if the file has been updated, otherwise the user is prompted to
|
|
indicate the success of the merge.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
mergetool.meld.hasOutput
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Older versions of <code>meld</code> do not support the <code>--output</code> option.
|
|
Git will attempt to detect whether <code>meld</code> supports <code>--output</code>
|
|
by inspecting the output of <code>meld --help</code>. Configuring
|
|
<code>mergetool.meld.hasOutput</code> will make Git skip these checks and
|
|
use the configured value instead. Setting <code>mergetool.meld.hasOutput</code>
|
|
to <code>true</code> tells Git to unconditionally use the <code>--output</code> option,
|
|
and <code>false</code> avoids using <code>--output</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
mergetool.meld.useAutoMerge
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When the <code>--auto-merge</code> is given, meld will merge all non-conflicting
|
|
parts automatically, highlight the conflicting parts and wait for
|
|
user decision. Setting <code>mergetool.meld.useAutoMerge</code> to <code>true</code> tells
|
|
Git to unconditionally use the <code>--auto-merge</code> option with <code>meld</code>.
|
|
Setting this value to <code>auto</code> makes git detect whether <code>--auto-merge</code>
|
|
is supported and will only use <code>--auto-merge</code> when available. A
|
|
value of <code>false</code> avoids using <code>--auto-merge</code> altogether, and is the
|
|
default value.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
mergetool.vimdiff.layout
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The vimdiff backend uses this variable to control how its split
|
|
windows look like. Applies even if you are using Neovim (<code>nvim</code>) or
|
|
gVim (<code>gvim</code>) as the merge tool. See BACKEND SPECIFIC HINTS section
|
|
in <a href="git-mergetool.html">git-mergetool(1)</a>.
|
|
for details.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
mergetool.hideResolved
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
During a merge Git will automatically resolve as many conflicts as
|
|
possible and write the <em>MERGED</em> file containing conflict markers around
|
|
any conflicts that it cannot resolve; <em>LOCAL</em> and <em>REMOTE</em> normally
|
|
represent the versions of the file from before Git’s conflict
|
|
resolution. This flag causes <em>LOCAL</em> and <em>REMOTE</em> to be overwriten so
|
|
that only the unresolved conflicts are presented to the merge tool. Can
|
|
be configured per-tool via the <code>mergetool.<tool>.hideResolved</code>
|
|
configuration variable. Defaults to <code>false</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
mergetool.keepBackup
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
After performing a merge, the original file with conflict markers
|
|
can be saved as a file with a <code>.orig</code> extension. If this variable
|
|
is set to <code>false</code> then this file is not preserved. Defaults to
|
|
<code>true</code> (i.e. keep the backup files).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
mergetool.keepTemporaries
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When invoking a custom merge tool, Git uses a set of temporary
|
|
files to pass to the tool. If the tool returns an error and this
|
|
variable is set to <code>true</code>, then these temporary files will be
|
|
preserved, otherwise they will be removed after the tool has
|
|
exited. Defaults to <code>false</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
mergetool.writeToTemp
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Git writes temporary <em>BASE</em>, <em>LOCAL</em>, and <em>REMOTE</em> versions of
|
|
conflicting files in the worktree by default. Git will attempt
|
|
to use a temporary directory for these files when set <code>true</code>.
|
|
Defaults to <code>false</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
mergetool.prompt
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Prompt before each invocation of the merge resolution program.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
notes.mergeStrategy
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Which merge strategy to choose by default when resolving notes
|
|
conflicts. Must be one of <code>manual</code>, <code>ours</code>, <code>theirs</code>, <code>union</code>, or
|
|
<code>cat_sort_uniq</code>. Defaults to <code>manual</code>. See "NOTES MERGE STRATEGIES"
|
|
section of <a href="git-notes.html">git-notes(1)</a> for more information on each strategy.
|
|
</p>
|
|
<div class="paragraph"><p>This setting can be overridden by passing the <code>--strategy</code> option to
|
|
<a href="git-notes.html">git-notes(1)</a>.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
notes.<name>.mergeStrategy
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Which merge strategy to choose when doing a notes merge into
|
|
refs/notes/<name>. This overrides the more general
|
|
"notes.mergeStrategy". See the "NOTES MERGE STRATEGIES" section in
|
|
<a href="git-notes.html">git-notes(1)</a> for more information on the available strategies.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
notes.displayRef
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Which ref (or refs, if a glob or specified more than once), in
|
|
addition to the default set by <code>core.notesRef</code> or
|
|
<code>GIT_NOTES_REF</code>, to read notes from when showing commit
|
|
messages with the <em>git log</em> family of commands.
|
|
</p>
|
|
<div class="paragraph"><p>This setting can be overridden with the <code>GIT_NOTES_DISPLAY_REF</code>
|
|
environment variable, which must be a colon separated list of refs or
|
|
globs.</p></div>
|
|
<div class="paragraph"><p>A warning will be issued for refs that do not exist,
|
|
but a glob that does not match any refs is silently ignored.</p></div>
|
|
<div class="paragraph"><p>This setting can be disabled by the <code>--no-notes</code> option to the <em>git
|
|
log</em> family of commands, or by the <code>--notes=<ref></code> option accepted by
|
|
those commands.</p></div>
|
|
<div class="paragraph"><p>The effective value of "core.notesRef" (possibly overridden by
|
|
GIT_NOTES_REF) is also implicitly added to the list of refs to be
|
|
displayed.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
notes.rewrite.<command>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When rewriting commits with <command> (currently <code>amend</code> or
|
|
<code>rebase</code>), if this variable is <code>false</code>, git will not copy
|
|
notes from the original to the rewritten commit. Defaults to
|
|
<code>true</code>. See also "<code>notes.rewriteRef</code>" below.
|
|
</p>
|
|
<div class="paragraph"><p>This setting can be overridden with the <code>GIT_NOTES_REWRITE_REF</code>
|
|
environment variable, which must be a colon separated list of refs or
|
|
globs.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
notes.rewriteMode
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When copying notes during a rewrite (see the
|
|
"notes.rewrite.<command>" option), determines what to do if
|
|
the target commit already has a note. Must be one of
|
|
<code>overwrite</code>, <code>concatenate</code>, <code>cat_sort_uniq</code>, or <code>ignore</code>.
|
|
Defaults to <code>concatenate</code>.
|
|
</p>
|
|
<div class="paragraph"><p>This setting can be overridden with the <code>GIT_NOTES_REWRITE_MODE</code>
|
|
environment variable.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
notes.rewriteRef
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When copying notes during a rewrite, specifies the (fully
|
|
qualified) ref whose notes should be copied. May be a glob,
|
|
in which case notes in all matching refs will be copied. You
|
|
may also specify this configuration several times.
|
|
</p>
|
|
<div class="paragraph"><p>Does not have a default value; you must configure this variable to
|
|
enable note rewriting. Set it to <code>refs/notes/commits</code> to enable
|
|
rewriting for the default commit notes.</p></div>
|
|
<div class="paragraph"><p>Can be overridden with the <code>GIT_NOTES_REWRITE_REF</code> environment variable.
|
|
See <code>notes.rewrite.<command></code> above for a further description of its format.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
pack.window
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The size of the window used by <a href="git-pack-objects.html">git-pack-objects(1)</a> when no
|
|
window size is given on the command line. Defaults to 10.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
pack.depth
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The maximum delta depth used by <a href="git-pack-objects.html">git-pack-objects(1)</a> when no
|
|
maximum depth is given on the command line. Defaults to 50.
|
|
Maximum value is 4095.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
pack.windowMemory
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The maximum size of memory that is consumed by each thread
|
|
in <a href="git-pack-objects.html">git-pack-objects(1)</a> for pack window memory when
|
|
no limit is given on the command line. The value can be
|
|
suffixed with "k", "m", or "g". When left unconfigured (or
|
|
set explicitly to 0), there will be no limit.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
pack.compression
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
An integer -1..9, indicating the compression level for objects
|
|
in a pack file. -1 is the zlib default. 0 means no
|
|
compression, and 1..9 are various speed/size tradeoffs, 9 being
|
|
slowest. If not set, defaults to core.compression. If that is
|
|
not set, defaults to -1, the zlib default, which is "a default
|
|
compromise between speed and compression (currently equivalent
|
|
to level 6)."
|
|
</p>
|
|
<div class="paragraph"><p>Note that changing the compression level will not automatically recompress
|
|
all existing objects. You can force recompression by passing the -F option
|
|
to <a href="git-repack.html">git-repack(1)</a>.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
pack.allowPackReuse
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When true, and when reachability bitmaps are enabled,
|
|
pack-objects will try to send parts of the bitmapped packfile
|
|
verbatim. This can reduce memory and CPU usage to serve fetches,
|
|
but might result in sending a slightly larger pack. Defaults to
|
|
true.
|
|
</p>
|
|
</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 CPU’s
|
|
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 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), as well
|
|
as 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.useSparse
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When true, git will default to using the <em>--sparse</em> option in
|
|
<em>git pack-objects</em> when the <em>--revs</em> option is present. This
|
|
algorithm only walks trees that appear in paths that introduce new
|
|
objects. This can have significant performance benefits when
|
|
computing a pack to send a small change. However, it is possible
|
|
that extra objects are added to the pack-file if the included
|
|
commits contain certain types of direct renames. Default is
|
|
<code>true</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
pack.preferBitmapTips
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When selecting which commits will receive bitmaps, prefer a
|
|
commit at the tip of any reference that is a suffix of any value
|
|
of this configuration over any other commits in the "selection
|
|
window".
|
|
</p>
|
|
<div class="paragraph"><p>Note that setting this configuration to <code>refs/foo</code> does not mean that
|
|
the commits at the tips of <code>refs/foo/bar</code> and <code>refs/foo/baz</code> will
|
|
necessarily be selected. This is because commits are selected for
|
|
bitmaps from within a series of windows of variable length.</p></div>
|
|
<div class="paragraph"><p>If a commit at the tip of any reference which is a suffix of any value
|
|
of this configuration is seen in a window, it is immediately given
|
|
preference over any other commit in that window.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
pack.writeBitmaps (deprecated)
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This is a deprecated synonym for <code>repack.writeBitmaps</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
pack.writeBitmapHashCache
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When true, git will include a "hash cache" section in the bitmap
|
|
index (if one is written). This cache can be used to feed git’s
|
|
delta heuristics, potentially leading to better deltas between
|
|
bitmapped and non-bitmapped objects (e.g., when serving a fetch
|
|
between an older, bitmapped pack and objects that have been
|
|
pushed since the last gc). The downside is that it consumes 4
|
|
bytes per object of disk space. Defaults to true.
|
|
</p>
|
|
<div class="paragraph"><p>When writing a multi-pack reachability bitmap, no new namehashes are
|
|
computed; instead, any namehashes stored in an existing bitmap are
|
|
permuted into their appropriate location when writing a new bitmap.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
pack.writeBitmapLookupTable
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When true, Git will include a "lookup table" section in the
|
|
bitmap index (if one is written). This table is used to defer
|
|
loading individual bitmaps as late as possible. This can be
|
|
beneficial in repositories that have relatively large bitmap
|
|
indexes. Defaults to false.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
pack.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 false.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
pager.<cmd>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If the value is boolean, turns on or off pagination of the
|
|
output of a particular Git subcommand when writing to a tty.
|
|
Otherwise, turns on pagination for the subcommand using the
|
|
pager specified by the value of <code>pager.<cmd></code>. If <code>--paginate</code>
|
|
or <code>--no-pager</code> is specified on the command line, it takes
|
|
precedence over this option. To disable pagination for all
|
|
commands, set <code>core.pager</code> or <code>GIT_PAGER</code> to <code>cat</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
pretty.<name>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Alias for a --pretty= format string, as specified in
|
|
<a href="git-log.html">git-log(1)</a>. Any aliases defined here can be used just
|
|
as the built-in pretty formats could. For example,
|
|
running <code>git config pretty.changelog "format:* %H %s"</code>
|
|
would cause the invocation <code>git log --pretty=changelog</code>
|
|
to be equivalent to running <code>git log "--pretty=format:* %H %s"</code>.
|
|
Note that an alias with the same name as a built-in format
|
|
will be silently ignored.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
protocol.allow
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set, provide a user defined default policy for all protocols which
|
|
don’t explicitly have a policy (<code>protocol.<name>.allow</code>). By default,
|
|
if unset, known-safe protocols (http, https, git, ssh, file) have a
|
|
default policy of <code>always</code>, known-dangerous protocols (ext) have a
|
|
default policy of <code>never</code>, and all other protocols have a default
|
|
policy of <code>user</code>. Supported policies:
|
|
</p>
|
|
<div class="openblock">
|
|
<div class="content">
|
|
<div class="ulist"><ul>
|
|
<li>
|
|
<p>
|
|
<code>always</code> - protocol is always able to be used.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>never</code> - protocol is never able to be used.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>user</code> - protocol is only able to be used when <code>GIT_PROTOCOL_FROM_USER</code> is
|
|
either unset or has a value of 1. This policy should be used when you want a
|
|
protocol to be directly usable by the user but don’t want it used by commands which
|
|
execute clone/fetch/push commands without user input, e.g. recursive
|
|
submodule initialization.
|
|
</p>
|
|
</li>
|
|
</ul></div>
|
|
</div></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
protocol.<name>.allow
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Set a policy to be used by protocol <code><name></code> with clone/fetch/push
|
|
commands. See <code>protocol.allow</code> above for the available policies.
|
|
</p>
|
|
<div class="paragraph"><p>The protocol names currently used by git are:</p></div>
|
|
<div class="openblock">
|
|
<div class="content">
|
|
<div class="ulist"><ul>
|
|
<li>
|
|
<p>
|
|
<code>file</code>: any local file-based path (including <code>file://</code> URLs,
|
|
or local paths)
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>git</code>: the anonymous git protocol over a direct TCP
|
|
connection (or proxy, if configured)
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>ssh</code>: git over ssh (including <code>host:path</code> syntax,
|
|
<code>ssh://</code>, etc).
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>http</code>: git over http, both "smart http" and "dumb http".
|
|
Note that this does <em>not</em> include <code>https</code>; if you want to configure
|
|
both, you must do so individually.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
any external helpers are named by their protocol (e.g., use
|
|
<code>hg</code> to allow the <code>git-remote-hg</code> helper)
|
|
</p>
|
|
</li>
|
|
</ul></div>
|
|
</div></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
protocol.version
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set, clients will attempt to communicate with a server
|
|
using the specified protocol version. If the server does
|
|
not support it, communication falls back to version 0.
|
|
If unset, the default is <code>2</code>.
|
|
Supported versions:
|
|
</p>
|
|
<div class="openblock">
|
|
<div class="content">
|
|
<div class="ulist"><ul>
|
|
<li>
|
|
<p>
|
|
<code>0</code> - the original wire protocol.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>1</code> - the original wire protocol with the addition of a version string
|
|
in the initial response from the server.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>2</code> - Wire protocol version 2, see <a href="gitprotocol-v2.html">gitprotocol-v2(5)</a>.
|
|
</p>
|
|
</li>
|
|
</ul></div>
|
|
</div></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
pull.ff
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
By default, Git does not create an extra merge commit when merging
|
|
a commit that is a descendant of the current commit. Instead, the
|
|
tip of the current branch is fast-forwarded. When set to <code>false</code>,
|
|
this variable tells Git to create an extra merge commit in such
|
|
a case (equivalent to giving the <code>--no-ff</code> option from the command
|
|
line). When set to <code>only</code>, only such fast-forward merges are
|
|
allowed (equivalent to giving the <code>--ff-only</code> option from the
|
|
command line). This setting overrides <code>merge.ff</code> when pulling.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
pull.rebase
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When true, rebase branches on top of the fetched branch, instead
|
|
of merging the default branch from the default remote when "git
|
|
pull" is run. See "branch.<name>.rebase" for setting this on a
|
|
per-branch basis.
|
|
</p>
|
|
<div class="paragraph"><p>When <code>merges</code> (or just <em>m</em>), pass the <code>--rebase-merges</code> option to <em>git rebase</em>
|
|
so that the local merge commits are included in the rebase (see
|
|
<a href="git-rebase.html">git-rebase(1)</a> for details).</p></div>
|
|
<div class="paragraph"><p>When the value is <code>interactive</code> (or just <em>i</em>), the rebase is run in interactive
|
|
mode.</p></div>
|
|
<div class="paragraph"><p><strong>NOTE</strong>: this is a possibly dangerous operation; do <strong>not</strong> use
|
|
it unless you understand the implications (see <a href="git-rebase.html">git-rebase(1)</a>
|
|
for details).</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
pull.octopus
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The default merge strategy to use when pulling multiple branches
|
|
at once.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
pull.twohead
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The default merge strategy to use when pulling a single branch.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
push.autoSetupRemote
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set to "true" assume <code>--set-upstream</code> on default push when no
|
|
upstream tracking exists for the current branch; this option
|
|
takes effect with push.default options <em>simple</em>, <em>upstream</em>,
|
|
and <em>current</em>. It is useful if by default you want new branches
|
|
to be pushed to the default remote (like the behavior of
|
|
<em>push.default=current</em>) and you also want the upstream tracking
|
|
to be set. Workflows most likely to benefit from this option are
|
|
<em>simple</em> central workflows where all branches are expected to
|
|
have the same name on the remote.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
push.default
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Defines the action <code>git push</code> should take if no refspec is
|
|
given (whether from the command-line, config, or elsewhere).
|
|
Different values are well-suited for
|
|
specific workflows; for instance, in a purely central workflow
|
|
(i.e. the fetch source is equal to the push destination),
|
|
<code>upstream</code> is probably what you want. Possible values are:
|
|
</p>
|
|
<div class="openblock">
|
|
<div class="content">
|
|
<div class="ulist"><ul>
|
|
<li>
|
|
<p>
|
|
<code>nothing</code> - do not push anything (error out) unless a refspec is
|
|
given. This is primarily meant for people who want to
|
|
avoid mistakes by always being explicit.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>current</code> - push the current branch to update a branch with the same
|
|
name on the receiving end. Works in both central and non-central
|
|
workflows.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>upstream</code> - push the current branch back to the branch whose
|
|
changes are usually integrated into the current branch (which is
|
|
called <code>@{upstream}</code>). This mode only makes sense if you are
|
|
pushing to the same repository you would normally pull from
|
|
(i.e. central workflow).
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>tracking</code> - This is a deprecated synonym for <code>upstream</code>.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>simple</code> - pushes the current branch with the same name on the remote.
|
|
</p>
|
|
<div class="paragraph"><p>If you are working on a centralized workflow (pushing to the same repository you
|
|
pull from, which is typically <code>origin</code>), then you need to configure an upstream
|
|
branch with the same name.</p></div>
|
|
<div class="paragraph"><p>This mode is the default since Git 2.0, and is the safest option suited for
|
|
beginners.</p></div>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>matching</code> - push all branches having the same name on both ends.
|
|
This makes the repository you are pushing to remember the set of
|
|
branches that will be pushed out (e.g. if you always push <em>maint</em>
|
|
and <em>master</em> there and no other branches, the repository you push
|
|
to will have these two branches, and your local <em>maint</em> and
|
|
<em>master</em> will be pushed there).
|
|
</p>
|
|
<div class="paragraph"><p>To use this mode effectively, you have to make sure <em>all</em> the
|
|
branches you would push out are ready to be pushed out before
|
|
running <em>git push</em>, as the whole point of this mode is to allow you
|
|
to push all of the branches in one go. If you usually finish work
|
|
on only one branch and push out the result, while other branches are
|
|
unfinished, this mode is not for you. Also this mode is not
|
|
suitable for pushing into a shared central repository, as other
|
|
people may add new branches there, or update the tip of existing
|
|
branches outside your control.</p></div>
|
|
<div class="paragraph"><p>This used to be the default, but not since Git 2.0 (<code>simple</code> is the
|
|
new default).</p></div>
|
|
</li>
|
|
</ul></div>
|
|
</div></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
push.followTags
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set to true enable <code>--follow-tags</code> option by default. You
|
|
may override this configuration at time of push by specifying
|
|
<code>--no-follow-tags</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
push.gpgSign
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
May be set to a boolean value, or the string <em>if-asked</em>. A true
|
|
value causes all pushes to be GPG signed, as if <code>--signed</code> is
|
|
passed to <a href="git-push.html">git-push(1)</a>. The string <em>if-asked</em> causes
|
|
pushes to be signed if the server supports it, as if
|
|
<code>--signed=if-asked</code> is passed to <em>git push</em>. A false value may
|
|
override a value from a lower-priority config file. An explicit
|
|
command-line flag always overrides this config option.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
push.pushOption
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When no <code>--push-option=<option></code> argument is given from the
|
|
command line, <code>git push</code> behaves as if each <value> of
|
|
this variable is given as <code>--push-option=<value></code>.
|
|
</p>
|
|
<div class="paragraph"><p>This is a multi-valued variable, and an empty value can be used in a
|
|
higher priority configuration file (e.g. <code>.git/config</code> in a
|
|
repository) to clear the values inherited from a lower priority
|
|
configuration files (e.g. <code>$HOME/.gitconfig</code>).</p></div>
|
|
<div class="listingblock">
|
|
<div class="content">
|
|
<pre><code>Example:
|
|
|
|
/etc/gitconfig
|
|
push.pushoption = a
|
|
push.pushoption = b
|
|
|
|
~/.gitconfig
|
|
push.pushoption = c
|
|
|
|
repo/.git/config
|
|
push.pushoption =
|
|
push.pushoption = b
|
|
|
|
This will result in only b (a and c are cleared).</code></pre>
|
|
</div></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
push.recurseSubmodules
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Make sure all submodule commits used by the revisions to be pushed
|
|
are available on a remote-tracking branch. If the value is <em>check</em>
|
|
then Git will verify that all submodule commits that changed in the
|
|
revisions to be pushed are available on at least one remote of the
|
|
submodule. If any commits are missing, the push will be aborted and
|
|
exit with non-zero status. If the value is <em>on-demand</em> then all
|
|
submodules that changed in the revisions to be pushed will be
|
|
pushed. If on-demand was not able to push all necessary revisions
|
|
it will also be aborted and exit with non-zero status. If the value
|
|
is <em>no</em> then default behavior of ignoring submodules when pushing
|
|
is retained. You may override this configuration at time of push by
|
|
specifying <em>--recurse-submodules=check|on-demand|no</em>.
|
|
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 <code>--autosquash</code> option by default.
|
|
</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 long commit hash prepended to the format.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
rebase.abbreviateCommands
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set to true, <code>git rebase</code> will use abbreviated command names in the
|
|
todo list resulting in something like this:
|
|
</p>
|
|
<div class="listingblock">
|
|
<div class="content">
|
|
<pre><code> p deadbee The oneline of the commit
|
|
p fa1afe1 The oneline of the next commit
|
|
...</code></pre>
|
|
</div></div>
|
|
<div class="paragraph"><p>instead of:</p></div>
|
|
<div class="listingblock">
|
|
<div class="content">
|
|
<pre><code> pick deadbee The oneline of the commit
|
|
pick fa1afe1 The oneline of the next commit
|
|
...</code></pre>
|
|
</div></div>
|
|
<div class="paragraph"><p>Defaults to false.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
rebase.rescheduleFailedExec
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Automatically reschedule <code>exec</code> commands that failed. This only makes
|
|
sense in interactive mode (or when an <code>--exec</code> option was provided).
|
|
This is the same as specifying the <code>--reschedule-failed-exec</code> option.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
rebase.forkPoint
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set to false set <code>--no-fork-point</code> option by default.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
receive.advertiseAtomic
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
By default, git-receive-pack will advertise the atomic push
|
|
capability to its clients. If you don’t want to advertise this
|
|
capability, set this variable to false.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
receive.advertisePushOptions
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When set to true, git-receive-pack will advertise the push options
|
|
capability to its clients. False by default.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
receive.autogc
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
By default, git-receive-pack will run "git-gc --auto" after
|
|
receiving data from git-push and updating refs. You can stop
|
|
it by setting this variable to false.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
receive.certNonceSeed
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
By setting this variable to a string, <code>git receive-pack</code>
|
|
will accept a <code>git push --signed</code> and verifies it by using
|
|
a "nonce" protected by HMAC using this string as a secret
|
|
key.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
receive.certNonceSlop
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When a <code>git push --signed</code> sent a push certificate with a
|
|
"nonce" that was issued by a receive-pack serving the same
|
|
repository within this many seconds, export the "nonce"
|
|
found in the certificate to <code>GIT_PUSH_CERT_NONCE</code> to the
|
|
hooks (instead of what the receive-pack asked the sending
|
|
side to include). This may allow writing checks in
|
|
<code>pre-receive</code> and <code>post-receive</code> a bit easier. Instead of
|
|
checking <code>GIT_PUSH_CERT_NONCE_SLOP</code> environment variable
|
|
that records by how many seconds the nonce is stale to
|
|
decide if they want to accept the certificate, they only
|
|
can check <code>GIT_PUSH_CERT_NONCE_STATUS</code> is <code>OK</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
receive.fsckObjects
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If it is set to true, git-receive-pack will check all received
|
|
objects. See <code>transfer.fsckObjects</code> for what’s checked.
|
|
Defaults to false. If not set, the value of
|
|
<code>transfer.fsckObjects</code> is used instead.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
receive.fsck.<msg-id>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Acts like <code>fsck.<msg-id></code>, but is used by
|
|
<a href="git-receive-pack.html">git-receive-pack(1)</a> instead of
|
|
<a href="git-fsck.html">git-fsck(1)</a>. See the <code>fsck.<msg-id></code> documentation for
|
|
details.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
receive.fsck.skipList
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Acts like <code>fsck.skipList</code>, but is used by
|
|
<a href="git-receive-pack.html">git-receive-pack(1)</a> instead of
|
|
<a href="git-fsck.html">git-fsck(1)</a>. See the <code>fsck.skipList</code> documentation for
|
|
details.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
receive.keepAlive
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
After receiving the pack from the client, <code>receive-pack</code> may
|
|
produce no output (if <code>--quiet</code> was specified) while processing
|
|
the pack, causing some networks to drop the TCP connection.
|
|
With this option set, if <code>receive-pack</code> does not transmit
|
|
any data in this phase for <code>receive.keepAlive</code> seconds, it will
|
|
send a short keepalive packet. The default is 5 seconds; set
|
|
to 0 to disable keepalives entirely.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
receive.unpackLimit
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If the number of objects received in a push is below this
|
|
limit then the objects will be unpacked into loose object
|
|
files. However if the number of received objects equals or
|
|
exceeds this limit then the received pack will be stored as
|
|
a pack, after adding any missing delta bases. Storing the
|
|
pack from a push can make the push operation complete faster,
|
|
especially on slow filesystems. If not set, the value of
|
|
<code>transfer.unpackLimit</code> is used instead.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
receive.maxInputSize
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If the size of the incoming pack stream is larger than this
|
|
limit, then git-receive-pack will error out, instead of
|
|
accepting the pack file. If not set or set to 0, then the size
|
|
is unlimited.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
receive.denyDeletes
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set to true, git-receive-pack will deny a ref update that deletes
|
|
the ref. Use this to prevent such a ref deletion via a push.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
receive.denyDeleteCurrent
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set to true, git-receive-pack will deny a ref update that
|
|
deletes the currently checked out branch of a non-bare repository.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
receive.denyCurrentBranch
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set to true or "refuse", git-receive-pack will deny a ref update
|
|
to the currently checked out branch of a non-bare repository.
|
|
Such a push is potentially dangerous because it brings the HEAD
|
|
out of sync with the index and working tree. If set to "warn",
|
|
print a warning of such a push to stderr, but allow the push to
|
|
proceed. If set to false or "ignore", allow such pushes with no
|
|
message. Defaults to "refuse".
|
|
</p>
|
|
<div class="paragraph"><p>Another option is "updateInstead" which will update the working
|
|
tree if pushing into the current branch. This option is
|
|
intended for synchronizing working directories when one side is not easily
|
|
accessible via interactive ssh (e.g. a live web site, hence the requirement
|
|
that the working directory be clean). This mode also comes in handy when
|
|
developing inside a VM to test and fix code on different Operating Systems.</p></div>
|
|
<div class="paragraph"><p>By default, "updateInstead" will refuse the push if the working tree or
|
|
the index have any difference from the HEAD, but the <code>push-to-checkout</code>
|
|
hook can be used to customize this. See <a href="githooks.html">githooks(5)</a>.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
receive.denyNonFastForwards
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set to true, git-receive-pack will deny a ref update which is
|
|
not a fast-forward. Use this to prevent such an update via a push,
|
|
even if that push is forced. This configuration variable is
|
|
set when initializing a shared repository.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
receive.hideRefs
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This variable is the same as <code>transfer.hideRefs</code>, but applies
|
|
only to <code>receive-pack</code> (and so affects pushes, but not fetches).
|
|
An attempt to update or delete a hidden ref by <code>git push</code> is
|
|
rejected.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
receive.procReceiveRefs
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This is a multi-valued variable that defines reference prefixes
|
|
to match the commands in <code>receive-pack</code>. Commands matching the
|
|
prefixes will be executed by an external hook "proc-receive",
|
|
instead of the internal <code>execute_commands</code> function. If this
|
|
variable is not defined, the "proc-receive" hook will never be
|
|
used, and all commands will be executed by the internal
|
|
<code>execute_commands</code> function.
|
|
</p>
|
|
<div class="paragraph"><p>For example, if this variable is set to "refs/for", pushing to reference
|
|
such as "refs/for/master" will not create or update a reference named
|
|
"refs/for/master", but may create or update a pull request directly by
|
|
running the hook "proc-receive".</p></div>
|
|
<div class="paragraph"><p>Optional modifiers can be provided in the beginning of the value to filter
|
|
commands for specific actions: create (a), modify (m), delete (d).
|
|
A <code>!</code> can be included in the modifiers to negate the reference prefix entry.
|
|
E.g.:</p></div>
|
|
<div class="literalblock">
|
|
<div class="content">
|
|
<pre><code>git config --system --add receive.procReceiveRefs ad:refs/heads
|
|
git config --system --add receive.procReceiveRefs !:refs/heads</code></pre>
|
|
</div></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
receive.updateServerInfo
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set to true, git-receive-pack will run git-update-server-info
|
|
after receiving data from git-push and updating refs.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
receive.shallowUpdate
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set to true, .git/shallow can be updated when new refs
|
|
require new shallow roots. Otherwise those refs are rejected.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
remote.pushDefault
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The remote to push to by default. Overrides
|
|
<code>branch.<name>.remote</code> for all branches, and is overridden by
|
|
<code>branch.<name>.pushRemote</code> for specific branches.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
remote.<name>.url
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The URL of a remote repository. See <a href="git-fetch.html">git-fetch(1)</a> or
|
|
<a href="git-push.html">git-push(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
remote.<name>.pushurl
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The push URL of a remote repository. See <a href="git-push.html">git-push(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
remote.<name>.proxy
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
For remotes that require curl (http, https and ftp), the URL to
|
|
the proxy to use for that remote. Set to the empty string to
|
|
disable proxying for that remote.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
remote.<name>.proxyAuthMethod
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
For remotes that require curl (http, https and ftp), the method to use for
|
|
authenticating against the proxy in use (probably set in
|
|
<code>remote.<name>.proxy</code>). See <code>http.proxyAuthMethod</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
remote.<name>.fetch
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The default set of "refspec" for <a href="git-fetch.html">git-fetch(1)</a>. See
|
|
<a href="git-fetch.html">git-fetch(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
remote.<name>.push
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The default set of "refspec" for <a href="git-push.html">git-push(1)</a>. See
|
|
<a href="git-push.html">git-push(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
remote.<name>.mirror
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If true, pushing to this remote will automatically behave
|
|
as if the <code>--mirror</code> option was given on the command line.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
remote.<name>.skipDefaultUpdate
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If true, this remote will be skipped by default when updating
|
|
using <a href="git-fetch.html">git-fetch(1)</a> or the <code>update</code> subcommand of
|
|
<a href="git-remote.html">git-remote(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
remote.<name>.skipFetchAll
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If true, this remote will be skipped by default when updating
|
|
using <a href="git-fetch.html">git-fetch(1)</a> or the <code>update</code> subcommand of
|
|
<a href="git-remote.html">git-remote(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
remote.<name>.receivepack
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The default program to execute on the remote side when pushing. See
|
|
option --receive-pack of <a href="git-push.html">git-push(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
remote.<name>.uploadpack
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The default program to execute on the remote side when fetching. See
|
|
option --upload-pack of <a href="git-fetch-pack.html">git-fetch-pack(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
remote.<name>.tagOpt
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Setting this value to --no-tags disables automatic tag following when
|
|
fetching from remote <name>. Setting it to --tags will fetch every
|
|
tag from remote <name>, even if they are not reachable from remote
|
|
branch heads. Passing these flags directly to <a href="git-fetch.html">git-fetch(1)</a> can
|
|
override this setting. See options --tags and --no-tags of
|
|
<a href="git-fetch.html">git-fetch(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
remote.<name>.vcs
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Setting this to a value <vcs> will cause Git to interact with
|
|
the remote with the git-remote-<vcs> helper.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
remote.<name>.prune
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When set to true, fetching from this remote by default will also
|
|
remove any remote-tracking references that no longer exist on the
|
|
remote (as if the <code>--prune</code> option was given on the command line).
|
|
Overrides <code>fetch.prune</code> settings, if any.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
remote.<name>.pruneTags
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When set to true, fetching from this remote by default will also
|
|
remove any local tags that no longer exist on the remote if pruning
|
|
is activated in general via <code>remote.<name>.prune</code>, <code>fetch.prune</code> or
|
|
<code>--prune</code>. Overrides <code>fetch.pruneTags</code> settings, if any.
|
|
</p>
|
|
<div class="paragraph"><p>See also <code>remote.<name>.prune</code> and the PRUNING section of
|
|
<a href="git-fetch.html">git-fetch(1)</a>.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
remote.<name>.promisor
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When set to true, this remote will be used to fetch promisor
|
|
objects.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
remote.<name>.partialclonefilter
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The filter that will be applied when fetching from this promisor remote.
|
|
Changing or clearing this value will only affect fetches for new commits.
|
|
To fetch associated objects for commits already present in the local object
|
|
database, use the <code>--refetch</code> option of <a href="git-fetch.html">git-fetch(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
remotes.<group>
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The list of remotes which are fetched by "git remote update
|
|
<group>". See <a href="git-remote.html">git-remote(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
repack.useDeltaBaseOffset
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
By default, <a href="git-repack.html">git-repack(1)</a> creates packs that use
|
|
delta-base offset. If you need to share your repository with
|
|
Git older than version 1.4.4, either directly or via a dumb
|
|
protocol such as http, then you need to set this option to
|
|
"false" and repack. Access from old Git versions over the
|
|
native protocol are unaffected by this option.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
repack.packKeptObjects
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set to true, makes <code>git repack</code> act as if
|
|
<code>--pack-kept-objects</code> was passed. See <a href="git-repack.html">git-repack(1)</a> for
|
|
details. Defaults to <code>false</code> normally, but <code>true</code> if a bitmap
|
|
index is being written (either via <code>--write-bitmap-index</code> or
|
|
<code>repack.writeBitmaps</code>).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
repack.useDeltaIslands
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set to true, makes <code>git repack</code> act as if <code>--delta-islands</code>
|
|
was passed. Defaults to <code>false</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
repack.writeBitmaps
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When true, git will write a bitmap index when packing all
|
|
objects to disk (e.g., when <code>git repack -a</code> is run). This
|
|
index can speed up the "counting objects" phase of subsequent
|
|
packs created for clones and fetches, at the cost of some disk
|
|
space and extra time spent on the initial repack. This has
|
|
no effect if multiple packfiles are created.
|
|
Defaults to true on bare repos, false otherwise.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
repack.updateServerInfo
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set to false, <a href="git-repack.html">git-repack(1)</a> will not run
|
|
<a href="git-update-server-info.html">git-update-server-info(1)</a>. Defaults to true. Can be overridden
|
|
when true by the <code>-n</code> option of <a href="git-repack.html">git-repack(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
repack.cruftWindow
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
repack.cruftWindowMemory
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
repack.cruftDepth
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
repack.cruftThreads
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Parameters used by <a href="git-pack-objects.html">git-pack-objects(1)</a> when generating
|
|
a cruft pack and the respective parameters are not given over
|
|
the command line. See similarly named <code>pack.*</code> configuration
|
|
variables for defaults and meaning.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
rerere.autoUpdate
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When set to true, <code>git-rerere</code> updates the index with the
|
|
resulting contents after it cleanly resolves conflicts using
|
|
previously recorded resolution. Defaults to false.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
rerere.enabled
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Activate recording of resolved conflicts, so that identical
|
|
conflict hunks can be resolved automatically, should they be
|
|
encountered again. By default, <a href="git-rerere.html">git-rerere(1)</a> is
|
|
enabled if there is an <code>rr-cache</code> directory under the
|
|
<code>$GIT_DIR</code>, e.g. if "rerere" was previously used in the
|
|
repository.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
revert.reference
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Setting this variable to true makes <code>git revert</code> behave
|
|
as if the <code>--reference</code> option is given.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
safe.bareRepository
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specifies which bare repositories Git will work with. The currently
|
|
supported values are:
|
|
</p>
|
|
<div class="ulist"><ul>
|
|
<li>
|
|
<p>
|
|
<code>all</code>: Git works with all bare repositories. This is the default.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>explicit</code>: Git only works with bare repositories specified via
|
|
the top-level <code>--git-dir</code> command-line option, or the <code>GIT_DIR</code>
|
|
environment variable (see <a href="git.html">git(1)</a>).
|
|
</p>
|
|
<div class="paragraph"><p>If you do not use bare repositories in your workflow, then it may be
|
|
beneficial to set <code>safe.bareRepository</code> to <code>explicit</code> in your global
|
|
config. This will protect you from attacks that involve cloning a
|
|
repository that contains a bare repository and running a Git command
|
|
within that directory.</p></div>
|
|
<div class="paragraph"><p>This config setting is only respected in protected configuration (see
|
|
<a href="#SCOPES">[SCOPES]</a>). This prevents the untrusted repository from tampering with
|
|
this value.</p></div>
|
|
</li>
|
|
</ul></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
safe.directory
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
These config entries specify Git-tracked directories that are
|
|
considered safe even if they are owned by someone other than the
|
|
current user. By default, Git will refuse to even parse a Git
|
|
config of a repository owned by someone else, let alone run its
|
|
hooks, and this config setting allows users to specify exceptions,
|
|
e.g. for intentionally shared repositories (see the <code>--shared</code>
|
|
option in <a href="git-init.html">git-init(1)</a>).
|
|
</p>
|
|
<div class="paragraph"><p>This is a multi-valued setting, i.e. you can add more than one directory
|
|
via <code>git config --add</code>. To reset the list of safe directories (e.g. to
|
|
override any such directories specified in the system config), add a
|
|
<code>safe.directory</code> entry with an empty value.</p></div>
|
|
<div class="paragraph"><p>This config setting is only respected in protected configuration (see
|
|
<a href="#SCOPES">[SCOPES]</a>). This prevents the untrusted repository from tampering with this
|
|
value.</p></div>
|
|
<div class="paragraph"><p>The value of this setting is interpolated, i.e. <code>~/<path></code> expands to a
|
|
path relative to the home directory and <code>%(prefix)/<path></code> expands to a
|
|
path relative to Git’s (runtime) prefix.</p></div>
|
|
<div class="paragraph"><p>To completely opt-out of this security check, set <code>safe.directory</code> to the
|
|
string <code>*</code>. This will allow all repositories to be treated as if their
|
|
directory was listed in the <code>safe.directory</code> list. If <code>safe.directory=*</code>
|
|
is set in system config and you want to re-enable this protection, then
|
|
initialize your list with an empty value before listing the repositories
|
|
that you deem safe.</p></div>
|
|
<div class="paragraph"><p>As explained, Git only allows you to access repositories owned by
|
|
yourself, i.e. the user who is running Git, by default. When Git
|
|
is running as <em>root</em> in a non Windows platform that provides sudo,
|
|
however, git checks the SUDO_UID environment variable that sudo creates
|
|
and will allow access to the uid recorded as its value in addition to
|
|
the id from <em>root</em>.
|
|
This is to make it easy to perform a common sequence during installation
|
|
"make && sudo make install". A git process running under <em>sudo</em> runs as
|
|
<em>root</em> but the <em>sudo</em> command exports the environment variable to record
|
|
which id the original user has.
|
|
If that is not what you would prefer and want git to only trust
|
|
repositories that are owned by root instead, then you can remove
|
|
the <code>SUDO_UID</code> variable from root’s environment before invoking git.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
sendemail.identity
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A configuration identity. When given, causes values in the
|
|
<em>sendemail.<identity></em> subsection to take precedence over
|
|
values in the <em>sendemail</em> section. The default identity is
|
|
the value of <code>sendemail.identity</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
sendemail.smtpEncryption
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
See <a href="git-send-email.html">git-send-email(1)</a> for description. Note that this
|
|
setting is not subject to the <em>identity</em> mechanism.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
sendemail.smtpsslcertpath
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Path to ca-certificates (either a directory or a single file).
|
|
Set it to an empty string to disable certificate verification.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
sendemail.<identity>.*
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Identity-specific versions of the <em>sendemail.*</em> parameters
|
|
found below, taking precedence over those when this
|
|
identity is selected, through either the command-line or
|
|
<code>sendemail.identity</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
sendemail.multiEdit
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If true (default), a single editor instance will be spawned to edit
|
|
files you have to edit (patches when <code>--annotate</code> is used, and the
|
|
summary when <code>--compose</code> is used). If false, files will be edited one
|
|
after the other, spawning a new editor each time.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
sendemail.confirm
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Sets the default for whether to confirm before sending. Must be
|
|
one of <em>always</em>, <em>never</em>, <em>cc</em>, <em>compose</em>, or <em>auto</em>. See <code>--confirm</code>
|
|
in the <a href="git-send-email.html">git-send-email(1)</a> documentation for the meaning of these
|
|
values.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
sendemail.aliasesFile
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
To avoid typing long email addresses, point this to one or more
|
|
email aliases files. You must also supply <code>sendemail.aliasFileType</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
sendemail.aliasFileType
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Format of the file(s) specified in sendemail.aliasesFile. Must be
|
|
one of <em>mutt</em>, <em>mailrc</em>, <em>pine</em>, <em>elm</em>, or <em>gnus</em>, or <em>sendmail</em>.
|
|
</p>
|
|
<div class="paragraph"><p>What an alias file in each format looks like can be found in
|
|
the documentation of the email program of the same name. The
|
|
differences and limitations from the standard formats are
|
|
described below:</p></div>
|
|
<div class="openblock">
|
|
<div class="content">
|
|
<div class="dlist"><dl>
|
|
<dt class="hdlist1">
|
|
sendmail
|
|
</dt>
|
|
<dd>
|
|
<div class="ulist"><ul>
|
|
<li>
|
|
<p>
|
|
Quoted aliases and quoted addresses are not supported: lines that
|
|
contain a <code>"</code> symbol are ignored.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
Redirection to a file (<code>/path/name</code>) or pipe (<code>|command</code>) is not
|
|
supported.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
File inclusion (<code>:include: /path/name</code>) is not supported.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
Warnings are printed on the standard error output for any
|
|
explicitly unsupported constructs, and any other lines that are not
|
|
recognized by the parser.
|
|
</p>
|
|
</li>
|
|
</ul></div>
|
|
</dd>
|
|
</dl></div>
|
|
</div></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
sendemail.annotate
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
sendemail.bcc
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
sendemail.cc
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
sendemail.ccCmd
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
sendemail.chainReplyTo
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
sendemail.envelopeSender
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
sendemail.from
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
sendemail.signedoffbycc
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
sendemail.smtpPass
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
sendemail.suppresscc
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
sendemail.suppressFrom
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
sendemail.to
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
sendemail.tocmd
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
sendemail.smtpDomain
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
sendemail.smtpServer
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
sendemail.smtpServerPort
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
sendemail.smtpServerOption
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
sendemail.smtpUser
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
sendemail.thread
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
sendemail.transferEncoding
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
sendemail.validate
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
sendemail.xmailer
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
These configuration variables all provide a default for
|
|
<a href="git-send-email.html">git-send-email(1)</a> command-line options. See its
|
|
documentation for details.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
sendemail.signedoffcc (deprecated)
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Deprecated alias for <code>sendemail.signedoffbycc</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
sendemail.smtpBatchSize
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Number of messages to be sent per connection, after that a relogin
|
|
will happen. If the value is 0 or undefined, send all messages in
|
|
one connection.
|
|
See also the <code>--batch-size</code> option of <a href="git-send-email.html">git-send-email(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
sendemail.smtpReloginDelay
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Seconds wait before reconnecting to smtp server.
|
|
See also the <code>--relogin-delay</code> option of <a href="git-send-email.html">git-send-email(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
sendemail.forbidSendmailVariables
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
To avoid common misconfiguration mistakes, <a href="git-send-email.html">git-send-email(1)</a>
|
|
will abort with a warning if any configuration options for "sendmail"
|
|
exist. Set this variable to bypass the check.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
sequence.editor
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Text editor used by <code>git rebase -i</code> for editing the rebase instruction file.
|
|
The value is meant to be interpreted by the shell when it is used.
|
|
It can be overridden by the <code>GIT_SEQUENCE_EDITOR</code> environment variable.
|
|
When not configured the default commit message editor is used instead.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
showBranch.default
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The default set of branches for <a href="git-show-branch.html">git-show-branch(1)</a>.
|
|
See <a href="git-show-branch.html">git-show-branch(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
sparse.expectFilesOutsideOfPatterns
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Typically with sparse checkouts, files not matching any
|
|
sparsity patterns are marked with a SKIP_WORKTREE bit in the
|
|
index and are missing from the working tree. Accordingly, Git
|
|
will ordinarily check whether files with the SKIP_WORKTREE bit
|
|
are in fact present in the working tree contrary to
|
|
expectations. If Git finds any, it marks those paths as
|
|
present by clearing the relevant SKIP_WORKTREE bits. This
|
|
option can be used to tell Git that such
|
|
present-despite-skipped files are expected and to stop
|
|
checking for them.
|
|
</p>
|
|
<div class="paragraph"><p>The default is <code>false</code>, which allows Git to automatically recover
|
|
from the list of files in the index and working tree falling out of
|
|
sync.</p></div>
|
|
<div class="paragraph"><p>Set this to <code>true</code> if you are in a setup where some external factor
|
|
relieves Git of the responsibility for maintaining the consistency
|
|
between the presence of working tree files and sparsity patterns. For
|
|
example, if you have a Git-aware virtual file system that has a robust
|
|
mechanism for keeping the working tree and the sparsity patterns up to
|
|
date based on access patterns.</p></div>
|
|
<div class="paragraph"><p>Regardless of this setting, Git does not check for
|
|
present-despite-skipped files unless sparse checkout is enabled, so
|
|
this config option has no effect unless <code>core.sparseCheckout</code> is
|
|
<code>true</code>.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
splitIndex.maxPercentChange
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When the split index feature is used, this specifies the
|
|
percent of entries the split index can contain compared to the
|
|
total number of entries in both the split index and the shared
|
|
index before a new shared index is written.
|
|
The value should be between 0 and 100. If the value is 0 then
|
|
a new shared index is always written, if it is 100 a new
|
|
shared index is never written.
|
|
By default the value is 20, so a new shared index is written
|
|
if the number of entries in the split index would be greater
|
|
than 20 percent of the total number of entries.
|
|
See <a href="git-update-index.html">git-update-index(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
splitIndex.sharedIndexExpire
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When the split index feature is used, shared index files that
|
|
were not modified since the time this variable specifies will
|
|
be removed when a new shared index file is created. The value
|
|
"now" expires all entries immediately, and "never" suppresses
|
|
expiration altogether.
|
|
The default value is "2.weeks.ago".
|
|
Note that a shared index file is considered modified (for the
|
|
purpose of expiration) each time a new split-index file is
|
|
either created based on it or read from it.
|
|
See <a href="git-update-index.html">git-update-index(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
ssh.variant
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
By default, Git determines the command line arguments to use
|
|
based on the basename of the configured SSH command (configured
|
|
using the environment variable <code>GIT_SSH</code> or <code>GIT_SSH_COMMAND</code> or
|
|
the config setting <code>core.sshCommand</code>). If the basename is
|
|
unrecognized, Git will attempt to detect support of OpenSSH
|
|
options by first invoking the configured SSH command with the
|
|
<code>-G</code> (print configuration) option and will subsequently use
|
|
OpenSSH options (if that is successful) or no options besides
|
|
the host and remote command (if it fails).
|
|
</p>
|
|
<div class="paragraph"><p>The config variable <code>ssh.variant</code> can be set to override this detection.
|
|
Valid values are <code>ssh</code> (to use OpenSSH options), <code>plink</code>, <code>putty</code>,
|
|
<code>tortoiseplink</code>, <code>simple</code> (no options except the host and remote command).
|
|
The default auto-detection can be explicitly requested using the value
|
|
<code>auto</code>. Any other value is treated as <code>ssh</code>. This setting can also be
|
|
overridden via the environment variable <code>GIT_SSH_VARIANT</code>.</p></div>
|
|
<div class="paragraph"><p>The current command-line parameters used for each variant are as
|
|
follows:</p></div>
|
|
<div class="openblock">
|
|
<div class="content">
|
|
<div class="ulist"><ul>
|
|
<li>
|
|
<p>
|
|
<code>ssh</code> - [-p port] [-4] [-6] [-o option] [username@]host command
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>simple</code> - [username@]host command
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>plink</code> or <code>putty</code> - [-P port] [-4] [-6] [username@]host command
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>tortoiseplink</code> - [-P port] [-4] [-6] -batch [username@]host command
|
|
</p>
|
|
</li>
|
|
</ul></div>
|
|
</div></div>
|
|
<div class="paragraph"><p>Except for the <code>simple</code> variant, command-line parameters are likely to
|
|
change as git gains new features.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
status.relativePaths
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
By default, <a href="git-status.html">git-status(1)</a> shows paths relative to the
|
|
current directory. Setting this variable to <code>false</code> shows paths
|
|
relative to the repository root (this was the default for Git
|
|
prior to v1.5.4).
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
status.short
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Set to true to enable --short by default in <a href="git-status.html">git-status(1)</a>.
|
|
The option --no-short takes precedence over this variable.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
status.branch
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Set to true to enable --branch by default in <a href="git-status.html">git-status(1)</a>.
|
|
The option --no-branch takes precedence over this variable.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
status.aheadBehind
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Set to true to enable <code>--ahead-behind</code> and false to enable
|
|
<code>--no-ahead-behind</code> by default in <a href="git-status.html">git-status(1)</a> for
|
|
non-porcelain status formats. Defaults to true.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
status.displayCommentPrefix
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set to true, <a href="git-status.html">git-status(1)</a> will insert a comment
|
|
prefix before each output line (starting with
|
|
<code>core.commentChar</code>, i.e. <code>#</code> by default). This was the
|
|
behavior of <a href="git-status.html">git-status(1)</a> in Git 1.8.4 and previous.
|
|
Defaults to false.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
status.renameLimit
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The number of files to consider when performing rename detection
|
|
in <a href="git-status.html">git-status(1)</a> and <a href="git-commit.html">git-commit(1)</a>. Defaults to
|
|
the value of diff.renameLimit.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
status.renames
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Whether and how Git detects renames in <a href="git-status.html">git-status(1)</a> and
|
|
<a href="git-commit.html">git-commit(1)</a> . If set to "false", rename detection is
|
|
disabled. If set to "true", basic rename detection is enabled.
|
|
If set to "copies" or "copy", Git will detect copies, as well.
|
|
Defaults to the value of diff.renames.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
status.showStash
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If set to true, <a href="git-status.html">git-status(1)</a> will display the number of
|
|
entries currently stashed away.
|
|
Defaults to false.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
status.showUntrackedFiles
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
By default, <a href="git-status.html">git-status(1)</a> and <a href="git-commit.html">git-commit(1)</a> show
|
|
files which are not currently tracked by Git. Directories which
|
|
contain only untracked files, are shown with the directory name
|
|
only. Showing untracked files means that Git needs to lstat() all
|
|
the files in the whole repository, which might be slow on some
|
|
systems. So, this variable controls how the commands displays
|
|
the untracked files. Possible values are:
|
|
</p>
|
|
<div class="openblock">
|
|
<div class="content">
|
|
<div class="ulist"><ul>
|
|
<li>
|
|
<p>
|
|
<code>no</code> - Show no untracked files.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>normal</code> - Show untracked files and directories.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>all</code> - Show also individual files in untracked directories.
|
|
</p>
|
|
</li>
|
|
</ul></div>
|
|
</div></div>
|
|
<div class="paragraph"><p>If this variable is not specified, it defaults to <em>normal</em>.
|
|
This variable can be overridden with the -u|--untracked-files option
|
|
of <a href="git-status.html">git-status(1)</a> and <a href="git-commit.html">git-commit(1)</a>.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
status.submoduleSummary
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Defaults to false.
|
|
If this is set to a non zero number or true (identical to -1 or an
|
|
unlimited number), the submodule summary will be enabled and a
|
|
summary of commits for modified submodules will be shown (see
|
|
--summary-limit option of <a href="git-submodule.html">git-submodule(1)</a>). Please note
|
|
that the summary output command will be suppressed for all
|
|
submodules when <code>diff.ignoreSubmodules</code> is set to <em>all</em> or only
|
|
for those submodules where <code>submodule.<name>.ignore=all</code>. The only
|
|
exception to that rule is that status and commit will show staged
|
|
submodule changes. To
|
|
also view the summary for ignored submodules you can either use
|
|
the --ignore-submodules=dirty command-line option or the <em>git
|
|
submodule summary</em> command, which shows a similar output but does
|
|
not honor these settings.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
stash.showIncludeUntracked
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If this is set to true, the <code>git stash show</code> command will show
|
|
the untracked files of a stash entry. Defaults to false. See
|
|
description of <em>show</em> command in <a href="git-stash.html">git-stash(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
stash.showPatch
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If this is set to true, the <code>git stash show</code> command without an
|
|
option will show the stash entry in patch form. Defaults to false.
|
|
See description of <em>show</em> command in <a href="git-stash.html">git-stash(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
stash.showStat
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If this is set to true, the <code>git stash show</code> command without an
|
|
option will show diffstat of the stash entry. Defaults to true.
|
|
See description of <em>show</em> command in <a href="git-stash.html">git-stash(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
submodule.<name>.url
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The URL for a submodule. This variable is copied from the .gitmodules
|
|
file to the git config via <em>git submodule init</em>. The user can change
|
|
the configured URL before obtaining the submodule via <em>git submodule
|
|
update</em>. If neither submodule.<name>.active or submodule.active are
|
|
set, the presence of this variable is used as a fallback to indicate
|
|
whether the submodule is of interest to git commands.
|
|
See <a href="git-submodule.html">git-submodule(1)</a> and <a href="gitmodules.html">gitmodules(5)</a> for details.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
submodule.<name>.update
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The method by which a submodule is updated by <em>git submodule update</em>,
|
|
which is the only affected command, others such as
|
|
<em>git checkout --recurse-submodules</em> are unaffected. It exists for
|
|
historical reasons, when <em>git submodule</em> was the only command to
|
|
interact with submodules; settings like <code>submodule.active</code>
|
|
and <code>pull.rebase</code> are more specific. It is populated by
|
|
<code>git submodule init</code> from the <a href="gitmodules.html">gitmodules(5)</a> file.
|
|
See description of <em>update</em> command in <a href="git-submodule.html">git-submodule(1)</a>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
submodule.<name>.branch
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The remote branch name for a submodule, used by <code>git submodule
|
|
update --remote</code>. Set this option to override the value found in
|
|
the <code>.gitmodules</code> file. See <a href="git-submodule.html">git-submodule(1)</a> and
|
|
<a href="gitmodules.html">gitmodules(5)</a> for details.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
submodule.<name>.fetchRecurseSubmodules
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This option can be used to control recursive fetching of this
|
|
submodule. It can be overridden by using the --[no-]recurse-submodules
|
|
command-line option to "git fetch" and "git pull".
|
|
This setting will override that from in the <a href="gitmodules.html">gitmodules(5)</a>
|
|
file.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
submodule.<name>.ignore
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Defines under what circumstances "git status" and the diff family show
|
|
a submodule as modified. When set to "all", it will never be considered
|
|
modified (but it will nonetheless show up in the output of status and
|
|
commit when it has been staged), "dirty" will ignore all changes
|
|
to the submodules work tree and
|
|
takes only differences between the HEAD of the submodule and the commit
|
|
recorded in the superproject into account. "untracked" will additionally
|
|
let submodules with modified tracked files in their work tree show up.
|
|
Using "none" (the default when this option is not set) also shows
|
|
submodules that have untracked files in their work tree as changed.
|
|
This setting overrides any setting made in .gitmodules for this submodule,
|
|
both settings can be overridden on the command line by using the
|
|
"--ignore-submodules" option. The <em>git submodule</em> commands are not
|
|
affected by this setting.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
submodule.<name>.active
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Boolean value indicating if the submodule is of interest to git
|
|
commands. This config option takes precedence over the
|
|
submodule.active config option. See <a href="gitsubmodules.html">gitsubmodules(7)</a> for
|
|
details.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
submodule.active
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A repeated field which contains a pathspec used to match against a
|
|
submodule’s path to determine if the submodule is of interest to git
|
|
commands. See <a href="gitsubmodules.html">gitsubmodules(7)</a> for details.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
submodule.recurse
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A boolean indicating if commands should enable the <code>--recurse-submodules</code>
|
|
option by default. Defaults to false.
|
|
</p>
|
|
<div class="paragraph"><p>When set to true, it can be deactivated via the
|
|
<code>--no-recurse-submodules</code> option. Note that some Git commands
|
|
lacking this option may call some of the above commands affected by
|
|
<code>submodule.recurse</code>; for instance <code>git remote update</code> will call
|
|
<code>git fetch</code> but does not have a <code>--no-recurse-submodules</code> option.
|
|
For these commands a workaround is to temporarily change the
|
|
configuration value by using <code>git -c submodule.recurse=0</code>.</p></div>
|
|
<div class="paragraph"><p>The following list shows the commands that accept
|
|
<code>--recurse-submodules</code> and whether they are supported by this
|
|
setting.</p></div>
|
|
<div class="ulist"><ul>
|
|
<li>
|
|
<p>
|
|
<code>checkout</code>, <code>fetch</code>, <code>grep</code>, <code>pull</code>, <code>push</code>, <code>read-tree</code>,
|
|
<code>reset</code>, <code>restore</code> and <code>switch</code> are always supported.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>clone</code> and <code>ls-files</code> are not supported.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>branch</code> is supported only if <code>submodule.propagateBranches</code> is
|
|
enabled
|
|
</p>
|
|
</li>
|
|
</ul></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
submodule.propagateBranches
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
[EXPERIMENTAL] A boolean that enables branching support when
|
|
using <code>--recurse-submodules</code> or <code>submodule.recurse=true</code>.
|
|
Enabling this will allow certain commands to accept
|
|
<code>--recurse-submodules</code> and certain commands that already accept
|
|
<code>--recurse-submodules</code> will now consider branches.
|
|
Defaults to false.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
submodule.fetchJobs
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specifies how many submodules are fetched/cloned at the same time.
|
|
A positive integer allows up to that number of submodules fetched
|
|
in parallel. A value of 0 will give some reasonable default.
|
|
If unset, it defaults to 1.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
submodule.alternateLocation
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specifies how the submodules obtain alternates when submodules are
|
|
cloned. Possible values are <code>no</code>, <code>superproject</code>.
|
|
By default <code>no</code> is assumed, which doesn’t add references. When the
|
|
value is set to <code>superproject</code> the submodule to be cloned computes
|
|
its alternates location relative to the superprojects alternate.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
submodule.alternateErrorStrategy
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specifies how to treat errors with the alternates for a submodule
|
|
as computed via <code>submodule.alternateLocation</code>. Possible values are
|
|
<code>ignore</code>, <code>info</code>, <code>die</code>. Default is <code>die</code>. Note that if set to <code>ignore</code>
|
|
or <code>info</code>, and if there is an error with the computed alternate, the
|
|
clone proceeds as if no alternate was specified.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
tag.forceSignAnnotated
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A boolean to specify whether annotated tags created should be GPG signed.
|
|
If <code>--annotate</code> is specified on the command line, it takes
|
|
precedence over this option.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
tag.sort
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This variable controls the sort ordering of tags when displayed by
|
|
<a href="git-tag.html">git-tag(1)</a>. Without the "--sort=<value>" option provided, the
|
|
value of this variable will be used as the default.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
tag.gpgSign
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A boolean to specify whether all tags should be GPG signed.
|
|
Use of this option when running in an automated script can
|
|
result in a large number of tags being signed. It is therefore
|
|
convenient to use an agent to avoid typing your gpg passphrase
|
|
several times. Note that this option doesn’t affect tag signing
|
|
behavior enabled by "-u <keyid>" or "--local-user=<keyid>" options.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
tar.umask
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This variable can be used to restrict the permission bits of
|
|
tar archive entries. The default is 0002, which turns off the
|
|
world write bit. The special value "user" indicates that the
|
|
archiving user’s umask will be used instead. See umask(2) and
|
|
<a href="git-archive.html">git-archive(1)</a>.
|
|
</p>
|
|
</dd>
|
|
</dl></div>
|
|
<div class="paragraph"><p>Trace2 config settings are only read from the system and global
|
|
config files; repository local and worktree config files and <code>-c</code>
|
|
command line arguments are not respected.</p></div>
|
|
<div class="dlist"><dl>
|
|
<dt class="hdlist1">
|
|
trace2.normalTarget
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This variable controls the normal target destination.
|
|
It may be overridden by the <code>GIT_TRACE2</code> environment variable.
|
|
The following table shows possible values.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
trace2.perfTarget
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This variable controls the performance target destination.
|
|
It may be overridden by the <code>GIT_TRACE2_PERF</code> environment variable.
|
|
The following table shows possible values.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
trace2.eventTarget
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This variable controls the event target destination.
|
|
It may be overridden by the <code>GIT_TRACE2_EVENT</code> environment variable.
|
|
The following table shows possible values.
|
|
</p>
|
|
<div class="openblock">
|
|
<div class="content">
|
|
<div class="ulist"><ul>
|
|
<li>
|
|
<p>
|
|
<code>0</code> or <code>false</code> - Disables the target.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>1</code> or <code>true</code> - Writes to <code>STDERR</code>.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>[2-9]</code> - Writes to the already opened file descriptor.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code><absolute-pathname></code> - Writes to the file in append mode. If the target
|
|
already exists and is a directory, the traces will be written to files (one
|
|
per process) underneath the given directory.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>af_unix:[<socket_type>:]<absolute-pathname></code> - Write to a
|
|
Unix DomainSocket (on platforms that support them). Socket
|
|
type can be either <code>stream</code> or <code>dgram</code>; if omitted Git will
|
|
try both.
|
|
</p>
|
|
</li>
|
|
</ul></div>
|
|
</div></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
trace2.normalBrief
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Boolean. When true <code>time</code>, <code>filename</code>, and <code>line</code> fields are
|
|
omitted from normal output. May be overridden by the
|
|
<code>GIT_TRACE2_BRIEF</code> environment variable. Defaults to false.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
trace2.perfBrief
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Boolean. When true <code>time</code>, <code>filename</code>, and <code>line</code> fields are
|
|
omitted from PERF output. May be overridden by the
|
|
<code>GIT_TRACE2_PERF_BRIEF</code> environment variable. Defaults to false.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
trace2.eventBrief
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Boolean. When true <code>time</code>, <code>filename</code>, and <code>line</code> fields are
|
|
omitted from event output. May be overridden by the
|
|
<code>GIT_TRACE2_EVENT_BRIEF</code> environment variable. Defaults to false.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
trace2.eventNesting
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Integer. Specifies desired depth of nested regions in the
|
|
event output. Regions deeper than this value will be
|
|
omitted. May be overridden by the <code>GIT_TRACE2_EVENT_NESTING</code>
|
|
environment variable. Defaults to 2.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
trace2.configParams
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A comma-separated list of patterns of "important" config
|
|
settings that should be recorded in the trace2 output.
|
|
For example, <code>core.*,remote.*.url</code> would cause the trace2
|
|
output to contain events listing each configured remote.
|
|
May be overridden by the <code>GIT_TRACE2_CONFIG_PARAMS</code> environment
|
|
variable. Unset by default.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
trace2.envVars
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A comma-separated list of "important" environment variables that should
|
|
be recorded in the trace2 output. For example,
|
|
<code>GIT_HTTP_USER_AGENT,GIT_CONFIG</code> would cause the trace2 output to
|
|
contain events listing the overrides for HTTP user agent and the
|
|
location of the Git configuration file (assuming any are set). May be
|
|
overridden by the <code>GIT_TRACE2_ENV_VARS</code> environment variable. Unset by
|
|
default.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
trace2.destinationDebug
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Boolean. When true Git will print error messages when a
|
|
trace target destination cannot be opened for writing.
|
|
By default, these errors are suppressed and tracing is
|
|
silently disabled. May be overridden by the
|
|
<code>GIT_TRACE2_DST_DEBUG</code> environment variable.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
trace2.maxFiles
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Integer. When writing trace files to a target directory, do not
|
|
write additional traces if we would exceed this many files. Instead,
|
|
write a sentinel file that will block further tracing to this
|
|
directory. Defaults to 0, which disables this check.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
transfer.credentialsInUrl
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
A configured URL can contain plaintext credentials in the form
|
|
<code><protocol>://<user>:<password>@<domain>/<path></code>. You may want
|
|
to warn or forbid the use of such configuration (in favor of
|
|
using <a href="git-credential.html">git-credential(1)</a>). This will be used on
|
|
<a href="git-clone.html">git-clone(1)</a>, <a href="git-fetch.html">git-fetch(1)</a>, <a href="git-push.html">git-push(1)</a>,
|
|
and any other direct use of the configured URL.
|
|
</p>
|
|
<div class="paragraph"><p>Note that this is currently limited to detecting credentials in
|
|
<code>remote.<name>.url</code> configuration, it won’t detect credentials in
|
|
<code>remote.<name>.pushurl</code> configuration.</p></div>
|
|
<div class="paragraph"><p>You might want to enable this to prevent inadvertent credentials
|
|
exposure, e.g. because:</p></div>
|
|
<div class="ulist"><ul>
|
|
<li>
|
|
<p>
|
|
The OS or system where you’re running git may not provide a way or
|
|
otherwise allow you to configure the permissions of the
|
|
configuration file where the username and/or password are stored.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
Even if it does, having such data stored "at rest" might expose you
|
|
in other ways, e.g. a backup process might copy the data to another
|
|
system.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
The git programs will pass the full URL to one another as arguments
|
|
on the command-line, meaning the credentials will be exposed to other
|
|
users on OS’s or systems that allow other users 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 that sensitive
|
|
data in git’s configuration files. If you do want to use this, set
|
|
<code>transfer.credentialsInUrl</code> to one of these values:</p></div>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>allow</code> (default): Git will proceed with its activity without warning.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>warn</code>: Git will write a warning message to <code>stderr</code> when parsing a URL
|
|
with a plaintext credential.
|
|
</p>
|
|
</li>
|
|
<li>
|
|
<p>
|
|
<code>die</code>: Git will write a failure message to <code>stderr</code> when parsing a URL
|
|
with a plaintext credential.
|
|
</p>
|
|
</li>
|
|
</ul></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
transfer.fsckObjects
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When <code>fetch.fsckObjects</code> or <code>receive.fsckObjects</code> are
|
|
not set, the value of this variable is used instead.
|
|
Defaults to false.
|
|
</p>
|
|
<div class="paragraph"><p>When set, the fetch or receive will abort in the case of a malformed
|
|
object or a link to a nonexistent object. In addition, various other
|
|
issues are checked for, including legacy issues (see <code>fsck.<msg-id></code>),
|
|
and potential security issues like the existence of a <code>.GIT</code> directory
|
|
or a malicious <code>.gitmodules</code> file (see the release notes for v2.2.1
|
|
and v2.17.1 for details). Other sanity and security checks may be
|
|
added in future releases.</p></div>
|
|
<div class="paragraph"><p>On the receiving side, failing fsckObjects will make those objects
|
|
unreachable, see "QUARANTINE ENVIRONMENT" in
|
|
<a href="git-receive-pack.html">git-receive-pack(1)</a>. On the fetch side, malformed objects will
|
|
instead be left unreferenced in the repository.</p></div>
|
|
<div class="paragraph"><p>Due to the non-quarantine nature of the <code>fetch.fsckObjects</code>
|
|
implementation it cannot be relied upon to leave the object store
|
|
clean like <code>receive.fsckObjects</code> can.</p></div>
|
|
<div class="paragraph"><p>As objects are unpacked they’re written to the object store, so there
|
|
can be cases where malicious objects get introduced even though the
|
|
"fetch" failed, only to have a subsequent "fetch" succeed because only
|
|
new incoming objects are checked, not those that have already been
|
|
written to the object store. That difference in behavior should not be
|
|
relied upon. In the future, such objects may be quarantined for
|
|
"fetch" as well.</p></div>
|
|
<div class="paragraph"><p>For now, the paranoid need to find some way to emulate the quarantine
|
|
environment if they’d like the same protection as "push". E.g. in the
|
|
case of an internal mirror do the mirroring in two steps, one to fetch
|
|
the untrusted objects, and then do a second "push" (which will use the
|
|
quarantine) to another internal repo, and have internal clients
|
|
consume this pushed-to repository, or embargo internal fetches and
|
|
only allow them once a full "fsck" has run (and no new fetches have
|
|
happened in the meantime).</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
transfer.hideRefs
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
String(s) <code>receive-pack</code> and <code>upload-pack</code> use to decide which
|
|
refs to omit from their initial advertisements. Use more than
|
|
one definition to specify multiple prefix strings. A ref that is
|
|
under the hierarchies listed in the value of this variable is
|
|
excluded, and is hidden when responding to <code>git push</code> or <code>git
|
|
fetch</code>. See <code>receive.hideRefs</code> and <code>uploadpack.hideRefs</code> for
|
|
program-specific versions of this config.
|
|
</p>
|
|
<div class="paragraph"><p>You may also include a <code>!</code> in front of the ref name to negate the entry,
|
|
explicitly exposing it, even if an earlier entry marked it as hidden.
|
|
If you have multiple hideRefs values, later entries override earlier ones
|
|
(and entries in more-specific config files override less-specific ones).</p></div>
|
|
<div class="paragraph"><p>If a namespace is in use, the namespace prefix is stripped from each
|
|
reference before it is matched against <code>transfer.hiderefs</code> patterns. In
|
|
order to match refs before stripping, add a <code>^</code> in front of the ref name. If
|
|
you combine <code>!</code> and <code>^</code>, <code>!</code> must be specified first.</p></div>
|
|
<div class="paragraph"><p>For example, if <code>refs/heads/master</code> is specified in <code>transfer.hideRefs</code> and
|
|
the current namespace is <code>foo</code>, then <code>refs/namespaces/foo/refs/heads/master</code>
|
|
is omitted from the advertisements. If <code>uploadpack.allowRefInWant</code> is set,
|
|
<code>upload-pack</code> will treat <code>want-ref refs/heads/master</code> in a protocol v2
|
|
<code>fetch</code> command as if <code>refs/namespaces/foo/refs/heads/master</code> did not exist.
|
|
<code>receive-pack</code>, on the other hand, will still advertise the object id the
|
|
ref is pointing to without mentioning its name (a so-called ".have" line).</p></div>
|
|
<div class="paragraph"><p>Even if you hide refs, a client may still be able to steal the target
|
|
objects via the techniques described in the "SECURITY" section of the
|
|
<a href="gitnamespaces.html">gitnamespaces(7)</a> man page; it’s best to keep private data in a
|
|
separate repository.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
transfer.unpackLimit
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When <code>fetch.unpackLimit</code> or <code>receive.unpackLimit</code> are
|
|
not set, the value of this variable is used instead.
|
|
The default value is 100.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
transfer.advertiseSID
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Boolean. When true, client and server processes will advertise their
|
|
unique session IDs to their remote counterpart. Defaults to false.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
uploadarchive.allowUnreachable
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If true, allow clients to use <code>git archive --remote</code> to request
|
|
any tree, whether reachable from the ref tips or not. See the
|
|
discussion in the "SECURITY" section of
|
|
<a href="git-upload-archive.html">git-upload-archive(1)</a> for more details. Defaults to
|
|
<code>false</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
uploadpack.hideRefs
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
This variable is the same as <code>transfer.hideRefs</code>, but applies
|
|
only to <code>upload-pack</code> (and so affects only fetches, not pushes).
|
|
An attempt to fetch a hidden ref by <code>git fetch</code> will fail. See
|
|
also <code>uploadpack.allowTipSHA1InWant</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
uploadpack.allowTipSHA1InWant
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When <code>uploadpack.hideRefs</code> is in effect, allow <code>upload-pack</code>
|
|
to accept a fetch request that asks for an object at the tip
|
|
of a hidden ref (by default, such a request is rejected).
|
|
See also <code>uploadpack.hideRefs</code>. Even if this is false, a client
|
|
may be able to steal objects via the techniques described in the
|
|
"SECURITY" section of the <a href="gitnamespaces.html">gitnamespaces(7)</a> man page; it’s
|
|
best to keep private data in a separate repository.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
uploadpack.allowReachableSHA1InWant
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Allow <code>upload-pack</code> to accept a fetch request that asks for an
|
|
object that is reachable from any ref tip. However, note that
|
|
calculating object reachability is computationally expensive.
|
|
Defaults to <code>false</code>. Even if this is false, a client may be able
|
|
to steal objects via the techniques described in the "SECURITY"
|
|
section of the <a href="gitnamespaces.html">gitnamespaces(7)</a> man page; it’s best to
|
|
keep private data in a separate repository.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
uploadpack.allowAnySHA1InWant
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Allow <code>upload-pack</code> to accept a fetch request that asks for any
|
|
object at all.
|
|
Defaults to <code>false</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
uploadpack.keepAlive
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
When <code>upload-pack</code> has started <code>pack-objects</code>, there may be a
|
|
quiet period while <code>pack-objects</code> prepares the pack. Normally
|
|
it would output progress information, but if <code>--quiet</code> was used
|
|
for the fetch, <code>pack-objects</code> will output nothing at all until
|
|
the pack data begins. Some clients and networks may consider
|
|
the server to be hung and give up. Setting this option instructs
|
|
<code>upload-pack</code> to send an empty keepalive packet every
|
|
<code>uploadpack.keepAlive</code> seconds. Setting this option to 0
|
|
disables keepalive packets entirely. The default is 5 seconds.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
uploadpack.packObjectsHook
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If this option is set, when <code>upload-pack</code> would run
|
|
<code>git pack-objects</code> to create a packfile for a client, it will
|
|
run this shell command instead. The <code>pack-objects</code> command and
|
|
arguments it <em>would</em> have run (including the <code>git pack-objects</code>
|
|
at the beginning) are appended to the shell command. The stdin
|
|
and stdout of the hook are treated as if <code>pack-objects</code> itself
|
|
was run. I.e., <code>upload-pack</code> will feed input intended for
|
|
<code>pack-objects</code> to the hook, and expects a completed packfile on
|
|
stdout.
|
|
</p>
|
|
<div class="paragraph"><p>Note that this configuration variable is only respected when it is specified
|
|
in protected configuration (see <a href="#SCOPES">[SCOPES]</a>). This is a safety measure
|
|
against fetching from untrusted repositories.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
uploadpack.allowFilter
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If this option is set, <code>upload-pack</code> will support partial
|
|
clone and partial fetch object filtering.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
uploadpackfilter.allow
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Provides a default value for unspecified object filters (see: the
|
|
below configuration variable). If set to <code>true</code>, this will also
|
|
enable all filters which get added in the future.
|
|
Defaults to <code>true</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
uploadpackfilter.<filter>.allow
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Explicitly allow or ban the object filter corresponding to
|
|
<code><filter></code>, where <code><filter></code> may be one of: <code>blob:none</code>,
|
|
<code>blob:limit</code>, <code>object:type</code>, <code>tree</code>, <code>sparse:oid</code>, or <code>combine</code>.
|
|
If using combined filters, both <code>combine</code> and all of the nested
|
|
filter kinds must be allowed. Defaults to <code>uploadpackfilter.allow</code>.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
uploadpackfilter.tree.maxDepth
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Only allow <code>--filter=tree:<n></code> when <code><n></code> is no more than the value of
|
|
<code>uploadpackfilter.tree.maxDepth</code>. If set, this also implies
|
|
<code>uploadpackfilter.tree.allow=true</code>, unless this configuration
|
|
variable had already been set. Has no effect if unset.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
uploadpack.allowRefInWant
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If this option is set, <code>upload-pack</code> will support the <code>ref-in-want</code>
|
|
feature of the protocol version 2 <code>fetch</code> command. This feature
|
|
is intended for the benefit of load-balanced servers which may
|
|
not have the same view of what OIDs their refs point to due to
|
|
replication delay.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
url.<base>.insteadOf
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Any URL that starts with this value will be rewritten to
|
|
start, instead, with <base>. In cases where some site serves a
|
|
large number of repositories, and serves them with multiple
|
|
access methods, and some users need to use different access
|
|
methods, this feature allows people to specify any of the
|
|
equivalent URLs and have Git automatically rewrite the URL to
|
|
the best alternative for the particular user, even for a
|
|
never-before-seen repository on the site. When more than one
|
|
insteadOf strings match a given URL, the longest match is used.
|
|
</p>
|
|
<div class="paragraph"><p>Note that any protocol restrictions will be applied to the rewritten
|
|
URL. If the rewrite changes the URL to use a custom protocol or remote
|
|
helper, you may need to adjust the <code>protocol.*.allow</code> config to permit
|
|
the request. In particular, protocols you expect to use for submodules
|
|
must be set to <code>always</code> rather than the default of <code>user</code>. See the
|
|
description of <code>protocol.allow</code> above.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
url.<base>.pushInsteadOf
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Any URL that starts with this value will not be pushed to;
|
|
instead, it will be rewritten to start with <base>, and the
|
|
resulting URL will be pushed to. In cases where some site serves
|
|
a large number of repositories, and serves them with multiple
|
|
access methods, some of which do not allow push, this feature
|
|
allows people to specify a pull-only URL and have Git
|
|
automatically use an appropriate URL to push, even for a
|
|
never-before-seen repository on the site. When more than one
|
|
pushInsteadOf strings match a given URL, the longest match is
|
|
used. If a remote has an explicit pushurl, Git will ignore this
|
|
setting for that remote.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
user.name
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
user.email
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
author.name
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
author.email
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
committer.name
|
|
</dt>
|
|
<dt class="hdlist1">
|
|
committer.email
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
The <code>user.name</code> and <code>user.email</code> variables determine what ends
|
|
up in the <code>author</code> and <code>committer</code> field 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.
|
|
Also, 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 suffixes match 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 suffixes start at
|
|
that earliest position, then that tagname will be sorted according to the
|
|
longest of those suffixes.
|
|
The sorting order between different suffixes is undefined if they are
|
|
in multiple config files.</p></div>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
web.browser
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
Specify a web browser that may be used by some commands.
|
|
Currently only <a href="git-instaweb.html">git-instaweb(1)</a> and <a href="git-help.html">git-help(1)</a>
|
|
may use it.
|
|
</p>
|
|
</dd>
|
|
<dt class="hdlist1">
|
|
worktree.guessRemote
|
|
</dt>
|
|
<dd>
|
|
<p>
|
|
If no branch is specified and neither <code>-b</code> nor <code>-B</code> nor
|
|
<code>--detach</code> is used, then <code>git worktree add</code> defaults to
|
|
creating a new branch from HEAD. If <code>worktree.guessRemote</code> is
|
|
set to true, <code>worktree add</code> tries to find a remote-tracking
|
|
branch whose name uniquely matches the new branch name. If
|
|
such a branch exists, it is checked out and set as "upstream"
|
|
for the new branch. If no such match can be found, it falls
|
|
back to creating a new branch from the current HEAD.
|
|
</p>
|
|
</dd>
|
|
</dl></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="sect1">
|
|
<h2 id="_bugs">BUGS</h2>
|
|
<div class="sectionbody">
|
|
<div class="paragraph"><p>When using the deprecated <code>[section.subsection]</code> syntax, changing a value
|
|
will result in adding a multi-line key instead of a change, if the subsection
|
|
is given with at least one uppercase character. For example when the config
|
|
looks like</p></div>
|
|
<div class="listingblock">
|
|
<div class="content">
|
|
<pre><code> [section.subsection]
|
|
key = value1</code></pre>
|
|
</div></div>
|
|
<div class="paragraph"><p>and running <code>git config section.Subsection.key value2</code> will result in</p></div>
|
|
<div class="listingblock">
|
|
<div class="content">
|
|
<pre><code> [section.subsection]
|
|
key = value1
|
|
key = value2</code></pre>
|
|
</div></div>
|
|
</div>
|
|
</div>
|
|
<div class="sect1">
|
|
<h2 id="_git">GIT</h2>
|
|
<div class="sectionbody">
|
|
<div class="paragraph"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="footnotes"><hr /></div>
|
|
<div id="footer">
|
|
<div id="footer-text">
|
|
Last updated
|
|
2022-09-16 17:50:33 PDT
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|