<!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.26"/>
<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.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 pre>code{display:block}
.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"><code>git</code> <code>pull</code> [<em>&lt;options&gt;</em>] [<em>&lt;repository&gt;</em> [<em>&lt;refspec&gt;</em>&#8230;&#8203;]]</pre>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_description">DESCRIPTION</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Integrate changes from a remote repository into the current branch.</p>
</div>
<div class="paragraph">
<p>First, <code>git</code> <code>pull</code> runs <code>git</code> <code>fetch</code> with the same arguments
(excluding merge options) to fetch remote branch(es).
Then it decides which remote branch to integrate: if you run <code>git</code> <code>pull</code>
with no arguments this defaults to the <a href="#UPSTREAM-BRANCHES">upstream</a>
for the current branch.
Then it integrates that branch into the current branch.</p>
</div>
<div class="paragraph">
<p>There are 4 main options for integrating the remote branch:</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p><code>git</code> <code>pull</code> <code>--ff-only</code> will only do "fast-forward" updates: it
fails if your local branch has diverged from the remote branch.
This is the default.</p>
</li>
<li>
<p><code>git</code> <code>pull</code> <code>--rebase</code> runs <code>git</code> <code>rebase</code></p>
</li>
<li>
<p><code>git</code> <code>pull</code> <code>--no-rebase</code> runs <code>git</code> <code>merge</code>.</p>
</li>
<li>
<p><code>git</code> <code>pull</code> <code>--squash</code> runs <code>git</code> <code>merge</code> <code>--squash</code></p>
</li>
</ol>
</div>
<div class="paragraph">
<p>You can also set the configuration options <code>pull.rebase</code>, <code>pull.squash</code>,
or <code>pull.ff</code> with your preferred behaviour.</p>
</div>
<div class="paragraph">
<p>If there&#8217;s a merge conflict during the merge or rebase that you don&#8217;t
want to handle, you can safely abort it with <code>git</code> <code>merge</code> <code>--abort</code> or
<code>git</code> <code>rebase</code> <code>--abort</code>.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_options">OPTIONS</h2>
<div class="sectionbody">
<div class="dlist">
<dl>
<dt class="hdlist1"><em>&lt;repository&gt;</em></dt>
<dd>
<p>The "remote" repository to pull from.  This 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>
<div class="paragraph">
<p>Defaults to the configured upstream for the current branch, or <code>origin</code>.
See <a href="#UPSTREAM-BRANCHES">UPSTREAM BRANCHES</a> below for more on how to
configure upstreams.</p>
</div>
</dd>
<dt class="hdlist1"><em>&lt;refspec&gt;</em></dt>
<dd>
<p>Which branch or other reference(s) to fetch and integrate into the
current branch, for example <code>main</code> in <code>git</code> <code>pull</code> <code>origin</code> <code>main</code>.
Defaults to the configured upstream for the current branch.</p>
<div class="paragraph">
<p>This can be a branch, tag, or other collection of reference(s).
See <a href="#fetch-refspec"><em>&lt;refspec&gt;</em></a> below under "Options related to fetching"
for the full syntax, and <a href="#DEFAULT-BEHAVIOUR">DEFAULT BEHAVIOUR</a> below
for how <code>git</code> <code>pull</code> uses this argument to determine which remote branch
to integrate.</p>
</div>
</dd>
<dt class="hdlist1"><code>-q</code></dt>
<dt class="hdlist1"><code>--quiet</code></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"><code>-v</code></dt>
<dt class="hdlist1"><code>--verbose</code></dt>
<dd>
<p>Pass <code>--verbose</code> to git-fetch and git-merge.</p>
</dd>
<dt class="hdlist1"><code>--recurse-submodules</code>[<code>=</code>(<code>yes</code>|<code>on-demand</code>|<code>no</code>)]</dt>
<dt class="hdlist1"><code>--no-recurse-submodules</code></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 <code>--rebase</code> 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>
<div class="paragraph">
<p>Git does not (and will not) have a configuration variable to enable
the <code>--signoff</code> command line option by default; see the
<code>commit.signoff</code> entry in <a href="gitfaq.html">gitfaq(7)</a> for more details.</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"><code>-r</code></dt>
<dt class="hdlist1"><code>--rebase</code>[<code>=</code>(<code>true</code>|<code>merges</code>|<code>false</code>|<code>interactive</code>)]</dt>
<dd>
<div class="dlist">
<dl>
<dt class="hdlist1"><code>true</code></dt>
<dd>
<p>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. This is the default.</p>
</dd>
<dt class="hdlist1"><code>merges</code></dt>
<dd>
<p>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>
</dd>
<dt class="hdlist1"><code>false</code></dt>
<dd>
<p>merge the upstream branch into the current branch.</p>
</dd>
<dt class="hdlist1"><code>interactive</code></dt>
<dd>
<p>enable the interactive mode of rebase.</p>
</dd>
</dl>
</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="paragraph">
<p>+</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"><code>--no-rebase</code></dt>
<dd>
<p>This is shorthand for <code>--rebase=false</code>.</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"><code>--all</code></dt>
<dt class="hdlist1"><code>--no-all</code></dt>
<dd>
<p>Fetch all remotes, except for the ones that have 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-restrict=</code>(<em>&lt;commit&gt;</em>|<em>&lt;glob&gt;</em>)</dt>
<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><code>--negotiation-restrict</code> is the preferred name for this option;
<code>--negotiation-tip</code> is accepted as a synonym.</p>
</div>
<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>--negotiation-include=</code>(<em>&lt;commit&gt;</em>|<em>&lt;glob&gt;</em>)</dt>
<dd>
<p>Ensure that the commits at the given tips are always sent as "have"
lines during fetch negotiation, regardless of what the negotiation
algorithm selects.  This is useful to guarantee that common
history reachable from specific refs is always considered, even
when <code>--negotiation-restrict</code> restricts the set of tips or when
the negotiation algorithm would otherwise skip them.</p>
<div class="paragraph">
<p>This option may be specified more than once; if so, each commit is sent
unconditionally.</p>
</div>
<div class="paragraph">
<p>The argument may be an exact ref name (e.g. <code>refs/heads/release</code>), an
object hash, or a glob pattern (e.g. <code>refs/heads/release/</code>{asterisk}).
The pattern syntax is the same as for <code>--negotiation-restrict</code>.</p>
</div>
<div class="paragraph">
<p>If <code>--negotiation-restrict</code> is used, the have set is first restricted by
that option and then increased to include the tips specified by
<code>--negotiation-include</code>.</p>
</div>
<div class="paragraph">
<p>If this option is not specified on the command line, then any
<code>remote.</code><em>&lt;name&gt;</em><code>.negotiationInclude</code> config values for the current remote
are used instead.</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-restrict=</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>--filter=</code><em>&lt;filter-spec&gt;</em></dt>
<dd>
<p>Use the partial clone feature and request that the server sends
a subset of reachable objects according to a given object filter.
When using <code>--filter</code>, the supplied <em>&lt;filter-spec&gt;</em> is used for
the partial fetch.</p>
<div class="paragraph">
<p>If <code>--filter=auto</code> is used, the filter specification is determined
automatically by combining the filter specifications advertised by
the server for the promisor remotes that the client accepts (see
<a href="gitprotocol-v2.html">gitprotocol-v2(5)</a> and the <code>promisor.acceptFromServer</code>
configuration option in <a href="git-config.html">git-config(1)</a>).</p>
</div>
<div class="paragraph">
<p>For details on all other available filter specifications, see the
<code>--filter=</code><em>&lt;filter-spec&gt;</em> option in <a href="git-rev-list.html">git-rev-list(1)</a>.</p>
</div>
<div class="paragraph">
<p>For example, <code>--filter=blob:none</code> will filter out all blobs (file
contents) until needed by Git. Also, <code>--filter=blob:limit=</code><em>&lt;size&gt;</em> will
filter out all blobs of size at least <em>&lt;size&gt;</em>.</p>
</div>
</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 of the <a href="git-fetch.html">git-fetch(1)</a>
documentation.
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>--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>
</dd>
<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>--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>-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>A value of 0 will use some reasonable default.</p>
</div>
<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>--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>--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>--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>
</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 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 <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>
<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 <em>&lt;refspec&gt;</em>
directly on <code>git</code> <code>pull</code> command line and having multiple
<code>remote.</code><em>&lt;repository&gt;</em><code>.fetch</code> entries in your configuration
for a <em>&lt;repository&gt;</em> and running a
<code>git</code> <code>pull</code> command without any explicit <em>&lt;refspec&gt;</em> parameters.
<em>&lt;refspec&gt;</em>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, <code>git</code> <code>pull</code> will create
an Octopus merge.  On the other hand, if you do not list any
explicit <em>&lt;refspec&gt;</em> parameter on the command line, <code>git</code> <code>pull</code>
will fetch all the <em>&lt;refspec&gt;</em>s it finds in the
<code>remote.</code><em>&lt;repository&gt;</em><code>.fetch</code> configuration and merge
only the first <em>&lt;refspec&gt;</em> 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 <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="_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 <code>HEAD</code> of the remote repository,
but the choice is determined by the <code>branch.</code><em>&lt;name&gt;</em><code>.remote</code> and
<code>branch.</code><em>&lt;name&gt;</em><code>.merge</code> 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 <code>FETCH_HEAD</code>, 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 <code>git</code> <code>reset</code>.</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 <code>--recurse-submodules</code> 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-12-14 03:08:20 -0800
</div>
</div>
</body>
</html>