<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta charset="UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta name="generator" content="Asciidoctor 2.0.23"/>
<title>git-fetch(1)</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700"/>
<style>
/*! Asciidoctor default stylesheet | MIT License | https://asciidoctor.org */
/* Uncomment the following line when using as a custom stylesheet */
/* @import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700"; */
html{font-family:sans-serif;-webkit-text-size-adjust:100%}
a{background:none}
a:focus{outline:thin dotted}
a:active,a:hover{outline:0}
h1{font-size:2em;margin:.67em 0}
b,strong{font-weight:bold}
abbr{font-size:.9em}
abbr[title]{cursor:help;border-bottom:1px dotted #dddddf;text-decoration:none}
dfn{font-style:italic}
hr{height:0}
mark{background:#ff0;color:#000}
code,kbd,pre,samp{font-family:monospace;font-size:1em}
pre{white-space:pre-wrap}
q{quotes:"\201C" "\201D" "\2018" "\2019"}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sup{top:-.5em}
sub{bottom:-.25em}
img{border:0}
svg:not(:root){overflow:hidden}
figure{margin:0}
audio,video{display:inline-block}
audio:not([controls]){display:none;height:0}
fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
legend{border:0;padding:0}
button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
button,input{line-height:normal}
button,select{text-transform:none}
button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}
button[disabled],html input[disabled]{cursor:default}
input[type=checkbox],input[type=radio]{padding:0}
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
textarea{overflow:auto;vertical-align:top}
table{border-collapse:collapse;border-spacing:0}
*,::before,::after{box-sizing:border-box}
html,body{font-size:100%}
body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-wrap:anywhere;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}
a:hover{cursor:pointer}
img,object,embed{max-width:100%;height:auto}
object,embed{height:100%}
img{-ms-interpolation-mode:bicubic}
.left{float:left!important}
.right{float:right!important}
.text-left{text-align:left!important}
.text-right{text-align:right!important}
.text-center{text-align:center!important}
.text-justify{text-align:justify!important}
.hide{display:none}
img,object,svg{display:inline-block;vertical-align:middle}
textarea{height:auto;min-height:50px}
select{width:100%}
.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0}
a{color:#2156a5;text-decoration:underline;line-height:inherit}
a:hover,a:focus{color:#1d4b8f}
a img{border:0}
p{line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
p aside{font-size:.875em;line-height:1.35;font-style:italic}
h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
h1{font-size:2.125em}
h2{font-size:1.6875em}
h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
h4,h5{font-size:1.125em}
h6{font-size:1em}
hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em}
em,i{font-style:italic;line-height:inherit}
strong,b{font-weight:bold;line-height:inherit}
small{font-size:60%;line-height:inherit}
code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
ul,ol,dl{line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
ul,ol{margin-left:1.5em}
ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0}
ul.circle{list-style-type:circle}
ul.disc{list-style-type:disc}
ul.square{list-style-type:square}
ul.circle ul:not([class]),ul.disc ul:not([class]),ul.square ul:not([class]){list-style:inherit}
ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
dl dt{margin-bottom:.3125em;font-weight:bold}
dl dd{margin-bottom:1.25em}
blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
@media screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
h1{font-size:2.75em}
h2{font-size:2.3125em}
h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
h4{font-size:1.4375em}}
table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede;word-wrap:normal}
table thead,table tfoot{background:#f7f8f7}
table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
table tr.even,table tr.alt{background:#f8f8f7}
table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{line-height:1.6}
h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
.center{margin-left:auto;margin-right:auto}
.stretch{width:100%}
.clearfix::before,.clearfix::after,.float-group::before,.float-group::after{content:" ";display:table}
.clearfix::after,.float-group::after{clear:both}
:not(pre).nobreak{word-wrap:normal}
:not(pre).nowrap{white-space:nowrap}
:not(pre).pre-wrap{white-space:pre-wrap}
:not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
pre{color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;line-height:1.45;text-rendering:optimizeSpeed}
pre code,pre pre{color:inherit;font-size:inherit;line-height:inherit}
pre>code{display:block}
pre.nowrap,pre.nowrap pre{white-space:pre;word-wrap:normal}
em em{font-style:normal}
strong strong{font-weight:400}
.keyseq{color:rgba(51,51,51,.8)}
kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
.keyseq kbd:first-child{margin-left:0}
.keyseq kbd:last-child{margin-right:0}
.menuseq,.menuref{color:#000}
.menuseq b:not(.caret),.menuref{font-weight:inherit}
.menuseq{word-spacing:-.02em}
.menuseq b.caret{font-size:1.25em;line-height:.8}
.menuseq i.caret{font-weight:bold;text-align:center;width:.45em}
b.button::before,b.button::after{position:relative;top:-1px;font-weight:400}
b.button::before{content:"[";padding:0 3px 0 2px}
b.button::after{content:"]";padding:0 2px 0 3px}
p a>code:hover{color:rgba(0,0,0,.9)}
#header,#content,#footnotes,#footer{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
#header::before,#header::after,#content::before,#content::after,#footnotes::before,#footnotes::after,#footer::before,#footer::after{content:" ";display:table}
#header::after,#content::after,#footnotes::after,#footer::after{clear:both}
#content{margin-top:1.25em}
#content::before{content:none}
#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}
#header>h1:only-child{border-bottom:1px solid #dddddf;padding-bottom:8px}
#header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap}
#header .details span:first-child{margin-left:-.125em}
#header .details span.email a{color:rgba(0,0,0,.85)}
#header .details br{display:none}
#header .details br+span::before{content:"\00a0\2013\00a0"}
#header .details br+span.author::before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
#header .details br+span#revremark::before{content:"\00a0|\00a0"}
#header #revnumber{text-transform:capitalize}
#header #revnumber::after{content:"\00a0"}
#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
#toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}
#toc>ul{margin-left:.125em}
#toc ul.sectlevel0>li>a{font-style:italic}
#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
#toc li{line-height:1.3334;margin-top:.3334em}
#toc a{text-decoration:none}
#toc a:active{text-decoration:underline}
#toctitle{color:#7a2518;font-size:1.2em}
@media screen and (min-width:768px){#toctitle{font-size:1.375em}
body.toc2{padding-left:15em;padding-right:0}
body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}
#toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
#toc.toc2>ul{font-size:.9em;margin-bottom:0}
#toc.toc2 ul ul{margin-left:0;padding-left:1em}
#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
body.toc2.toc-right{padding-left:0;padding-right:15em}
body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}
@media screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
#toc.toc2{width:20em}
#toc.toc2 #toctitle{font-size:1.375em}
#toc.toc2>ul{font-size:.95em}
#toc.toc2 ul ul{padding-left:1.25em}
body.toc2.toc-right{padding-left:0;padding-right:20em}}
#content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}
#content #toc>:first-child{margin-top:0}
#content #toc>:last-child{margin-bottom:0}
#footer{max-width:none;background:rgba(0,0,0,.8);padding:1.25em}
#footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}
#content{margin-bottom:.625em}
.sect1{padding-bottom:.625em}
@media screen and (min-width:768px){#content{margin-bottom:1.25em}
.sect1{padding-bottom:1.25em}}
.sect1:last-child{padding-bottom:0}
.sect1+.sect1{border-top:1px solid #e7e7e9}
#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
#content h1>a.anchor::before,h2>a.anchor::before,h3>a.anchor::before,#toctitle>a.anchor::before,.sidebarblock>.content>.title>a.anchor::before,h4>a.anchor::before,h5>a.anchor::before,h6>a.anchor::before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
details,.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
details{margin-left:1.25rem}
details>summary{cursor:pointer;display:block;position:relative;line-height:1.6;margin-bottom:.625rem;outline:none;-webkit-tap-highlight-color:transparent}
details>summary::-webkit-details-marker{display:none}
details>summary::before{content:"";border:solid transparent;border-left:solid;border-width:.3em 0 .3em .5em;position:absolute;top:.5em;left:-1.25rem;transform:translateX(15%)}
details[open]>summary::before{border:solid transparent;border-top:solid;border-width:.5em .3em 0;transform:translateY(15%)}
details>summary::after{content:"";width:1.25rem;height:1em;position:absolute;top:.3em;left:-1.25rem}
.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}
.paragraph.lead>p,#preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}
.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
.admonitionblock>table td.icon{text-align:center;width:80px}
.admonitionblock>table td.icon img{max-width:none}
.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6);word-wrap:anywhere}
.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
.exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}
.sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}
.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
.exampleblock>.content>:first-child,.sidebarblock>.content>:first-child{margin-top:0}
.exampleblock>.content>:last-child,.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
.literalblock pre,.listingblock>.content>pre{border-radius:4px;overflow-x:auto;padding:1em;font-size:.8125em}
@media screen and (min-width:768px){.literalblock pre,.listingblock>.content>pre{font-size:.90625em}}
@media screen and (min-width:1280px){.literalblock pre,.listingblock>.content>pre{font-size:1em}}
.literalblock pre,.listingblock>.content>pre:not(.highlight),.listingblock>.content>pre[class=highlight],.listingblock>.content>pre[class^="highlight "]{background:#f7f7f8}
.literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}
.listingblock>.content{position:relative}
.listingblock code[data-lang]::before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}
.listingblock:hover code[data-lang]::before{display:block}
.listingblock.terminal pre .command::before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}
.listingblock.terminal pre .command:not([data-prompt])::before{content:"$"}
.listingblock pre.highlightjs{padding:0}
.listingblock pre.highlightjs>code{padding:1em;border-radius:4px}
.listingblock pre.prettyprint{border-width:0}
.prettyprint{background:#f7f7f8}
pre.prettyprint .linenums{line-height:1.45;margin-left:2em}
pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}
pre.prettyprint li code[data-lang]::before{opacity:1}
pre.prettyprint li:not(:first-child) code[data-lang]::before{display:none}
table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}
table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}
table.linenotable td.code{padding-left:.75em}
table.linenotable td.linenos,pre.pygments .linenos{border-right:1px solid;opacity:.35;padding-right:.5em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
pre.pygments span.linenos{display:inline-block;margin-right:.75em}
.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
.quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}
.quoteblock blockquote,.quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
.quoteblock blockquote{margin:0;padding:0;border:0}
.quoteblock blockquote::before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
.quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}
.verseblock{margin:0 1em 1.25em}
.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans-serif;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
.verseblock pre strong{font-weight:400}
.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
.quoteblock .attribution br,.verseblock .attribution br{display:none}
.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
.quoteblock.abstract blockquote::before,.quoteblock.excerpt blockquote::before,.quoteblock .quoteblock blockquote::before{display:none}
.quoteblock.abstract blockquote,.quoteblock.abstract p,.quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{line-height:1.6;word-spacing:0}
.quoteblock.abstract{margin:0 1em 1.25em;display:block}
.quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}
.quoteblock.excerpt>blockquote,.quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}
.quoteblock.excerpt,.quoteblock .quoteblock{margin-left:0}
.quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}
.quoteblock.excerpt .attribution,.quoteblock .quoteblock .attribution{color:inherit;font-size:.85rem;text-align:left;margin-right:0}
p.tableblock:last-child{margin-bottom:0}
td.tableblock>.content{margin-bottom:1.25em;word-wrap:anywhere}
td.tableblock>.content>:last-child{margin-bottom:-1.25em}
table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
table.grid-all>*>tr>*{border-width:1px}
table.grid-cols>*>tr>*{border-width:0 1px}
table.grid-rows>*>tr>*{border-width:1px 0}
table.frame-all{border-width:1px}
table.frame-ends{border-width:1px 0}
table.frame-sides{border-width:0 1px}
table.frame-none>colgroup+*>:first-child>*,table.frame-sides>colgroup+*>:first-child>*{border-top-width:0}
table.frame-none>:last-child>:last-child>*,table.frame-sides>:last-child>:last-child>*{border-bottom-width:0}
table.frame-none>*>tr>:first-child,table.frame-ends>*>tr>:first-child{border-left-width:0}
table.frame-none>*>tr>:last-child,table.frame-ends>*>tr>:last-child{border-right-width:0}
table.stripes-all>*>tr,table.stripes-odd>*>tr:nth-of-type(odd),table.stripes-even>*>tr:nth-of-type(even),table.stripes-hover>*>tr:hover{background:#f8f8f7}
th.halign-left,td.halign-left{text-align:left}
th.halign-right,td.halign-right{text-align:right}
th.halign-center,td.halign-center{text-align:center}
th.valign-top,td.valign-top{vertical-align:top}
th.valign-bottom,td.valign-bottom{vertical-align:bottom}
th.valign-middle,td.valign-middle{vertical-align:middle}
table thead th,table tfoot th{font-weight:bold}
tbody tr th{background:#f7f8f7}
tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
p.tableblock>code:only-child{background:none;padding:0}
p.tableblock{font-size:1em}
ol{margin-left:1.75em}
ul li ol{margin-left:1.5em}
dl dd{margin-left:1.125em}
dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
ul.checklist,ul.none,ol.none,ul.no-bullet,ol.no-bullet,ol.unnumbered,ul.unstyled,ol.unstyled{list-style-type:none}
ul.no-bullet,ol.no-bullet,ol.unnumbered{margin-left:.625em}
ul.unstyled,ol.unstyled{margin-left:0}
li>p:empty:only-child::before{content:"";display:inline-block}
ul.checklist>li>p:first-child{margin-left:-1em}
ul.checklist>li>p:first-child>.fa-square-o:first-child,ul.checklist>li>p:first-child>.fa-check-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}
ul.checklist>li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}
ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}
ul.inline>li{margin-left:1.25em}
.unstyled dl dt{font-weight:400;font-style:normal}
ol.arabic{list-style-type:decimal}
ol.decimal{list-style-type:decimal-leading-zero}
ol.loweralpha{list-style-type:lower-alpha}
ol.upperalpha{list-style-type:upper-alpha}
ol.lowerroman{list-style-type:lower-roman}
ol.upperroman{list-style-type:upper-roman}
ol.lowergreek{list-style-type:lower-greek}
.hdlist>table,.colist>table{border:0;background:none}
.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
td.hdlist1{font-weight:bold;padding-bottom:1.25em}
td.hdlist2{word-wrap:anywhere}
.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
.colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}
.colist td:not([class]):first-child img{max-width:none}
.colist td:not([class]):last-child{padding:.25em 0}
.thumb,.th{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}
.imageblock.left{margin:.25em .625em 1.25em 0}
.imageblock.right{margin:.25em 0 1.25em .625em}
.imageblock>.title{margin-bottom:0}
.imageblock.thumb,.imageblock.th{border-width:6px}
.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
.image.left{margin-right:.625em}
.image.right{margin-left:.625em}
a.image{text-decoration:none;display:inline-block}
a.image object{pointer-events:none}
sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
sup.footnote a,sup.footnoteref a{text-decoration:none}
sup.footnote a:active,sup.footnoteref a:active,#footnotes .footnote a:first-of-type:active{text-decoration:underline}
#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}
#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}
#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none;margin-left:-1.05em}
#footnotes .footnote:last-of-type{margin-bottom:0}
#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
div.unbreakable{page-break-inside:avoid}
.big{font-size:larger}
.small{font-size:smaller}
.underline{text-decoration:underline}
.overline{text-decoration:overline}
.line-through{text-decoration:line-through}
.aqua{color:#00bfbf}
.aqua-background{background:#00fafa}
.black{color:#000}
.black-background{background:#000}
.blue{color:#0000bf}
.blue-background{background:#0000fa}
.fuchsia{color:#bf00bf}
.fuchsia-background{background:#fa00fa}
.gray{color:#606060}
.gray-background{background:#7d7d7d}
.green{color:#006000}
.green-background{background:#007d00}
.lime{color:#00bf00}
.lime-background{background:#00fa00}
.maroon{color:#600000}
.maroon-background{background:#7d0000}
.navy{color:#000060}
.navy-background{background:#00007d}
.olive{color:#606000}
.olive-background{background:#7d7d00}
.purple{color:#600060}
.purple-background{background:#7d007d}
.red{color:#bf0000}
.red-background{background:#fa0000}
.silver{color:#909090}
.silver-background{background:#bcbcbc}
.teal{color:#006060}
.teal-background{background:#007d7d}
.white{color:#bfbfbf}
.white-background{background:#fafafa}
.yellow{color:#bfbf00}
.yellow-background{background:#fafa00}
span.icon>.fa{cursor:default}
a span.icon>.fa{cursor:inherit}
.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
.admonitionblock td.icon .icon-note::before{content:"\f05a";color:#19407c}
.admonitionblock td.icon .icon-tip::before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
.admonitionblock td.icon .icon-warning::before{content:"\f071";color:#bf6900}
.admonitionblock td.icon .icon-caution::before{content:"\f06d";color:#bf3400}
.admonitionblock td.icon .icon-important::before{content:"\f06a";color:#bf0000}
.conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:50%;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
.conum[data-value] *{color:#fff!important}
.conum[data-value]+b{display:none}
.conum[data-value]::after{content:attr(data-value)}
pre .conum[data-value]{position:relative;top:-.125em}
b.conum *{color:inherit!important}
.conum:not([data-value]):empty{display:none}
dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
h1,h2,p,td.content,span.alt,summary{letter-spacing:-.01em}
p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
p,blockquote,dt,td.content,td.hdlist1,span.alt,summary{font-size:1.0625rem}
p{margin-bottom:1.25rem}
.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
.exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}
.print-only{display:none!important}
@page{margin:1.25cm .75cm}
@media print{*{box-shadow:none!important;text-shadow:none!important}
html{font-size:80%}
a{color:inherit!important;text-decoration:underline!important}
a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
a[href^="http:"]:not(.bare)::after,a[href^="https:"]:not(.bare)::after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
abbr[title]{border-bottom:1px dotted}
abbr[title]::after{content:" (" attr(title) ")"}
pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
thead{display:table-header-group}
svg{max-width:100%}
p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
#header,#content,#footnotes,#footer{max-width:none}
#toc,.sidebarblock,.exampleblock>.content{background:none!important}
#toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}
body.book #header{text-align:center}
body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}
body.book #header .details{border:0!important;display:block;padding:0!important}
body.book #header .details span:first-child{margin-left:0!important}
body.book #header .details br{display:block}
body.book #header .details br+span::before{content:none!important}
body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
.listingblock code[data-lang]::before{display:block}
#footer{padding:0 .9375em}
.hide-on-print{display:none!important}
.print-only{display:block!important}
.hide-for-print{display:none!important}
.show-for-print{display:inherit!important}}
@media amzn-kf8,print{#header>h1:first-child{margin-top:1.25rem}
.sect1{padding:0!important}
.sect1+.sect1{border:0}
#footer{background:none}
#footer-text{color:rgba(0,0,0,.6);font-size:.9em}}
@media amzn-kf8{#header,#content,#footnotes,#footer{padding:0}}
</style>
<style>
pre>code {
   display: inline;
}
</style>
</head>
<body class="manpage">
<div id="header">
<h1>git-fetch(1) Manual Page</h1>
<h2 id="_name">NAME</h2>
<div class="sectionbody">
<p>git-fetch - Download objects and refs from another repository</p>
</div>
</div>
<div id="content">
<div class="sect1">
<h2 id="_synopsis">SYNOPSIS</h2>
<div class="sectionbody">
<div class="verseblock">
<pre class="content"><code>git</code> <code>fetch</code> [<em>&lt;options&gt;</em>] [<em>&lt;repository&gt;</em> [<em>&lt;refspec&gt;</em>&#8230;&#8203;]]
<code>git</code> <code>fetch</code> [<em>&lt;options&gt;</em>] <em>&lt;group&gt;</em>
<code>git</code> <code>fetch</code> <code>--multiple</code> [<em>&lt;options&gt;</em>] [(<em>&lt;repository&gt;</em>|<em>&lt;group&gt;</em>)&#8230;&#8203;]
<code>git</code> <code>fetch</code> <code>--all</code> [<em>&lt;options&gt;</em>]</pre>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_description">DESCRIPTION</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Fetch branches and/or tags (collectively, "refs") from one or more
other repositories, along with the objects necessary to complete their
histories.  Remote-tracking branches are updated (see the description
of <em>&lt;refspec&gt;</em> below for ways to control this behavior).</p>
</div>
<div class="paragraph">
<p>By default, any tag that points into the histories being fetched is
also fetched; the effect is to fetch tags that
point at branches that you are interested in.  This default behavior
can be changed by using the <code>--tags</code> or <code>--no-tags</code> options or by
configuring <code>remote.</code><em>&lt;name&gt;</em><code>.tagOpt</code>.  By using a refspec that fetches tags
explicitly, you can fetch tags that do not point into branches you
are interested in as well.</p>
</div>
<div class="paragraph">
<p><code>git</code> <code>fetch</code> can fetch from either a single named repository or URL,
or from several repositories at once if <em>&lt;group&gt;</em> is given and
there is a <code>remotes.</code><em>&lt;group&gt;</em> entry in the configuration file.
(See <a href="git-config.html">git-config(1)</a>).</p>
</div>
<div class="paragraph">
<p>When no remote is specified, by default the <code>origin</code> remote will be used,
unless there&#8217;s an upstream branch configured for the current branch.</p>
</div>
<div class="paragraph">
<p>The names of refs that are fetched, together with the object names
they point at, are written to .<code>git/FETCH_HEAD</code>.  This information
may be used by scripts or other git commands, such as <a href="git-pull.html">git-pull(1)</a>.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_options">OPTIONS</h2>
<div class="sectionbody">
<div class="dlist">
<dl>
<dt class="hdlist1"><code>--all</code></dt>
<dt class="hdlist1"><code>--no-all</code></dt>
<dd>
<p>Fetch all remotes, except for the ones that has the
<code>remote.</code><em>&lt;name&gt;</em><code>.skipFetchAll</code> configuration variable set.
This overrides the configuration variable <code>fetch.all</code>.</p>
</dd>
<dt class="hdlist1"><code>-a</code></dt>
<dt class="hdlist1"><code>--append</code></dt>
<dd>
<p>Append ref names and object names of fetched refs to the
existing contents of .<code>git/FETCH_HEAD</code>.  Without this
option old data in .<code>git/FETCH_HEAD</code> will be overwritten.</p>
</dd>
<dt class="hdlist1"><code>--atomic</code></dt>
<dd>
<p>Use an atomic transaction to update local refs. Either all refs are
updated, or on error, no refs are updated.</p>
</dd>
<dt class="hdlist1"><code>--depth=</code><em>&lt;depth&gt;</em></dt>
<dd>
<p>Limit fetching to the specified number of commits from the tip of
each remote branch history. If fetching to a <em>shallow</em> repository
created by <code>git</code> <code>clone</code> with <code>--depth=</code><em>&lt;depth&gt;</em> option (see
<a href="git-clone.html">git-clone(1)</a>), deepen or shorten the history to the specified
number of commits. Tags for the deepened commits are not fetched.</p>
</dd>
<dt class="hdlist1"><code>--deepen=</code><em>&lt;depth&gt;</em></dt>
<dd>
<p>Similar to <code>--depth</code>, except it specifies the number of commits
from the current shallow boundary instead of from the tip of
each remote branch history.</p>
</dd>
<dt class="hdlist1"><code>--shallow-since=</code><em>&lt;date&gt;</em></dt>
<dd>
<p>Deepen or shorten the history of a shallow repository to
include all reachable commits after <em>&lt;date&gt;</em>.</p>
</dd>
<dt class="hdlist1"><code>--shallow-exclude=</code><em>&lt;ref&gt;</em></dt>
<dd>
<p>Deepen or shorten the history of a shallow repository to
exclude commits reachable from a specified remote branch or tag.
This option can be specified multiple times.</p>
</dd>
<dt class="hdlist1"><code>--unshallow</code></dt>
<dd>
<p>If the source repository is complete, convert a shallow
repository to a complete one, removing all the limitations
imposed by shallow repositories.</p>
<div class="paragraph">
<p>If the source repository is shallow, fetch as much as possible so that
the current repository has the same history as the source repository.</p>
</div>
</dd>
<dt class="hdlist1"><code>--update-shallow</code></dt>
<dd>
<p>By default when fetching from a shallow repository,
<code>git</code> <code>fetch</code> refuses refs that require updating
.<code>git/shallow</code>. This option updates .<code>git/shallow</code> and accepts such
refs.</p>
</dd>
<dt class="hdlist1"><code>--negotiation-tip=</code>(<em>&lt;commit&gt;</em>|<em>&lt;glob&gt;</em>)</dt>
<dd>
<p>By default, Git will report, to the server, commits reachable
from all local refs to find common commits in an attempt to
reduce the size of the to-be-received packfile. If specified,
Git will only report commits reachable from the given tips.
This is useful to speed up fetches when the user knows which
local ref is likely to have commits in common with the
upstream ref being fetched.</p>
<div class="paragraph">
<p>This option may be specified more than once; if so, Git will report
commits reachable from any of the given commits.</p>
</div>
<div class="paragraph">
<p>The argument to this option may be a glob on ref names, a ref, or the (possibly
abbreviated) SHA-1 of a commit. Specifying a glob is equivalent to specifying
this option multiple times, one for each matching ref name.</p>
</div>
<div class="paragraph">
<p>See also the <code>fetch.negotiationAlgorithm</code> and <code>push.negotiate</code>
configuration variables documented in <a href="git-config.html">git-config(1)</a>, and the
<code>--negotiate-only</code> option below.</p>
</div>
</dd>
<dt class="hdlist1"><code>--negotiate-only</code></dt>
<dd>
<p>Do not fetch anything from the server, and instead print the
ancestors of the provided <code>--negotiation-tip=</code> arguments,
which we have in common with the server.</p>
<div class="paragraph">
<p>This is incompatible with <code>--recurse-submodules=</code>(<code>yes</code>|<code>on-demand</code>).
Internally this is used to implement the <code>push.negotiate</code> option, see
<a href="git-config.html">git-config(1)</a>.</p>
</div>
</dd>
<dt class="hdlist1"><code>--dry-run</code></dt>
<dd>
<p>Show what would be done, without making any changes.</p>
</dd>
<dt class="hdlist1"><code>--porcelain</code></dt>
<dd>
<p>Print the output to standard output in an easy-to-parse format for
scripts. See section OUTPUT in <a href="git-fetch.html">git-fetch(1)</a> for details.</p>
<div class="paragraph">
<p>This is incompatible with <code>--recurse-submodules=</code>(<code>yes</code>|<code>on-demand</code>) and takes
precedence over the <code>fetch.output</code> config option.</p>
</div>
</dd>
<dt class="hdlist1"><code>--write-fetch-head</code></dt>
<dt class="hdlist1"><code>--no-write-fetch-head</code></dt>
<dd>
<p>Write the list of remote refs fetched in the <code>FETCH_HEAD</code>
file directly under <code>$GIT_DIR</code>.  This is the default.
Passing <code>--no-write-fetch-head</code> from the command line tells
Git not to write the file.  Under <code>--dry-run</code> option, the
file is never written.</p>
</dd>
<dt class="hdlist1"><code>-f</code></dt>
<dt class="hdlist1"><code>--force</code></dt>
<dd>
<p>When <code>git</code> <code>fetch</code> is used with <em>&lt;src&gt;</em><code>:</code><em>&lt;dst&gt;</em> refspec, it may
refuse to update the local branch as discussed in the <em>&lt;refspec&gt;</em> part below.
This option overrides that check.</p>
</dd>
<dt class="hdlist1"><code>-k</code></dt>
<dt class="hdlist1"><code>--keep</code></dt>
<dd>
<p>Keep downloaded pack.</p>
</dd>
<dt class="hdlist1"><code>--multiple</code></dt>
<dd>
<p>Allow several <em>&lt;repository&gt;</em> and <em>&lt;group&gt;</em> arguments to be
specified. No <em>&lt;refspec&gt;</em>s may be specified.</p>
</dd>
<dt class="hdlist1"><code>--auto-maintenance</code></dt>
<dt class="hdlist1"><code>--no-auto-maintenance</code></dt>
<dt class="hdlist1"><code>--auto-gc</code></dt>
<dt class="hdlist1"><code>--no-auto-gc</code></dt>
<dd>
<p>Run <code>git</code> <code>maintenance</code> <code>run</code> <code>--auto</code> at the end to perform automatic
repository maintenance if needed.
This is enabled by default.</p>
</dd>
<dt class="hdlist1"><code>--write-commit-graph</code></dt>
<dt class="hdlist1"><code>--no-write-commit-graph</code></dt>
<dd>
<p>Write a commit-graph after fetching. This overrides the config
setting <code>fetch.writeCommitGraph</code>.</p>
</dd>
<dt class="hdlist1"><code>--prefetch</code></dt>
<dd>
<p>Modify the configured refspec to place all refs into the
<code>refs/prefetch/</code> namespace. See the <code>prefetch</code> task in
<a href="git-maintenance.html">git-maintenance(1)</a>.</p>
</dd>
<dt class="hdlist1"><code>-p</code></dt>
<dt class="hdlist1"><code>--prune</code></dt>
<dd>
<p>Before fetching, remove any remote-tracking references that no
longer exist on the remote.  Tags are not subject to pruning
if they are fetched only because of the default tag
auto-following or due to a <code>--tags</code> option.  However, if tags
are fetched due to an explicit refspec (either on the command
line or in the remote configuration, for example if the remote
was cloned with the <code>--mirror</code> option), then they are also
subject to pruning. Supplying <code>--prune-tags</code> is a shorthand for
providing the tag refspec.</p>
<div class="paragraph">
<p>See the PRUNING section below for more details.</p>
</div>
</dd>
<dt class="hdlist1"><code>-P</code></dt>
<dt class="hdlist1"><code>--prune-tags</code></dt>
<dd>
<p>Before fetching, remove any local tags that no longer exist on
the remote if <code>--prune</code> is enabled. This option should be used
more carefully, unlike <code>--prune</code> it will remove any local
references (local tags) that have been created. This option is
a shorthand for providing the explicit tag refspec along with
<code>--prune</code>, see the discussion about that in its documentation.</p>
<div class="paragraph">
<p>See the PRUNING section below for more details.</p>
</div>
</dd>
<dt class="hdlist1"><code>-n</code></dt>
<dt class="hdlist1"><code>--no-tags</code></dt>
<dd>
<p>By default, tags that point at objects that are downloaded
from the remote repository are fetched and stored locally.
This option disables this automatic tag following. The default
behavior for a remote may be specified with the <code>remote.</code><em>&lt;name&gt;</em><code>.tagOpt</code>
setting. See <a href="git-config.html">git-config(1)</a>.</p>
</dd>
<dt class="hdlist1"><code>--refetch</code></dt>
<dd>
<p>Instead of negotiating with the server to avoid transferring commits and
associated objects that are already present locally, this option fetches
all objects as a fresh clone would. Use this to reapply a partial clone
filter from configuration or using <code>--filter=</code> when the filter
definition has changed. Automatic post-fetch maintenance will perform
object database pack consolidation to remove any duplicate objects.</p>
</dd>
<dt class="hdlist1"><code>--refmap=</code><em>&lt;refspec&gt;</em></dt>
<dd>
<p>When fetching refs listed on the command line, use the
specified refspec (can be given more than once) to map the
refs to remote-tracking branches, instead of the values of
<code>remote.</code><em>&lt;name&gt;</em><code>.fetch</code> configuration variables for the remote
repository.  Providing an empty <em>&lt;refspec&gt;</em> to the
<code>--refmap</code> option causes Git to ignore the configured
refspecs and rely entirely on the refspecs supplied as
command-line arguments. See section on "Configured Remote-tracking
Branches" for details.</p>
</dd>
<dt class="hdlist1"><code>-t</code></dt>
<dt class="hdlist1"><code>--tags</code></dt>
<dd>
<p>Fetch all tags from the remote (i.e., fetch remote tags
<code>refs/tags/*</code> into local tags with the same name), in addition
to whatever else would otherwise be fetched.  Using this
option alone does not subject tags to pruning, even if <code>--prune</code>
is used (though tags may be pruned anyway if they are also the
destination of an explicit refspec; see <code>--prune</code>).</p>
</dd>
<dt class="hdlist1"><code>--recurse-submodules</code>[<code>=</code>(<code>yes</code>|<code>on-demand</code>|<code>no</code>)]</dt>
<dd>
<p>Control if and under what conditions new commits of
submodules should be fetched too. When recursing through submodules,
<code>git</code> <code>fetch</code> always attempts to fetch "changed" submodules, that is, a
submodule that has commits that are referenced by a newly fetched
superproject commit but are missing in the local submodule clone. A
changed submodule can be fetched as long as it is present locally e.g.
in <code>$GIT_DIR/modules/</code> (see <a href="gitsubmodules.html">gitsubmodules(7)</a>); if the upstream
adds a new submodule, that submodule cannot be fetched until it is
cloned e.g. by <code>git</code> <code>submodule</code> <code>update</code>.</p>
<div class="paragraph">
<p>When set to <code>on-demand</code>, only changed submodules are fetched. When set
to <code>yes</code>, all populated submodules are fetched and submodules that are
both unpopulated and changed are fetched. When set to <code>no</code>, submodules
are never fetched.</p>
</div>
<div class="paragraph">
<p>When unspecified, this uses the value of <code>fetch.recurseSubmodules</code> if it
is set (see <a href="git-config.html">git-config(1)</a>), defaulting to <code>on-demand</code> if unset.
When this option is used without any value, it defaults to <code>yes</code>.</p>
</div>
</dd>
<dt class="hdlist1"><code>-j</code> <em>&lt;n&gt;</em></dt>
<dt class="hdlist1"><code>--jobs=</code><em>&lt;n&gt;</em></dt>
<dd>
<p>Parallelize all forms of fetching up to <em>&lt;n&gt;</em> jobs at a time.</p>
<div class="paragraph">
<p>If the <code>--multiple</code> option was specified, the different remotes will be fetched
in parallel. If multiple submodules are fetched, they will be fetched in
parallel. To control them independently, use the config settings
<code>fetch.parallel</code> and <code>submodule.fetchJobs</code> (see <a href="git-config.html">git-config(1)</a>).</p>
</div>
<div class="paragraph">
<p>Typically, parallel recursive and multi-remote fetches will be faster. By
default fetches are performed sequentially, not in parallel.</p>
</div>
</dd>
<dt class="hdlist1"><code>--no-recurse-submodules</code></dt>
<dd>
<p>Disable recursive fetching of submodules (this has the same effect as
using the <code>--recurse-submodules=no</code> option).</p>
</dd>
<dt class="hdlist1"><code>--set-upstream</code></dt>
<dd>
<p>If the remote is fetched successfully, add upstream
(tracking) reference, used by argument-less
<a href="git-pull.html">git-pull(1)</a> and other commands. For more information,
see <code>branch.</code><em>&lt;name&gt;</em><code>.merge</code> and <code>branch.</code><em>&lt;name&gt;</em><code>.remote</code> in
<a href="git-config.html">git-config(1)</a>.</p>
</dd>
<dt class="hdlist1"><code>--submodule-prefix=</code><em>&lt;path&gt;</em></dt>
<dd>
<p>Prepend <em>&lt;path&gt;</em> to paths printed in informative messages
such as "Fetching submodule foo".  This option is used
internally when recursing over submodules.</p>
</dd>
<dt class="hdlist1"><code>--recurse-submodules-default=</code>(<code>yes</code>|<code>on-demand</code>)</dt>
<dd>
<p>This option is used internally to temporarily provide a
non-negative default value for the <code>--recurse-submodules</code>
option.  All other methods of configuring fetch&#8217;s submodule
recursion (such as settings in <a href="gitmodules.html">gitmodules(5)</a> and
<a href="git-config.html">git-config(1)</a>) override this option, as does
specifying <code>--</code>[<code>no-</code>]<code>recurse-submodules</code> directly.</p>
</dd>
<dt class="hdlist1"><code>-u</code></dt>
<dt class="hdlist1"><code>--update-head-ok</code></dt>
<dd>
<p>By default <code>git</code> <code>fetch</code> refuses to update the head which
corresponds to the current branch.  This flag disables the
check.  This is purely for the internal use for <code>git</code> <code>pull</code>
to communicate with <code>git</code> <code>fetch</code>, and unless you are
implementing your own Porcelain you are not supposed to
use it.</p>
</dd>
<dt class="hdlist1"><code>--upload-pack</code> <em>&lt;upload-pack&gt;</em></dt>
<dd>
<p>When given, and the repository to fetch from is handled
by <code>git</code> <code>fetch-pack</code>, <code>--exec=</code><em>&lt;upload-pack&gt;</em> is passed to
the command to specify non-default path for the command
run on the other end.</p>
</dd>
<dt class="hdlist1"><code>-q</code></dt>
<dt class="hdlist1"><code>--quiet</code></dt>
<dd>
<p>Pass <code>--quiet</code> to <code>git-fetch-pack</code> and silence any other internally
used git commands. Progress is not reported to the standard error
stream.</p>
</dd>
<dt class="hdlist1"><code>-v</code></dt>
<dt class="hdlist1"><code>--verbose</code></dt>
<dd>
<p>Be verbose.</p>
</dd>
<dt class="hdlist1"><code>--progress</code></dt>
<dd>
<p>Progress status is reported on the standard error stream
by default when it is attached to a terminal, unless <code>-q</code>
is specified. This flag forces progress status even if the
standard error stream is not directed to a terminal.</p>
</dd>
<dt class="hdlist1"><code>-o</code> <em>&lt;option&gt;</em></dt>
<dt class="hdlist1"><code>--server-option=</code><em>&lt;option&gt;</em></dt>
<dd>
<p>Transmit the given string to the server when communicating using
protocol version 2.  The given string must not contain a <em>NUL</em> or <em>LF</em>
character.  The server&#8217;s handling of server options, including
unknown ones, is server-specific.
When multiple <code>--server-option=</code><em>&lt;option&gt;</em> are given, they are all
sent to the other side in the order listed on the command line.
When no <code>--server-option=</code><em>&lt;option&gt;</em> is given from the command line,
the values of configuration variable <code>remote.</code><em>&lt;name&gt;</em><code>.serverOption</code>
are used instead.</p>
</dd>
<dt class="hdlist1"><code>--show-forced-updates</code></dt>
<dd>
<p>By default, git checks if a branch is force-updated during
fetch. This can be disabled through <code>fetch.showForcedUpdates</code>, but
the <code>--show-forced-updates</code> option guarantees this check occurs.
See <a href="git-config.html">git-config(1)</a>.</p>
</dd>
<dt class="hdlist1"><code>--no-show-forced-updates</code></dt>
<dd>
<p>By default, git checks if a branch is force-updated during
fetch. Pass <code>--no-show-forced-updates</code> or set <code>fetch.showForcedUpdates</code>
to false to skip this check for performance reasons. If used during
<code>git-pull</code> the <code>--ff-only</code> option will still check for forced updates
before attempting a fast-forward update. See <a href="git-config.html">git-config(1)</a>.</p>
</dd>
<dt class="hdlist1"><code>-4</code></dt>
<dt class="hdlist1"><code>--ipv4</code></dt>
<dd>
<p>Use IPv4 addresses only, ignoring IPv6 addresses.</p>
</dd>
<dt class="hdlist1"><code>-6</code></dt>
<dt class="hdlist1"><code>--ipv6</code></dt>
<dd>
<p>Use IPv6 addresses only, ignoring IPv4 addresses.</p>
</dd>
<dt class="hdlist1"><em>&lt;repository&gt;</em></dt>
<dd>
<p>The "remote" repository that is the source of a fetch
or pull operation.  This parameter can be either a URL
(see the section <a href="#URLS">GIT URLS</a> below) or the name
of a remote (see the section <a href="#REMOTES">REMOTES</a> below).</p>
</dd>
<dt class="hdlist1"><em>&lt;group&gt;</em></dt>
<dd>
<p>A name referring to a list of repositories as the value
of <code>remotes.</code><em>&lt;group&gt;</em> in the configuration file.
(See <a href="git-config.html">git-config(1)</a>).</p>
</dd>
</dl>
</div>
<div id="fetch-refspec" class="dlist">
<dl>
<dt class="hdlist1"><em>&lt;refspec&gt;</em></dt>
<dd>
<p>Specifies which refs to fetch and which local refs to update.
When no <em>&lt;refspec&gt;</em>s appear on the command line, the refs to fetch
are read from <code>remote.</code><em>&lt;repository&gt;</em><code>.fetch</code> variables instead
(see <a href="#CRTB">CONFIGURED REMOTE-TRACKING BRANCHES</a> below).</p>
<div class="paragraph">
<p>The format of a <em>&lt;refspec&gt;</em> parameter is an optional plus
<code>+</code>, followed by the source <em>&lt;src&gt;</em>, followed
by a colon <code>:</code>, followed by the destination <em>&lt;dst&gt;</em>.
The colon can be omitted when <em>&lt;dst&gt;</em> is empty.  <em>&lt;src&gt;</em> is
typically a ref, or a glob pattern with a single <code>*</code> that is used
to match a set of refs, but it can also be a fully spelled hex object
name.</p>
</div>
<div class="paragraph">
<p>A <em>&lt;refspec&gt;</em> may contain a <code>*</code> in its <em>&lt;src&gt;</em> to indicate a simple pattern
match. Such a refspec functions like a glob that matches any ref with the
pattern. A pattern <em>&lt;refspec&gt;</em> must have one and only one <code>*</code> in both the <em>&lt;src&gt;</em> and
<em>&lt;dst&gt;</em>. It will map refs to the destination by replacing the <code>*</code> with the
contents matched from the source.</p>
</div>
<div class="paragraph">
<p>If a refspec is prefixed by <code>^</code>, it will be interpreted as a negative
refspec. Rather than specifying which refs to fetch or which local refs to
update, such a refspec will instead specify refs to exclude. A ref will be
considered to match if it matches at least one positive refspec, and does
not match any negative refspec. Negative refspecs can be useful to restrict
the scope of a pattern refspec so that it will not include specific refs.
Negative refspecs can themselves be pattern refspecs. However, they may only
contain a <em>&lt;src&gt;</em> and do not specify a <em>&lt;dst&gt;</em>. Fully spelled out hex object
names are also not supported.</p>
</div>
<div class="paragraph">
<p><code>tag</code> <em>&lt;tag&gt;</em> means the same as <code>refs/tags/</code><em>&lt;tag&gt;</em><code>:refs/tags/</code><em>&lt;tag&gt;</em>;
it requests fetching everything up to the given tag.</p>
</div>
<div class="paragraph">
<p>The remote ref that matches <em>&lt;src&gt;</em>
is fetched, and if <em>&lt;dst&gt;</em> is not an empty string, an attempt
is made to update the local ref that matches it.</p>
</div>
<div class="paragraph">
<p>Whether that update is allowed without <code>--force</code> depends on the ref
namespace it&#8217;s being fetched to, the type of object being fetched, and
whether the update is considered to be a fast-forward. Generally, the
same rules apply for fetching as when pushing, see the <em>&lt;refspec&gt;</em>...
section of <a href="git-push.html">git-push(1)</a> for what those are. Exceptions to those
rules particular to <code>git</code> <code>fetch</code> are noted below.</p>
</div>
<div class="paragraph">
<p>Until Git version 2.20, and unlike when pushing with
<a href="git-push.html">git-push(1)</a>, any updates to <code>refs/tags/*</code> would be accepted
without <code>+</code> in the refspec (or <code>--force</code>). When fetching, we promiscuously
considered all tag updates from a remote to be forced fetches.  Since
Git version 2.20, fetching to update <code>refs/tags/*</code> works the same way
as when pushing. I.e. any updates will be rejected without <code>+</code> in the
refspec (or <code>--force</code>).</p>
</div>
<div class="paragraph">
<p>Unlike when pushing with <a href="git-push.html">git-push(1)</a>, any updates outside of
<code>refs/</code>{tags,heads}/* will be accepted without <code>+</code> in the refspec (or
<code>--force</code>), whether that&#8217;s swapping e.g. a tree object for a blob, or
a commit for another commit that doesn&#8217;t have the previous commit as
an ancestor etc.</p>
</div>
<div class="paragraph">
<p>Unlike when pushing with <a href="git-push.html">git-push(1)</a>, there is no
configuration which&#8217;ll amend these rules, and nothing like a
<code>pre-fetch</code> hook analogous to the <code>pre-receive</code> hook.</p>
</div>
<div class="paragraph">
<p>As with pushing with <a href="git-push.html">git-push(1)</a>, all of the rules described
above about what&#8217;s not allowed as an update can be overridden by
adding an optional leading <code>+</code> to a refspec (or using the <code>--force</code>
command line option). The only exception to this is that no amount of
forcing will make the <code>refs/heads/*</code> namespace accept a non-commit
object.</p>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<div class="title">Note</div>
</td>
<td class="content">
When the remote branch you want to fetch is known to
be rewound and rebased regularly, it is expected that
its new tip will not be a descendant of its previous tip
(as stored in your remote-tracking branch the last time
you fetched).  You would want
to use the <code>+</code> sign to indicate non-fast-forward updates
will be needed for such branches.  There is no way to
determine or declare that a branch will be made available
in a repository with this behavior; the pulling user simply
must know this is the expected usage pattern for a branch.
</td>
</tr>
</table>
</div>
</dd>
<dt class="hdlist1"><code>--stdin</code></dt>
<dd>
<p>Read refspecs, one per line, from stdin in addition to those provided
as arguments. The "tag <em>&lt;name&gt;</em>" format is not supported.</p>
</dd>
</dl>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_git_urls">GIT URLS<a id="URLS"></a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>In general, URLs contain information about the transport protocol, the
address of the remote server, and the path to the repository.
Depending on the transport protocol, some of this information may be
absent.</p>
</div>
<div class="paragraph">
<p>Git supports ssh, git, http, and https protocols (in addition, ftp
and ftps can be used for fetching, but this is inefficient and
deprecated; do not use them).</p>
</div>
<div class="paragraph">
<p>The native transport (i.e. <code>git://</code> URL) does no authentication and
should be used with caution on unsecured networks.</p>
</div>
<div class="paragraph">
<p>The following syntaxes may be used with them:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><code>ssh://</code>[<em>&lt;user&gt;</em><code>@</code>]<em>&lt;host&gt;</em>[<code>:</code><em>&lt;port&gt;</em>]<code>/</code><em>&lt;path-to-git-repo&gt;</em></p>
</li>
<li>
<p><code>git://</code><em>&lt;host&gt;</em>[<code>:</code><em>&lt;port&gt;</em>]<code>/</code><em>&lt;path-to-git-repo&gt;</em></p>
</li>
<li>
<p><code>http</code>[<code>s</code>]<code>://</code><em>&lt;host&gt;</em>[<code>:</code><em>&lt;port&gt;</em>]<code>/</code><em>&lt;path-to-git-repo&gt;</em></p>
</li>
<li>
<p><code>ftp</code>[<code>s</code>]<code>://</code><em>&lt;host&gt;</em>[<code>:</code><em>&lt;port&gt;</em>]<code>/</code><em>&lt;path-to-git-repo&gt;</em></p>
</li>
</ul>
</div>
<div class="paragraph">
<p>An alternative scp-like syntax may also be used with the ssh protocol:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>[<em>&lt;user&gt;</em><code>@</code>]<em>&lt;host&gt;</em><code>:/</code><em>&lt;path-to-git-repo&gt;</em></p>
</li>
</ul>
</div>
<div class="paragraph">
<p>This syntax is only recognized if there are no slashes before the
first colon. This helps differentiate a local path that contains a
colon. For example the local path <code>foo:bar</code> could be specified as an
absolute path or .<code>/foo:bar</code> to avoid being misinterpreted as an ssh
url.</p>
</div>
<div class="paragraph">
<p>The ssh and git protocols additionally support <code>~</code><em>&lt;username&gt;</em> expansion:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><code>ssh://</code>[<em>&lt;user&gt;</em><code>@</code>]<em>&lt;host&gt;</em>[<code>:</code><em>&lt;port&gt;</em>]<code>/~</code><em>&lt;user&gt;</em><code>/</code><em>&lt;path-to-git-repo&gt;</em></p>
</li>
<li>
<p><code>git://</code><em>&lt;host&gt;</em>[<code>:</code><em>&lt;port&gt;</em>]<code>/~</code><em>&lt;user&gt;</em><code>/</code><em>&lt;path-to-git-repo&gt;</em></p>
</li>
<li>
<p>[<em>&lt;user&gt;</em><code>@</code>]<em>&lt;host&gt;</em><code>:~</code><em>&lt;user&gt;</em><code>/</code><em>&lt;path-to-git-repo&gt;</em></p>
</li>
</ul>
</div>
<div class="paragraph">
<p>For local repositories, also supported by Git natively, the following
syntaxes may be used:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><code>/path/to/repo.git/</code></p>
</li>
<li>
<p><code>file:///path/to/repo.git/</code></p>
</li>
</ul>
</div>
<div class="paragraph">
<p>These two syntaxes are mostly equivalent, except when cloning, when
the former implies <code>--local</code> option. See <a href="git-clone.html">git-clone(1)</a> for
details.</p>
</div>
<div class="paragraph">
<p><code>git</code> <code>clone</code>, <code>git</code> <code>fetch</code> and <code>git</code> <code>pull</code>, but not <code>git</code> <code>push</code>, will also
accept a suitable bundle file. See <a href="git-bundle.html">git-bundle(1)</a>.</p>
</div>
<div class="paragraph">
<p>When Git doesn&#8217;t know how to handle a certain transport protocol, it
attempts to use the <code>remote-</code><em>&lt;transport&gt;</em> remote helper, if one
exists. To explicitly request a remote helper, the following syntax
may be used:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><em>&lt;transport&gt;</em><code>::</code><em>&lt;address&gt;</em></p>
</li>
</ul>
</div>
<div class="paragraph">
<p>where <em>&lt;address&gt;</em> may be a path, a server and path, or an arbitrary
URL-like string recognized by the specific remote helper being
invoked. See <a href="gitremote-helpers.html">gitremote-helpers(7)</a> for details.</p>
</div>
<div class="paragraph">
<p>If there are a large number of similarly-named remote repositories and
you want to use a different format for them (such that the URLs you
use will be rewritten into URLs that work), you can create a
configuration section of the form:</p>
</div>
<div class="verseblock">
<pre class="content">        [url "<em>&lt;actual-url-base&gt;</em>"]
                insteadOf = <em>&lt;other-url-base&gt;</em></pre>
</div>
<div class="paragraph">
<p>For example, with this:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>        [url "git://git.host.xz/"]
                insteadOf = host.xz:/path/to/
                insteadOf = work:</pre>
</div>
</div>
<div class="paragraph">
<p>a URL like "work:repo.git" or like "host.xz:/path/to/repo.git" will be
rewritten in any context that takes a URL to be "git://git.host.xz/repo.git".</p>
</div>
<div class="paragraph">
<p>If you want to rewrite URLs for push only, you can create a
configuration section of the form:</p>
</div>
<div class="verseblock">
<pre class="content">        [url "<em>&lt;actual-url-base&gt;</em>"]
                pushInsteadOf = <em>&lt;other-url-base&gt;</em></pre>
</div>
<div class="paragraph">
<p>For example, with this:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>        [url "ssh://example.org/"]
                pushInsteadOf = git://example.org/</pre>
</div>
</div>
<div class="paragraph">
<p>a URL like "git://example.org/path/to/repo.git" will be rewritten to
"ssh://example.org/path/to/repo.git" for pushes, but pulls will still
use the original URL.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_remotes">REMOTES<a id="REMOTES"></a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>The name of one of the following can be used instead
of a URL as <em>&lt;repository&gt;</em> argument:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>a remote in the Git configuration file: <code>$GIT_DIR/config</code>,</p>
</li>
<li>
<p>a file in the <code>$GIT_DIR/remotes</code> directory, or</p>
</li>
<li>
<p>a file in the <code>$GIT_DIR/branches</code> directory.</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>All of these also allow you to omit the refspec from the command line
because they each contain a refspec which git will use by default.</p>
</div>
<div class="sect2">
<h3 id="_named_remote_in_configuration_file">Named remote in configuration file</h3>
<div class="paragraph">
<p>You can choose to provide the name of a remote which you had previously
configured using <a href="git-remote.html">git-remote(1)</a>, <a href="git-config.html">git-config(1)</a>
or even by a manual edit to the <code>$GIT_DIR/config</code> file.  The URL of
this remote will be used to access the repository.  The refspec
of this remote will be used by default when you do
not provide a refspec on the command line.  The entry in the
config file would appear like this:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>        [remote "&lt;name&gt;"]
                url = &lt;URL&gt;
                pushurl = &lt;pushurl&gt;
                push = &lt;refspec&gt;
                fetch = &lt;refspec&gt;</pre>
</div>
</div>
<div class="paragraph">
<p>The <em>&lt;pushurl&gt;</em> is used for pushes only. It is optional and defaults
to <em>&lt;URL&gt;</em>. Pushing to a remote affects all defined pushurls or all
defined urls if no pushurls are defined. Fetch, however, will only
fetch from the first defined url if multiple urls are defined.</p>
</div>
</div>
<div class="sect2">
<h3 id="_named_file_in_git_dirremotes">Named file in <code>$GIT_DIR/remotes</code></h3>
<div class="paragraph">
<p>You can choose to provide the name of a
file in <code>$GIT_DIR/remotes</code>.  The URL
in this file will be used to access the repository.  The refspec
in this file will be used as default when you do not
provide a refspec on the command line.  This file should have the
following format:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>        URL: one of the above URL formats
        Push: &lt;refspec&gt;
        Pull: &lt;refspec&gt;</pre>
</div>
</div>
<div class="paragraph">
<p><code>Push:</code> lines are used by <code>git</code> <code>push</code> and
<code>Pull:</code> lines are used by <code>git</code> <code>pull</code> and <code>git</code> <code>fetch</code>.
Multiple <code>Push:</code> and <code>Pull:</code> lines may
be specified for additional branch mappings.</p>
</div>
</div>
<div class="sect2">
<h3 id="_named_file_in_git_dirbranches">Named file in <code>$GIT_DIR/branches</code></h3>
<div class="paragraph">
<p>You can choose to provide the name of a
file in <code>$GIT_DIR/branches</code>.
The URL in this file will be used to access the repository.
This file should have the following format:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>        &lt;URL&gt;#&lt;head&gt;</pre>
</div>
</div>
<div class="paragraph">
<p><em>&lt;URL&gt;</em> is required; #<em>&lt;head&gt;</em> is optional.</p>
</div>
<div class="paragraph">
<p>Depending on the operation, git will use one of the following
refspecs, if you don&#8217;t provide one on the command line.
<em>&lt;branch&gt;</em> is the name of this file in <code>$GIT_DIR/branches</code> and
<em>&lt;head&gt;</em> defaults to <code>master</code>.</p>
</div>
<div class="paragraph">
<p>git fetch uses:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>        refs/heads/&lt;head&gt;:refs/heads/&lt;branch&gt;</pre>
</div>
</div>
<div class="paragraph">
<p>git push uses:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>        HEAD:refs/heads/&lt;head&gt;</pre>
</div>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="UPSTREAM-BRANCHES">UPSTREAM BRANCHES</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Branches in Git can optionally have an upstream remote branch.
Git defaults to using the upstream branch for remote operations, for example:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>It&#8217;s the default for <code>git</code> <code>pull</code> or <code>git</code> <code>fetch</code> with no arguments.</p>
</li>
<li>
<p>It&#8217;s the default for <code>git</code> <code>push</code> with no arguments, with some exceptions.
For example, you can use the <code>branch.</code><em>&lt;name&gt;</em><code>.pushRemote</code> option to push
to a different remote than you pull from, and by default with
<code>push.default=simple</code> the upstream branch you configure must have
the same name.</p>
</li>
<li>
<p>Various commands, including <code>git</code> <code>checkout</code> and <code>git</code> <code>status</code>, will
show you how many commits have been added to your current branch and
the upstream since you forked from it, for example "Your branch and
<em>origin/main</em> have diverged, and have 2 and 3 different commits each
respectively".</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>The upstream is stored in .<code>git/config</code>, in the "<code>remote</code>" and "<code>merge</code>"
fields. For example, if <code>main</code>'s upstream is <code>origin/main</code>:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>[branch "main"]
   remote = origin
   merge = refs/heads/main</pre>
</div>
</div>
<div class="paragraph">
<p>You can set an upstream branch explicitly with
<code>git</code> <code>push</code> <code>--set-upstream</code> <em>&lt;remote&gt;</em> <em>&lt;branch&gt;</em>
but Git will often automatically set the upstream for you, for example:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>When you clone a repository, Git will automatically set the upstream
for the default branch.</p>
</li>
<li>
<p>If you have the <code>push.autoSetupRemote</code> configuration option set,
<code>git</code> <code>push</code> will automatically set the upstream the first time you push
a branch.</p>
</li>
<li>
<p>Checking out a remote-tracking branch with <code>git</code> <code>checkout</code> <em>&lt;branch&gt;</em>
will automatically create a local branch with that name and set
the upstream to the remote branch.</p>
</li>
</ul>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<div class="title">Note</div>
</td>
<td class="content">
Upstream branches are sometimes referred to as "tracking information",
as in "set the branch&#8217;s tracking information".
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="sect1">
<h2 id="CRTB">CONFIGURED REMOTE-TRACKING BRANCHES</h2>
<div class="sectionbody">
<div class="paragraph">
<p>You often interact with the same remote repository by
regularly and repeatedly fetching from it.  In order to keep track
of the progress of such a remote repository, <code>git</code> <code>fetch</code> allows you
to configure <code>remote.</code><em>&lt;repository&gt;</em><code>.fetch</code> configuration variables.</p>
</div>
<div class="paragraph">
<p>Typically such a variable may look like this:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>[remote "origin"]
        fetch = +refs/heads/*:refs/remotes/origin/*</pre>
</div>
</div>
<div class="paragraph">
<p>This configuration is used in two ways:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>When <code>git</code> <code>fetch</code> is run without specifying what branches
and/or tags to fetch on the command line, e.g. <code>git</code> <code>fetch</code> <code>origin</code>
or <code>git</code> <code>fetch</code>, <code>remote.</code><em>&lt;repository&gt;</em><code>.fetch</code> values are used as
the refspecs&#8212;&#8203;they specify which refs to fetch and which local refs
to update.  The example above will fetch
all branches that exist in the <code>origin</code> (i.e. any ref that matches
the left-hand side of the value, <code>refs/heads/*</code>) and update the
corresponding remote-tracking branches in the <code>refs/remotes/origin/*</code>
hierarchy.</p>
</li>
<li>
<p>When <code>git</code> <code>fetch</code> is run with explicit branches and/or tags
to fetch on the command line, e.g. <code>git</code> <code>fetch</code> <code>origin</code> <code>master</code>, the
<em>&lt;refspec&gt;s</em> given on the command line determine what are to be
fetched (e.g. <code>master</code> in the example,
which is a short-hand for <code>master:</code>, which in turn means
"fetch the <code>master</code> branch but I do not explicitly say what
remote-tracking branch to update with it from the command line"),
and the example command will
fetch <em>only</em> the <code>master</code> branch.  The <code>remote.</code><em>&lt;repository&gt;</em><code>.fetch</code>
values determine which
remote-tracking branch, if any, is updated.  When used in this
way, the <code>remote.</code><em>&lt;repository&gt;</em><code>.fetch</code> values do not have any
effect in deciding <em>what</em> gets fetched (i.e. the values are not
used as refspecs when the command-line lists refspecs); they are
only used to decide <em>where</em> the refs that are fetched are stored
by acting as a mapping.</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>The latter use of the <code>remote.</code><em>&lt;repository&gt;</em><code>.fetch</code> values can be
overridden by giving the <code>--refmap=</code><em>&lt;refspec&gt;</em> parameter(s) on the
command line.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_pruning">PRUNING</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Git has a default disposition of keeping data unless it&#8217;s explicitly
thrown away; this extends to holding onto local references to branches
on remotes that have themselves deleted those branches.</p>
</div>
<div class="paragraph">
<p>If left to accumulate, these stale references might make performance
worse on big and busy repos that have a lot of branch churn, and
e.g. make the output of commands like <code>git</code> <code>branch</code> <code>-a</code> <code>--contains</code>
<em>&lt;commit&gt;</em> needlessly verbose, as well as impacting anything else
that&#8217;ll work with the complete set of known references.</p>
</div>
<div class="paragraph">
<p>These remote-tracking references can be deleted as a one-off with
either of:</p>
</div>
<div class="listingblock">
<div class="content">
<pre># While fetching
$ git fetch --prune &lt;name&gt;

# Only prune, don't fetch
$ git remote prune &lt;name&gt;</pre>
</div>
</div>
<div class="paragraph">
<p>To prune references as part of your normal workflow without needing to
remember to run that, set <code>fetch.prune</code> globally, or
<code>remote.</code><em>&lt;name&gt;</em><code>.prune</code> per-remote in the config. See
<a href="git-config.html">git-config(1)</a>.</p>
</div>
<div class="paragraph">
<p>Here&#8217;s where things get tricky and more specific. The pruning feature
doesn&#8217;t actually care about branches, instead it&#8217;ll prune local &#8592;&#8594;
remote-references as a function of the refspec of the remote (see
<em>&lt;refspec&gt;</em> and <a href="#CRTB">CONFIGURED REMOTE-TRACKING BRANCHES</a> above).</p>
</div>
<div class="paragraph">
<p>Therefore if the refspec for the remote includes
e.g. <code>refs/tags/*:refs/tags/*</code>, or you manually run e.g. <code>git</code> <code>fetch</code>
<code>--prune</code> <em>&lt;name&gt;</em> "refs/tags/*:refs/tags/*" it won&#8217;t be stale remote
tracking branches that are deleted, but any local tag that doesn&#8217;t
exist on the remote.</p>
</div>
<div class="paragraph">
<p>This might not be what you expect, i.e. you want to prune remote
<em>&lt;name&gt;</em>, but also explicitly fetch tags from it, so when you fetch
from it you delete all your local tags, most of which may not have
come from the <em>&lt;name&gt;</em> remote in the first place.</p>
</div>
<div class="paragraph">
<p>So be careful when using this with a refspec like
<code>refs/tags/*:refs/tags/*</code>, or any other refspec which might map
references from multiple remotes to the same local namespace.</p>
</div>
<div class="paragraph">
<p>Since keeping up-to-date with both branches and tags on the remote is
a common use-case the <code>--prune-tags</code> option can be supplied along with
<code>--prune</code> to prune local tags that don&#8217;t exist on the remote, and
force-update those tags that differ. Tag pruning can also be enabled
with <code>fetch.pruneTags</code> or <code>remote.</code><em>&lt;name&gt;</em><code>.pruneTags</code> in the config. See
<a href="git-config.html">git-config(1)</a>.</p>
</div>
<div class="paragraph">
<p>The <code>--prune-tags</code> option is equivalent to having
<code>refs/tags/*:refs/tags/*</code> declared in the refspecs of the remote. This
can lead to some seemingly strange interactions:</p>
</div>
<div class="listingblock">
<div class="content">
<pre># These both fetch tags
$ git fetch --no-tags origin 'refs/tags/*:refs/tags/*'
$ git fetch --no-tags --prune-tags origin</pre>
</div>
</div>
<div class="paragraph">
<p>The reason it doesn&#8217;t error out when provided without <code>--prune</code> or its
config versions is for flexibility of the configured versions, and to
maintain a 1=1 mapping between what the command line flags do, and
what the configuration versions do.</p>
</div>
<div class="paragraph">
<p>It&#8217;s reasonable to e.g. configure <code>fetch.pruneTags=true</code> in
<code>~/.gitconfig</code> to have tags pruned whenever <code>git</code> <code>fetch</code> <code>--prune</code> is
run, without making every invocation of <code>git</code> <code>fetch</code> without <code>--prune</code>
an error.</p>
</div>
<div class="paragraph">
<p>Pruning tags with <code>--prune-tags</code> also works when fetching a URL
instead of a named remote. These will all prune tags not found on
origin:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>$ git fetch origin --prune --prune-tags
$ git fetch origin --prune 'refs/tags/*:refs/tags/*'
$ git fetch &lt;url-of-origin&gt; --prune --prune-tags
$ git fetch &lt;url-of-origin&gt; --prune 'refs/tags/*:refs/tags/*'</pre>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_output">OUTPUT</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The output of "git fetch" depends on the transport method used; this
section describes the output when fetching over the Git protocol
(either locally or via ssh) and Smart HTTP protocol.</p>
</div>
<div class="paragraph">
<p>The status of the fetch is output in tabular form, with each line
representing the status of a single ref. Each line is of the form:</p>
</div>
<div class="listingblock">
<div class="content">
<pre> &lt;flag&gt; &lt;summary&gt; &lt;from&gt; -&gt; &lt;to&gt; [&lt;reason&gt;]</pre>
</div>
</div>
<div class="paragraph">
<p>When using <code>--porcelain</code>, the output format is intended to be
machine-parseable. In contrast to the human-readable output formats it
thus prints to standard output instead of standard error. Each line is
of the form:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>&lt;flag&gt; &lt;old-object-id&gt; &lt;new-object-id&gt; &lt;local-reference&gt;</pre>
</div>
</div>
<div class="paragraph">
<p>The status of up-to-date refs is shown only if the <code>--verbose</code> option is
used.</p>
</div>
<div class="paragraph">
<p>In compact output mode, specified with configuration variable
fetch.output, if either entire <em>&lt;from&gt;</em> or <em>&lt;to&gt;</em> is found in the
other string, it will be substituted with <code>*</code> in the other string. For
example, <code>master</code> <code>-</code>&gt; <code>origin/master</code> becomes <code>master</code> <code>-</code>&gt; <code>origin/*</code>.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1">flag</dt>
<dd>
<p>A single character indicating the status of the ref:</p>
<div class="dlist">
<dl>
<dt class="hdlist1">(space)</dt>
<dd>
<p>for a successfully fetched fast-forward;</p>
</dd>
<dt class="hdlist1"><code>+</code></dt>
<dd>
<p>for a successful forced update;</p>
</dd>
<dt class="hdlist1"><code>-</code></dt>
<dd>
<p>for a successfully pruned ref;</p>
</dd>
<dt class="hdlist1"><code>t</code></dt>
<dd>
<p>for a successful tag update;</p>
</dd>
<dt class="hdlist1"><code>*</code></dt>
<dd>
<p>for a successfully fetched new ref;</p>
</dd>
<dt class="hdlist1">!</dt>
<dd>
<p>for a ref that was rejected or failed to update; and</p>
</dd>
<dt class="hdlist1"><code>=</code></dt>
<dd>
<p>for a ref that was up to date and did not need fetching.</p>
</dd>
</dl>
</div>
</dd>
<dt class="hdlist1">summary</dt>
<dd>
<p>For a successfully fetched ref, the summary shows the old and new
values of the ref in a form suitable for using as an argument to
<code>git</code> <code>log</code> (this is <em>&lt;old&gt;</em><code>..</code><em>&lt;new&gt;</em> in most cases, and
<em>&lt;old&gt;</em><code>...</code><em>&lt;new&gt;</em> for forced non-fast-forward updates).</p>
</dd>
<dt class="hdlist1">from</dt>
<dd>
<p>The name of the remote ref being fetched from, minus its
<code>refs/</code><em>&lt;type&gt;</em><code>/</code> prefix. In the case of deletion, the name of
the remote ref is "(none)".</p>
</dd>
<dt class="hdlist1">to</dt>
<dd>
<p>The name of the local ref being updated, minus its
<code>refs/</code><em>&lt;type&gt;</em><code>/</code> prefix.</p>
</dd>
<dt class="hdlist1">reason</dt>
<dd>
<p>A human-readable explanation. In the case of successfully fetched
refs, no explanation is needed. For a failed ref, the reason for
failure is described.</p>
</dd>
</dl>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_examples">EXAMPLES</h2>
<div class="sectionbody">
<div class="ulist">
<ul>
<li>
<p>Update the remote-tracking branches:</p>
<div class="listingblock">
<div class="content">
<pre>$ git fetch origin</pre>
</div>
</div>
<div class="paragraph">
<p>The above command copies all branches from the remote <code>refs/heads/</code>
namespace and stores them to the local <code>refs/remotes/origin/</code> namespace,
unless the <code>remote.</code><em>&lt;repository&gt;</em><code>.fetch</code> option is used to specify a
non-default refspec.</p>
</div>
</li>
<li>
<p>Using refspecs explicitly:</p>
<div class="listingblock">
<div class="content">
<pre>$ git fetch origin +seen:seen maint:tmp</pre>
</div>
</div>
<div class="paragraph">
<p>This updates (or creates, as necessary) branches <code>seen</code> and <code>tmp</code> in
the local repository by fetching from the branches (respectively)
<code>seen</code> and <code>maint</code> from the remote repository.</p>
</div>
<div class="paragraph">
<p>The <code>seen</code> branch will be updated even if it does not fast-forward,
because it is prefixed with a plus sign; <code>tmp</code> will not be.</p>
</div>
</li>
<li>
<p>Peek at a remote&#8217;s branch, without configuring the remote in your local
repository:</p>
<div class="listingblock">
<div class="content">
<pre>$ git fetch git://git.kernel.org/pub/scm/git/git.git maint
$ git log FETCH_HEAD</pre>
</div>
</div>
<div class="paragraph">
<p>The first command fetches the <code>maint</code> branch from the repository at
<code>git://git.kernel.org/pub/scm/git/git.git</code> and the second command uses
<code>FETCH_HEAD</code> to examine the branch with <a href="git-log.html">git-log(1)</a>.  The fetched
objects will eventually be removed by git&#8217;s built-in housekeeping (see
<a href="git-gc.html">git-gc(1)</a>).</p>
</div>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_security">SECURITY</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The fetch and push protocols are not designed to prevent one side from
stealing data from the other repository that was not intended to be
shared. If you have private data that you need to protect from a malicious
peer, your best option is to store it in another repository. This applies
to both clients and servers. In particular, namespaces on a server are not
effective for read access control; you should only grant read access to a
namespace to clients that you would trust with read access to the entire
repository.</p>
</div>
<div class="paragraph">
<p>The known attack vectors are as follows:</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>The victim sends "have" lines advertising the IDs of objects it has that
are not explicitly intended to be shared but can be used to optimize the
transfer if the peer also has them. The attacker chooses an object ID X
to steal and sends a ref to X, but isn&#8217;t required to send the content of
X because the victim already has it. Now the victim believes that the
attacker has X, and it sends the content of X back to the attacker
later. (This attack is most straightforward for a client to perform on a
server, by creating a ref to X in the namespace the client has access
to and then fetching it. The most likely way for a server to perform it
on a client is to "merge" X into a public branch and hope that the user
does additional work on this branch and pushes it back to the server
without noticing the merge.)</p>
</li>
<li>
<p>As in #1, the attacker chooses an object ID X to steal. The victim sends
an object Y that the attacker already has, and the attacker falsely
claims to have X and not Y, so the victim sends Y as a delta against X.
The delta reveals regions of X that are similar to Y to the attacker.</p>
</li>
</ol>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_configuration">CONFIGURATION</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Everything below this line in this section is selectively included
from the <a href="git-config.html">git-config(1)</a> documentation. The content is the same
as what&#8217;s found there:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><code>fetch.recurseSubmodules</code></dt>
<dd>
<p>This option controls whether <code>git</code> <code>fetch</code> (and the underlying fetch
in <code>git</code> <code>pull</code>) will recursively fetch into populated submodules.
This option can be set either to a boolean value or to <code>on-demand</code>.
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 <code>on-demand</code>, fetch and
pull will only recurse into a populated submodule when its
superproject retrieves a commit that updates the submodule&#8217;s
reference.
Defaults to <code>on-demand</code>, or to the value of <code>submodule.recurse</code> if set.</p>
</dd>
<dt class="hdlist1"><code>fetch.fsckObjects</code></dt>
<dd>
<p>If it is set to true, git-fetch-pack will check all fetched
objects. See <code>transfer.fsckObjects</code> for what&#8217;s
checked. Defaults to <code>false</code>. If not set, the value of
<code>transfer.fsckObjects</code> is used instead.</p>
</dd>
<dt class="hdlist1"><code>fetch.fsck.</code><em>&lt;msg-id&gt;</em></dt>
<dd>
<p>Acts like <code>fsck.</code><em>&lt;msg-id&gt;</em>, but is used by
<a href="git-fetch-pack.html">git-fetch-pack(1)</a> instead of <a href="git-fsck.html">git-fsck(1)</a>. See
the <code>fsck.</code><em>&lt;msg-id&gt;</em> documentation for details.</p>
</dd>
<dt class="hdlist1"><code>fetch.fsck.skipList</code></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"><code>fetch.unpackLimit</code></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"><code>fetch.prune</code></dt>
<dd>
<p>If true, fetch will automatically behave as if the <code>--prune</code>
option was given on the command line.  See also <code>remote.</code><em>&lt;name&gt;</em><code>.prune</code>
and the PRUNING section of <a href="git-fetch.html">git-fetch(1)</a>.</p>
</dd>
<dt class="hdlist1"><code>fetch.pruneTags</code></dt>
<dd>
<p>If true, fetch will automatically behave as if the
<code>refs/tags/*:refs/tags/*</code> refspec was provided when pruning,
if not set already. This allows for setting both this option
and <code>fetch.prune</code> to maintain a 1=1 mapping to upstream
refs. See also <code>remote.</code><em>&lt;name&gt;</em><code>.pruneTags</code> and the PRUNING
section of <a href="git-fetch.html">git-fetch(1)</a>.</p>
</dd>
<dt class="hdlist1"><code>fetch.all</code></dt>
<dd>
<p>If true, fetch will attempt to update all available remotes.
This behavior can be overridden by passing <code>--no-all</code> or by
explicitly specifying one or more remote(s) to fetch from.
Defaults to <code>false</code>.</p>
</dd>
<dt class="hdlist1"><code>fetch.output</code></dt>
<dd>
<p>Control how ref update status is printed. Valid values are
<code>full</code> and <code>compact</code>. Default value is <code>full</code>. See the
OUTPUT section in <a href="git-fetch.html">git-fetch(1)</a> for details.</p>
</dd>
<dt class="hdlist1"><code>fetch.negotiationAlgorithm</code></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 <code>consecutive</code> to use an algorithm that walks
over consecutive commits checking each one.  Set to <code>skipping</code> 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 <code>noop</code> 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 <code>default</code> to override settings made
previously and use the default behaviour.  The default is normally
<code>consecutive</code>, but if <code>feature.experimental</code> is <code>true</code>, then the
default is <code>skipping</code>.  Unknown values will cause <code>git</code> <code>fetch</code> 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"><code>fetch.showForcedUpdates</code></dt>
<dd>
<p>Set to <code>false</code> 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 <code>true</code>.</p>
</dd>
<dt class="hdlist1"><code>fetch.parallel</code></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"><code>fetch.writeCommitGraph</code></dt>
<dd>
<p>Set to true to write a commit-graph after every <code>git</code> <code>fetch</code> command
that downloads a pack-file from a remote. Using the <code>--split</code> option,
most executions will create a very small commit-graph file on top of
the existing commit-graph file(s). Occasionally, these files will
merge and the write may take longer. Having an updated commit-graph
file helps performance of many Git commands, including <code>git</code> <code>merge-base</code>,
<code>git</code> <code>push</code> <code>-f</code>, and <code>git</code> <code>log</code> <code>--graph</code>. Defaults to <code>false</code>.</p>
</dd>
<dt class="hdlist1"><code>fetch.bundleURI</code></dt>
<dd>
<p>This value stores a URI for downloading Git object data from a bundle
URI before performing an incremental fetch from the origin Git server.
This is similar to how the <code>--bundle-uri</code> option behaves in
<a href="git-clone.html">git-clone(1)</a>. <code>git</code> <code>clone</code> <code>--bundle-uri</code> will set the
<code>fetch.bundleURI</code> value if the supplied bundle URI contains a bundle
list that is organized for incremental fetches.</p>
<div class="paragraph">
<p>If you modify this value and your repository has a <code>fetch.bundleCreationToken</code>
value, then remove that <code>fetch.bundleCreationToken</code> value before fetching from
the new bundle URI.</p>
</div>
</dd>
<dt class="hdlist1"><code>fetch.bundleCreationToken</code></dt>
<dd>
<p>When using <code>fetch.bundleURI</code> to fetch incrementally from a bundle
list that uses the "<code>creationToken</code>" heuristic, this config value
stores the maximum <code>creationToken</code> value of the downloaded bundles.
This value is used to prevent downloading bundles in the future
if the advertised <code>creationToken</code> is not strictly larger than this
value.</p>
<div class="paragraph">
<p>The creation token values are chosen by the provider serving the specific
bundle URI. If you modify the URI at <code>fetch.bundleURI</code>, then be sure to
remove the value for the <code>fetch.bundleCreationToken</code> value before fetching.</p>
</div>
</dd>
</dl>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_bugs">BUGS</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Using <code>--recurse-submodules</code> can only fetch new commits in submodules that are
present locally e.g. in <code>$GIT_DIR/modules/</code>. If the upstream adds a new
submodule, that submodule cannot be fetched until it is cloned e.g. by <code>git</code>
<code>submodule</code> <code>update</code>. This is expected to be fixed in a future Git version.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_see_also">SEE ALSO</h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="git-pull.html">git-pull(1)</a></p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_git">GIT</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Part of the <a href="git.html">git(1)</a> suite</p>
</div>
</div>
</div>
</div>
<div id="footer">
<div id="footer-text">
Last updated 2025-11-30 20:20:54 -0800
</div>
</div>
</body>
</html>