<!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-pull(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-pull(1) Manual Page</h1>
<h2 id="_name">NAME</h2>
<div class="sectionbody">
<p>git-pull - Fetch from and integrate with another repository or a local branch</p>
</div>
</div>
<div id="content">
<div class="sect1">
<h2 id="_synopsis">SYNOPSIS</h2>
<div class="sectionbody">
<div class="verseblock">
<pre class="content"><em>git pull</em> [&lt;options&gt;] [&lt;repository&gt; [&lt;refspec&gt;&#8230;&#8203;]]</pre>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_description">DESCRIPTION</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Incorporates changes from a remote repository into the current branch.
If the current branch is behind the remote, then by default it will
fast-forward the current branch to match the remote.  If the current
branch and the remote have diverged, the user needs to specify how to
reconcile the divergent branches with <code>--rebase</code> or <code>--no-rebase</code> (or
the corresponding configuration option in <code>pull.rebase</code>).</p>
</div>
<div class="paragraph">
<p>More precisely, <code>git</code> <code>pull</code> runs <code>git</code> <code>fetch</code> with the given parameters
and then depending on configuration options or command line flags,
will call either <code>git</code> <code>rebase</code> or <code>git</code> <code>merge</code> to reconcile diverging
branches.</p>
</div>
<div class="paragraph">
<p>&lt;repository&gt; should be the name of a remote repository as
passed to <a href="git-fetch.html">git-fetch(1)</a>.  &lt;refspec&gt; can name an
arbitrary remote ref (for example, the name of a tag) or even
a collection of refs with corresponding remote-tracking branches
(e.g., refs/heads/*:refs/remotes/origin/*),
but usually it is the name of a branch in the remote repository.</p>
</div>
<div class="paragraph">
<p>Default values for &lt;repository&gt; and &lt;branch&gt; are read from the
"remote" and "merge" configuration for the current branch
as set by <a href="git-branch.html">git-branch(1)</a> <code>--track</code>.</p>
</div>
<div class="paragraph">
<p>Assume the following history exists and the current branch is
"<code>master</code>":</p>
</div>
<div class="listingblock">
<div class="content">
<pre>          A---B---C master on origin
         /
    D---E---F---G master
        ^
        origin/master in your repository</pre>
</div>
</div>
<div class="paragraph">
<p>Then "<code>git</code> <code>pull</code>" will fetch and replay the changes from the remote
<code>master</code> branch since it diverged from the local <code>master</code> (i.e., <code>E</code>)
until its current commit (<code>C</code>) on top of <code>master</code> and record the
result in a new commit along with the names of the two parent commits
and a log message from the user describing the changes.</p>
</div>
<div class="listingblock">
<div class="content">
<pre>          A---B---C origin/master
         /         \
    D---E---F---G---H master</pre>
</div>
</div>
<div class="paragraph">
<p>See <a href="git-merge.html">git-merge(1)</a> for details, including how conflicts
are presented and handled.</p>
</div>
<div class="paragraph">
<p>In Git 1.7.0 or later, to cancel a conflicting merge, use
<code>git</code> <code>reset</code> <code>--merge</code>.  <strong>Warning</strong>: In older versions of Git, running <em>git pull</em>
with uncommitted changes is discouraged: while possible, it leaves you
in a state that may be hard to back out of in the case of a conflict.</p>
</div>
<div class="paragraph">
<p>If any of the remote changes overlap with local uncommitted changes,
the merge will be automatically canceled and the work tree untouched.
It is generally best to get any local changes in working order before
pulling or stash them away with <a href="git-stash.html">git-stash(1)</a>.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_options">OPTIONS</h2>
<div class="sectionbody">
<div class="dlist">
<dl>
<dt class="hdlist1">-q</dt>
<dt class="hdlist1">--quiet</dt>
<dd>
<p>This is passed to both underlying git-fetch to squelch reporting of
during transfer, and underlying git-merge to squelch output during
merging.</p>
</dd>
<dt class="hdlist1">-v</dt>
<dt class="hdlist1">--verbose</dt>
<dd>
<p>Pass --verbose to git-fetch and git-merge.</p>
</dd>
<dt class="hdlist1">--recurse-submodules[=(yes|on-demand|no)]</dt>
<dt class="hdlist1">--no-recurse-submodules</dt>
<dd>
<p>This option controls if new commits of populated submodules should
be fetched, and if the working trees of active submodules should be
updated, too (see <a href="git-fetch.html">git-fetch(1)</a>, <a href="git-config.html">git-config(1)</a> and
<a href="gitmodules.html">gitmodules(5)</a>).</p>
<div class="paragraph">
<p>If the checkout is done via rebase, local submodule commits are rebased as well.</p>
</div>
<div class="paragraph">
<p>If the update is done via merge, the submodule conflicts are resolved and checked out.</p>
</div>
</dd>
</dl>
</div>
<div class="sect2">
<h3 id="_options_related_to_merging">Options related to merging</h3>
<div class="dlist">
<dl>
<dt class="hdlist1"><code>--commit</code></dt>
<dt class="hdlist1"><code>--no-commit</code></dt>
<dd>
<p>Perform the merge and commit the result. This option can
be used to override <code>--no-commit</code>.
Only useful when merging.</p>
<div class="paragraph">
<p>With <code>--no-commit</code> perform the merge and stop just before creating
a merge commit, to give the user a chance to inspect and further
tweak the merge result before committing.</p>
</div>
<div class="paragraph">
<p>Note that fast-forward updates do not create a merge commit and
therefore there is no way to stop those merges with <code>--no-commit</code>.
Thus, if you want to ensure your branch is not changed or updated
by the merge command, use <code>--no-ff</code> with <code>--no-commit</code>.</p>
</div>
</dd>
<dt class="hdlist1"><code>--edit</code></dt>
<dt class="hdlist1"><code>-e</code></dt>
<dt class="hdlist1"><code>--no-edit</code></dt>
<dd>
<p>Invoke an editor before committing successful mechanical merge to
further edit the auto-generated merge message, so that the user
can explain and justify the merge. The <code>--no-edit</code> option can be
used to accept the auto-generated message (this is generally
discouraged).</p>
<div class="paragraph">
<p>Older scripts may depend on the historical behaviour of not allowing the
user to edit the merge log message. They will see an editor opened when
they run <code>git</code> <code>merge</code>. To make it easier to adjust such scripts to the
updated behaviour, the environment variable <code>GIT_MERGE_AUTOEDIT</code> can be
set to <code>no</code> at the beginning of them.</p>
</div>
</dd>
<dt class="hdlist1"><code>--cleanup=</code><em>&lt;mode&gt;</em></dt>
<dd>
<p>This option determines how the merge message will be cleaned up before
committing. See <a href="git-commit.html">git-commit(1)</a> for more details. In addition, if
the <em>&lt;mode&gt;</em> is given a value of <code>scissors</code>, scissors will be appended
to <code>MERGE_MSG</code> before being passed on to the commit machinery in the
case of a merge conflict.</p>
</dd>
<dt class="hdlist1"><code>--ff-only</code></dt>
<dd>
<p>Only update to the new history if there is no divergent local
history.  This is the default when no method for reconciling
divergent histories is provided (via the --rebase=* flags).</p>
</dd>
<dt class="hdlist1"><code>--ff</code></dt>
<dt class="hdlist1"><code>--no-ff</code></dt>
<dd>
<p>When merging rather than rebasing, specifies how a merge is
handled when the merged-in history is already a descendant of
the current history.  If merging is requested, <code>--ff</code> is the
default unless merging an annotated (and possibly signed) tag
that is not stored in its natural place in the <code>refs/tags/</code>
hierarchy, in which case <code>--no-ff</code> is assumed.</p>
<div class="paragraph">
<p>With <code>--ff</code>, when possible resolve the merge as a fast-forward (only
update the branch pointer to match the merged branch; do not create a
merge commit).  When not possible (when the merged-in history is not a
descendant of the current history), create a merge commit.</p>
</div>
<div class="paragraph">
<p>With <code>--no-ff</code>, create a merge commit in all cases, even when the merge
could instead be resolved as a fast-forward.</p>
</div>
</dd>
<dt class="hdlist1"><code>-S</code>[<em>&lt;key-id&gt;</em>]</dt>
<dt class="hdlist1"><code>--gpg-sign</code>[<code>=</code><em>&lt;key-id&gt;</em>]</dt>
<dt class="hdlist1"><code>--no-gpg-sign</code></dt>
<dd>
<p>GPG-sign the resulting merge commit. The <em>&lt;key-id&gt;</em> argument is
optional and defaults to the committer identity; if specified,
it must be stuck to the option without a space. <code>--no-gpg-sign</code>
is useful to countermand both <code>commit.gpgSign</code> configuration variable,
and earlier <code>--gpg-sign</code>.</p>
</dd>
<dt class="hdlist1"><code>--log</code>[<code>=</code><em>&lt;n&gt;</em>]</dt>
<dt class="hdlist1"><code>--no-log</code></dt>
<dd>
<p>In addition to branch names, populate the log message with
one-line descriptions from at most <em>&lt;n&gt;</em> actual commits that are being
merged. See also <a href="git-fmt-merge-msg.html">git-fmt-merge-msg(1)</a>.
Only useful when merging.</p>
<div class="paragraph">
<p>With <code>--no-log</code> do not list one-line descriptions from the
actual commits being merged.</p>
</div>
</dd>
<dt class="hdlist1"><code>--signoff</code></dt>
<dt class="hdlist1"><code>--no-signoff</code></dt>
<dd>
<p>Add a <code>Signed-off-by</code> trailer by the committer at the end of the commit
log message.  The meaning of a signoff depends on the project
to which you&#8217;re committing.  For example, it may certify that
the committer has the rights to submit the work under the
project&#8217;s license or agrees to some contributor representation,
such as a Developer Certificate of Origin.
(See <a href="https://developercertificate.org" class="bare">https://developercertificate.org</a> for the one used by the
Linux kernel and Git projects.)  Consult the documentation or
leadership of the project to which you&#8217;re contributing to
understand how the signoffs are used in that project.</p>
<div class="paragraph">
<p>The <code>--no-signoff</code> option can be used to countermand an earlier <code>--signoff</code>
option on the command line.</p>
</div>
</dd>
<dt class="hdlist1"><code>--stat</code></dt>
<dt class="hdlist1"><code>-n</code></dt>
<dt class="hdlist1"><code>--no-stat</code></dt>
<dd>
<p>Show a diffstat at the end of the merge. The diffstat is also
controlled by the configuration option merge.stat.</p>
<div class="paragraph">
<p>With <code>-n</code> or <code>--no-stat</code> do not show a diffstat at the end of the
merge.</p>
</div>
</dd>
<dt class="hdlist1"><code>--compact-summary</code></dt>
<dd>
<p>Show a compact-summary at the end of the merge.</p>
</dd>
<dt class="hdlist1"><code>--squash</code></dt>
<dt class="hdlist1"><code>--no-squash</code></dt>
<dd>
<p>Produce the working tree and index state as if a real merge
happened (except for the merge information), but do not actually
make a commit, move the <code>HEAD</code>, or record <code>$GIT_DIR/MERGE_HEAD</code>
(to cause the next <code>git</code> <code>commit</code> command to create a merge
commit).  This allows you to create a single commit on top of
the current branch whose effect is the same as merging another
branch (or more in case of an octopus).</p>
<div class="paragraph">
<p>With <code>--no-squash</code> perform the merge and commit the result. This
option can be used to override <code>--squash</code>.</p>
</div>
<div class="paragraph">
<p>With <code>--squash</code>, <code>--commit</code> is not allowed, and will fail.</p>
</div>
<div class="paragraph">
<p>Only useful when merging.</p>
</div>
</dd>
<dt class="hdlist1"><code>--verify</code></dt>
<dt class="hdlist1"><code>--no-verify</code></dt>
<dd>
<p>By default, the pre-merge and commit-msg hooks are run.
When <code>--no-verify</code> is given, these are bypassed.
See also <a href="githooks.html">githooks(5)</a>.
Only useful when merging.</p>
</dd>
<dt class="hdlist1"><code>-s</code> <em>&lt;strategy&gt;</em></dt>
<dt class="hdlist1"><code>--strategy=</code><em>&lt;strategy&gt;</em></dt>
<dd>
<p>Use the given merge strategy; can be supplied more than
once to specify them in the order they should be tried.
If there is no <code>-s</code> option, a built-in list of strategies
is used instead (<code>ort</code> when merging a single head,
<code>octopus</code> otherwise).</p>
</dd>
<dt class="hdlist1"><code>-X</code> <em>&lt;option&gt;</em></dt>
<dt class="hdlist1"><code>--strategy-option=</code><em>&lt;option&gt;</em></dt>
<dd>
<p>Pass merge strategy specific option through to the merge
strategy.</p>
</dd>
<dt class="hdlist1"><code>--verify-signatures</code></dt>
<dt class="hdlist1"><code>--no-verify-signatures</code></dt>
<dd>
<p>Verify that the tip commit of the side branch being merged is
signed with a valid key, i.e. a key that has a valid uid: in the
default trust model, this means the signing key has been signed by
a trusted key.  If the tip commit of the side branch is not signed
with a valid key, the merge is aborted.</p>
<div class="paragraph">
<p>Only useful when merging.</p>
</div>
</dd>
<dt class="hdlist1"><code>--summary</code></dt>
<dt class="hdlist1"><code>--no-summary</code></dt>
<dd>
<p>Synonyms to <code>--stat</code> and <code>--no-stat</code>; these are deprecated and will be
removed in the future.</p>
</dd>
<dt class="hdlist1"><code>--autostash</code></dt>
<dt class="hdlist1"><code>--no-autostash</code></dt>
<dd>
<p>Automatically create a temporary stash entry before the operation
begins, record it in the ref <code>MERGE_AUTOSTASH</code>
and apply it after the operation ends.  This means
that you can run the operation on a dirty worktree.  However, use
with care: the final stash application after a successful
merge might result in non-trivial conflicts.</p>
</dd>
<dt class="hdlist1"><code>--allow-unrelated-histories</code></dt>
<dd>
<p>By default, <code>git</code> <code>merge</code> command refuses to merge histories
that do not share a common ancestor.  This option can be
used to override this safety when merging histories of two
projects that started their lives independently. As that is
a very rare occasion, no configuration variable to enable
this by default exists or will be added.</p>
<div class="paragraph">
<p>Only useful when merging.</p>
</div>
</dd>
<dt class="hdlist1">-r</dt>
<dt class="hdlist1">--rebase[=(false|true|merges|interactive)]</dt>
<dd>
<p>When true, rebase the current branch on top of the upstream
branch after fetching. If there is a remote-tracking branch
corresponding to the upstream branch and the upstream branch
was rebased since last fetched, the rebase uses that information
to avoid rebasing non-local changes.</p>
<div class="paragraph">
<p>When set to <code>merges</code>, rebase using <code>git</code> <code>rebase</code> <code>--rebase-merges</code> so that
the local merge commits are included in the rebase (see
<a href="git-rebase.html">git-rebase(1)</a> for details).</p>
</div>
<div class="paragraph">
<p>When false, merge the upstream branch into the current branch.</p>
</div>
<div class="paragraph">
<p>When <code>interactive</code>, enable the interactive mode of rebase.</p>
</div>
<div class="paragraph">
<p>See <code>pull.rebase</code>, <code>branch.</code><em>&lt;name&gt;</em><code>.rebase</code> and <code>branch.autoSetupRebase</code> in
<a href="git-config.html">git-config(1)</a> if you want to make <code>git</code> <code>pull</code> always use
<code>--rebase</code> instead of merging.</p>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<div class="title">Note</div>
</td>
<td class="content">
This is a potentially <em>dangerous</em> mode of operation.
It rewrites history, which does not bode well when you
published that history already.  Do <strong>not</strong> use this option
unless you have read <a href="git-rebase.html">git-rebase(1)</a> carefully.
</td>
</tr>
</table>
</div>
</dd>
<dt class="hdlist1">--no-rebase</dt>
<dd>
<p>This is shorthand for --rebase=false.</p>
</dd>
</dl>
</div>
</div>
<div class="sect2">
<h3 id="_options_related_to_fetching">Options related to fetching</h3>
<div class="dlist">
<dl>
<dt class="hdlist1">--all</dt>
<dt class="hdlist1">--no-all</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">-a</dt>
<dt class="hdlist1">--append</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">--atomic</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">--depth=&lt;depth&gt;</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">--deepen=&lt;depth&gt;</dt>
<dd>
<p>Similar to --depth, 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">--shallow-since=&lt;date&gt;</dt>
<dd>
<p>Deepen or shorten the history of a shallow repository to
include all reachable commits after &lt;date&gt;.</p>
</dd>
<dt class="hdlist1">--shallow-exclude=&lt;ref&gt;</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">--unshallow</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">--update-shallow</dt>
<dd>
<p>By default when fetching from a shallow repository,
<code>git</code> <code>fetch</code> refuses refs that require updating
.git/shallow. This option updates .git/shallow and accepts such
refs.</p>
</dd>
<dt class="hdlist1">--negotiation-tip=&lt;commit|glob&gt;</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">--negotiate-only</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">--dry-run</dt>
<dd>
<p>Show what would be done, without making any changes.</p>
</dd>
<dt class="hdlist1">--porcelain</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">-f</dt>
<dt class="hdlist1">--force</dt>
<dd>
<p>When <em>git fetch</em> 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 of the <a href="git-fetch.html">git-fetch(1)</a>
documentation.
This option overrides that check.</p>
</dd>
<dt class="hdlist1">-k</dt>
<dt class="hdlist1">--keep</dt>
<dd>
<p>Keep downloaded pack.</p>
</dd>
<dt class="hdlist1">--prefetch</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">-p</dt>
<dt class="hdlist1">--prune</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 --tags 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 --mirror option), then they are also
subject to pruning. Supplying <code>--prune-tags</code> is a shorthand for
providing the tag refspec.</p>
</dd>
<dt class="hdlist1">--no-tags</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 remote.&lt;name&gt;.tagOpt
setting. See <a href="git-config.html">git-config(1)</a>.</p>
</dd>
<dt class="hdlist1">--refmap=&lt;refspec&gt;</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.*.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">-t</dt>
<dt class="hdlist1">--tags</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 --prune
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">-j</dt>
<dt class="hdlist1">--jobs=&lt;n&gt;</dt>
<dd>
<p>Number of parallel children to be used for all forms of fetching.</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">--set-upstream</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">--upload-pack &lt;upload-pack&gt;</dt>
<dd>
<p>When given, and the repository to fetch from is handled
by <em>git fetch-pack</em>, <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">--progress</dt>
<dd>
<p>Progress status is reported on the standard error stream
by default when it is attached to a terminal, unless -q
is specified. This flag forces progress status even if the
standard error stream is not directed to a terminal.</p>
</dd>
<dt class="hdlist1">-o &lt;option&gt;</dt>
<dt class="hdlist1">--server-option=&lt;option&gt;</dt>
<dd>
<p>Transmit the given string to the server when communicating using
protocol version 2.  The given string must not contain a NUL or LF
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">--show-forced-updates</dt>
<dd>
<p>By default, git checks if a branch is force-updated during
fetch. This can be disabled through fetch.showForcedUpdates, but
the --show-forced-updates option guarantees this check occurs.
See <a href="git-config.html">git-config(1)</a>.</p>
</dd>
<dt class="hdlist1">--no-show-forced-updates</dt>
<dd>
<p>By default, git checks if a branch is force-updated during
fetch. Pass --no-show-forced-updates or set fetch.showForcedUpdates
to false to skip this check for performance reasons. If used during
<em>git-pull</em> the --ff-only 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">-4</dt>
<dt class="hdlist1">--ipv4</dt>
<dd>
<p>Use IPv4 addresses only, ignoring IPv6 addresses.</p>
</dd>
<dt class="hdlist1">-6</dt>
<dt class="hdlist1">--ipv6</dt>
<dd>
<p>Use IPv6 addresses only, ignoring IPv4 addresses.</p>
</dd>
<dt class="hdlist1">&lt;repository&gt;</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">&lt;refspec&gt;</dt>
<dd>
<p>Specifies which refs to fetch and which local refs to update.
When no &lt;refspec&gt;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 the section "CONFIGURED REMOTE-TRACKING BRANCHES"
in <a href="git-fetch.html">git-fetch(1)</a>).</p>
<div class="paragraph">
<p>The format of a &lt;refspec&gt; parameter is an optional plus
<code>+</code>, followed by the source &lt;src&gt;, followed
by a colon <code>:</code>, followed by the destination &lt;dst&gt;.
The colon can be omitted when &lt;dst&gt; is empty.  &lt;src&gt; 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 &lt;refspec&gt; may contain a <code>*</code> in its &lt;src&gt; to indicate a simple pattern
match. Such a refspec functions like a glob that matches any ref with the
pattern. A pattern &lt;refspec&gt; must have one and only one <code>*</code> in both the &lt;src&gt; and
&lt;dst&gt;. 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 &lt;src&gt; and do not specify a &lt;dst&gt;. 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 &lt;src&gt;
is fetched, and if &lt;dst&gt; 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 <em>git fetch</em> 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>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<div class="title">Note</div>
</td>
<td class="content">
There is a difference between listing multiple &lt;refspec&gt;
directly on <em>git pull</em> command line and having multiple
<code>remote.</code><em>&lt;repository&gt;</em><code>.fetch</code> entries in your configuration
for a &lt;repository&gt; and running a
<em>git pull</em> command without any explicit &lt;refspec&gt; parameters.
&lt;refspec&gt;s listed explicitly on the command line are always
merged into the current branch after fetching.  In other words,
if you list more than one remote ref, <em>git pull</em> will create
an Octopus merge.  On the other hand, if you do not list any
explicit &lt;refspec&gt; parameter on the command line, <em>git pull</em>
will fetch all the &lt;refspec&gt;s it finds in the
<code>remote.</code><em>&lt;repository&gt;</em><code>.fetch</code> configuration and merge
only the first &lt;refspec&gt; found into the current branch.
This is because making an
Octopus from remote refs is rarely done, while keeping track
of multiple remote heads in one-go by fetching more than one
is often useful.
</td>
</tr>
</table>
</div>
</dd>
</dl>
</div>
</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 <em>git push</em> and
<code>Pull:</code> lines are used by <em>git pull</em> and <em>git fetch</em>.
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 "remote" and "merge"
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="_merge_strategies">MERGE STRATEGIES</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The merge mechanism (<code>git</code> <code>merge</code> and <code>git</code> <code>pull</code> commands) allows the
backend <em>merge strategies</em> to be chosen with <code>-s</code> option.  Some strategies
can also take their own options, which can be passed by giving <code>-X</code><em>&lt;option&gt;</em>
arguments to <code>git</code> <code>merge</code> and/or <code>git</code> <code>pull</code>.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><code>ort</code></dt>
<dd>
<p>This is the default merge strategy when pulling or merging one
branch.  This strategy can only resolve two heads using a
3-way merge algorithm.  When there is more than one common
ancestor that can be used for 3-way merge, it creates a merged
tree of the common ancestors and uses that as the reference
tree for the 3-way merge.  This has been reported to result in
fewer merge conflicts without causing mismerges by tests done
on actual merge commits taken from Linux 2.6 kernel
development history.  Additionally this strategy can detect
and handle merges involving renames.  It does not make use of
detected copies.  The name for this algorithm is an acronym
("Ostensibly Recursive&#8217;s Twin") and came from the fact that it
was written as a replacement for the previous default
algorithm, <code>recursive</code>.</p>
<div class="paragraph">
<p>In the case where the path is a submodule, if the submodule commit used on
one side of the merge is a descendant of the submodule commit used on the
other side of the merge, Git attempts to fast-forward to the
descendant. Otherwise, Git will treat this case as a conflict, suggesting
as a resolution a submodule commit that is descendant of the conflicting
ones, if one exists.</p>
</div>
<div class="paragraph">
<p>The <code>ort</code> strategy can take the following options:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><code>ours</code></dt>
<dd>
<p>This option forces conflicting hunks to be auto-resolved cleanly by
favoring <em>our</em> version.  Changes from the other tree that do not
conflict with our side are reflected in the merge result.
For a binary file, the entire contents are taken from our side.</p>
<div class="paragraph">
<p>This should not be confused with the <code>ours</code> merge strategy, which does not
even look at what the other tree contains at all.  It discards everything
the other tree did, declaring <em>our</em> history contains all that happened in it.</p>
</div>
</dd>
<dt class="hdlist1"><code>theirs</code></dt>
<dd>
<p>This is the opposite of <code>ours</code>; note that, unlike <code>ours</code>, there is
no <code>theirs</code> merge strategy to confuse this merge option with.</p>
</dd>
<dt class="hdlist1"><code>ignore-space-change</code></dt>
<dt class="hdlist1"><code>ignore-all-space</code></dt>
<dt class="hdlist1"><code>ignore-space-at-eol</code></dt>
<dt class="hdlist1"><code>ignore-cr-at-eol</code></dt>
<dd>
<p>Treats lines with the indicated type of whitespace change as
unchanged for the sake of a three-way merge.  Whitespace
changes mixed with other changes to a line are not ignored.
See also <a href="git-diff.html">git-diff(1)</a> <code>-b</code>, <code>-w</code>,
<code>--ignore-space-at-eol</code>, and <code>--ignore-cr-at-eol</code>.</p>
<div class="ulist">
<ul>
<li>
<p>If <em>their</em> version only introduces whitespace changes to a line,
<em>our</em> version is used;</p>
</li>
<li>
<p>If <em>our</em> version introduces whitespace changes but <em>their</em>
version includes a substantial change, <em>their</em> version is used;</p>
</li>
<li>
<p>Otherwise, the merge proceeds in the usual way.</p>
</li>
</ul>
</div>
</dd>
<dt class="hdlist1"><code>renormalize</code></dt>
<dd>
<p>This runs a virtual check-out and check-in of all three stages
of any file which needs a three-way merge.  This option is
meant to be used when merging branches with different clean
filters or end-of-line normalization rules.  See "Merging
branches with differing checkin/checkout attributes" in
<a href="gitattributes.html">gitattributes(5)</a> for details.</p>
</dd>
<dt class="hdlist1"><code>no-renormalize</code></dt>
<dd>
<p>Disables the <code>renormalize</code> option.  This overrides the
<code>merge.renormalize</code> configuration variable.</p>
</dd>
<dt class="hdlist1"><code>find-renames</code>[<code>=</code><em>&lt;n&gt;</em>]</dt>
<dd>
<p>Turn on rename detection, optionally setting the similarity
threshold.  This is the default. This overrides the
<code>merge.renames</code> configuration variable.
See also <a href="git-diff.html">git-diff(1)</a> <code>--find-renames</code>.</p>
</dd>
<dt class="hdlist1"><code>rename-threshold=</code><em>&lt;n&gt;</em></dt>
<dd>
<p>Deprecated synonym for <code>find-renames=</code><em>&lt;n&gt;</em>.</p>
</dd>
<dt class="hdlist1"><code>no-renames</code></dt>
<dd>
<p>Turn off rename detection. This overrides the <code>merge.renames</code>
configuration variable.
See also <a href="git-diff.html">git-diff(1)</a> <code>--no-renames</code>.</p>
</dd>
<dt class="hdlist1"><code>histogram</code></dt>
<dd>
<p>Deprecated synonym for <code>diff-algorithm=histogram</code>.</p>
</dd>
<dt class="hdlist1"><code>patience</code></dt>
<dd>
<p>Deprecated synonym for <code>diff-algorithm=patience</code>.</p>
</dd>
<dt class="hdlist1"><code>diff-algorithm=</code>(<code>histogram</code>|<code>minimal</code>|<code>myers</code>|<code>patience</code>)</dt>
<dd>
<p>Use a different diff algorithm while merging, which can help
avoid mismerges that occur due to unimportant matching lines
(such as braces from distinct functions).  See also
<a href="git-diff.html">git-diff(1)</a> <code>--diff-algorithm</code>.  Note that <code>ort</code>
defaults to <code>diff-algorithm=histogram</code>, while regular diffs
currently default to the <code>diff.algorithm</code> config setting.</p>
</dd>
<dt class="hdlist1"><code>subtree</code>[<code>=</code><em>&lt;path&gt;</em>]</dt>
<dd>
<p>This option is a more advanced form of <em>subtree</em> strategy, where
the strategy makes a guess on how two trees must be shifted to
match with each other when merging.  Instead, the specified path
is prefixed (or stripped from the beginning) to make the shape of
two trees to match.</p>
</dd>
</dl>
</div>
</dd>
<dt class="hdlist1"><code>recursive</code></dt>
<dd>
<p>This is now a synonym for <code>ort</code>.  It was an alternative
implementation until v2.49.0, but was redirected to mean <code>ort</code>
in v2.50.0.  The previous recursive strategy was the default
strategy for resolving two heads from Git v0.99.9k until
v2.33.0.</p>
</dd>
<dt class="hdlist1"><code>resolve</code></dt>
<dd>
<p>This can only resolve two heads (i.e. the current branch
and another branch you pulled from) using a 3-way merge
algorithm.  It tries to carefully detect criss-cross
merge ambiguities.  It does not handle renames.</p>
</dd>
<dt class="hdlist1"><code>octopus</code></dt>
<dd>
<p>This resolves cases with more than two heads, but refuses to do
a complex merge that needs manual resolution.  It is
primarily meant to be used for bundling topic branch
heads together.  This is the default merge strategy when
pulling or merging more than one branch.</p>
</dd>
<dt class="hdlist1"><code>ours</code></dt>
<dd>
<p>This resolves any number of heads, but the resulting tree of the
merge is always that of the current branch head, effectively
ignoring all changes from all other branches.  It is meant to
be used to supersede old development history of side
branches.  Note that this is different from the <code>-Xours</code> option to
the <code>ort</code> merge strategy.</p>
</dd>
<dt class="hdlist1"><code>subtree</code></dt>
<dd>
<p>This is a modified <code>ort</code> strategy. When merging trees A and
B, if B corresponds to a subtree of A, B is first adjusted to
match the tree structure of A, instead of reading the trees at
the same level. This adjustment is also done to the common
ancestor tree.</p>
</dd>
</dl>
</div>
<div class="paragraph">
<p>With the strategies that use 3-way merge (including the default, <code>ort</code>),
if a change is made on both branches, but later reverted on one of the
branches, that change will be present in the merged result; some people find
this behavior confusing.  It occurs because only the heads and the merge base
are considered when performing a merge, not the individual commits.  The merge
algorithm therefore considers the reverted change as no change at all, and
substitutes the changed version instead.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_default_behaviour">DEFAULT BEHAVIOUR</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Often people use <code>git</code> <code>pull</code> without giving any parameter.
Traditionally, this has been equivalent to saying <code>git</code> <code>pull</code>
<code>origin</code>.  However, when configuration <code>branch.</code><em>&lt;name&gt;</em><code>.remote</code> is
present while on branch <em>&lt;name&gt;</em>, that value is used instead of
<code>origin</code>.</p>
</div>
<div class="paragraph">
<p>In order to determine what URL to use to fetch from, the value
of the configuration <code>remote.</code><em>&lt;origin&gt;</em><code>.url</code> is consulted
and if there is not any such variable, the value on the <code>URL:</code> line
in <code>$GIT_DIR/remotes/</code><em>&lt;origin&gt;</em> is used.</p>
</div>
<div class="paragraph">
<p>In order to determine what remote branches to fetch (and
optionally store in the remote-tracking branches) when the command is
run without any refspec parameters on the command line, values
of the configuration variable <code>remote.</code><em>&lt;origin&gt;</em><code>.fetch</code> are
consulted, and if there aren&#8217;t any, <code>$GIT_DIR/remotes/</code><em>&lt;origin&gt;</em>
is consulted and its <code>Pull:</code> lines are used.
In addition to the refspec formats described in the OPTIONS
section, you can have a globbing refspec that looks like this:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>refs/heads/*:refs/remotes/origin/*</pre>
</div>
</div>
<div class="paragraph">
<p>A globbing refspec must have a non-empty RHS (i.e. must store
what were fetched in remote-tracking branches), and its LHS and RHS
must end with <code>/*</code>.  The above specifies that all remote
branches are tracked using remote-tracking branches in
<code>refs/remotes/origin/</code> hierarchy under the same name.</p>
</div>
<div class="paragraph">
<p>The rule to determine which remote branch to merge after
fetching is a bit involved, in order not to break backward
compatibility.</p>
</div>
<div class="paragraph">
<p>If explicit refspecs were given on the command
line of <code>git</code> <code>pull</code>, they are all merged.</p>
</div>
<div class="paragraph">
<p>When no refspec was given on the command line, then <code>git</code> <code>pull</code>
uses the refspec from the configuration or
<code>$GIT_DIR/remotes/</code><em>&lt;origin&gt;</em>.  In such cases, the following
rules apply:</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>If <code>branch.</code><em>&lt;name&gt;</em><code>.merge</code> configuration for the current
branch <em>&lt;name&gt;</em> exists, that is the name of the branch at the
remote site that is merged.</p>
</li>
<li>
<p>If the refspec is a globbing one, nothing is merged.</p>
</li>
<li>
<p>Otherwise the remote branch of the first refspec is merged.</p>
</li>
</ol>
</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 for the repository
you cloned from, then merge one of them into your
current branch:</p>
<div class="listingblock">
<div class="content">
<pre>$ git pull
$ git pull origin</pre>
</div>
</div>
<div class="paragraph">
<p>Normally the branch merged in is the HEAD of the remote repository,
but the choice is determined by the branch.&lt;name&gt;.remote and
branch.&lt;name&gt;.merge options; see <a href="git-config.html">git-config(1)</a> for details.</p>
</div>
</li>
<li>
<p>Merge into the current branch the remote branch <code>next</code>:</p>
<div class="listingblock">
<div class="content">
<pre>$ git pull origin next</pre>
</div>
</div>
<div class="paragraph">
<p>This leaves a copy of <code>next</code> temporarily in FETCH_HEAD, and
updates the remote-tracking branch <code>origin/next</code>.
The same can be done by invoking fetch and merge:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>$ git fetch origin
$ git merge origin/next</pre>
</div>
</div>
</li>
</ul>
</div>
<div class="paragraph">
<p>If you tried a pull which resulted in complex conflicts and
would want to start over, you can recover with <em>git reset</em>.</p>
</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="_bugs">BUGS</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Using --recurse-submodules can only fetch new commits in already checked
out submodules right now. When e.g. upstream added a new submodule in the
just fetched commits of the superproject the submodule itself cannot be
fetched, making it impossible to check out that submodule later without
having to do a fetch again. 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-fetch.html">git-fetch(1)</a>, <a href="git-merge.html">git-merge(1)</a>, <a href="git-config.html">git-config(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-08-25 14:46:08 -0700
</div>
</div>
</body>
</html>