<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta charset="UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta name="generator" content="Asciidoctor 2.0.23"/>
<title>git-push(1)</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700"/>
<style>
/*! Asciidoctor default stylesheet | MIT License | https://asciidoctor.org */
/* Uncomment the following line when using as a custom stylesheet */
/* @import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700"; */
html{font-family:sans-serif;-webkit-text-size-adjust:100%}
a{background:none}
a:focus{outline:thin dotted}
a:active,a:hover{outline:0}
h1{font-size:2em;margin:.67em 0}
b,strong{font-weight:bold}
abbr{font-size:.9em}
abbr[title]{cursor:help;border-bottom:1px dotted #dddddf;text-decoration:none}
dfn{font-style:italic}
hr{height:0}
mark{background:#ff0;color:#000}
code,kbd,pre,samp{font-family:monospace;font-size:1em}
pre{white-space:pre-wrap}
q{quotes:"\201C" "\201D" "\2018" "\2019"}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sup{top:-.5em}
sub{bottom:-.25em}
img{border:0}
svg:not(:root){overflow:hidden}
figure{margin:0}
audio,video{display:inline-block}
audio:not([controls]){display:none;height:0}
fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
legend{border:0;padding:0}
button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
button,input{line-height:normal}
button,select{text-transform:none}
button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}
button[disabled],html input[disabled]{cursor:default}
input[type=checkbox],input[type=radio]{padding:0}
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
textarea{overflow:auto;vertical-align:top}
table{border-collapse:collapse;border-spacing:0}
*,::before,::after{box-sizing:border-box}
html,body{font-size:100%}
body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-wrap:anywhere;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}
a:hover{cursor:pointer}
img,object,embed{max-width:100%;height:auto}
object,embed{height:100%}
img{-ms-interpolation-mode:bicubic}
.left{float:left!important}
.right{float:right!important}
.text-left{text-align:left!important}
.text-right{text-align:right!important}
.text-center{text-align:center!important}
.text-justify{text-align:justify!important}
.hide{display:none}
img,object,svg{display:inline-block;vertical-align:middle}
textarea{height:auto;min-height:50px}
select{width:100%}
.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0}
a{color:#2156a5;text-decoration:underline;line-height:inherit}
a:hover,a:focus{color:#1d4b8f}
a img{border:0}
p{line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
p aside{font-size:.875em;line-height:1.35;font-style:italic}
h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
h1{font-size:2.125em}
h2{font-size:1.6875em}
h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
h4,h5{font-size:1.125em}
h6{font-size:1em}
hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em}
em,i{font-style:italic;line-height:inherit}
strong,b{font-weight:bold;line-height:inherit}
small{font-size:60%;line-height:inherit}
code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
ul,ol,dl{line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
ul,ol{margin-left:1.5em}
ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0}
ul.circle{list-style-type:circle}
ul.disc{list-style-type:disc}
ul.square{list-style-type:square}
ul.circle ul:not([class]),ul.disc ul:not([class]),ul.square ul:not([class]){list-style:inherit}
ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
dl dt{margin-bottom:.3125em;font-weight:bold}
dl dd{margin-bottom:1.25em}
blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
@media screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
h1{font-size:2.75em}
h2{font-size:2.3125em}
h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
h4{font-size:1.4375em}}
table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede;word-wrap:normal}
table thead,table tfoot{background:#f7f8f7}
table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
table tr.even,table tr.alt{background:#f8f8f7}
table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{line-height:1.6}
h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
.center{margin-left:auto;margin-right:auto}
.stretch{width:100%}
.clearfix::before,.clearfix::after,.float-group::before,.float-group::after{content:" ";display:table}
.clearfix::after,.float-group::after{clear:both}
:not(pre).nobreak{word-wrap:normal}
:not(pre).nowrap{white-space:nowrap}
:not(pre).pre-wrap{white-space:pre-wrap}
:not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
pre{color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;line-height:1.45;text-rendering:optimizeSpeed}
pre code,pre pre{color:inherit;font-size:inherit;line-height:inherit}
pre>code{display:block}
pre.nowrap,pre.nowrap pre{white-space:pre;word-wrap:normal}
em em{font-style:normal}
strong strong{font-weight:400}
.keyseq{color:rgba(51,51,51,.8)}
kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
.keyseq kbd:first-child{margin-left:0}
.keyseq kbd:last-child{margin-right:0}
.menuseq,.menuref{color:#000}
.menuseq b:not(.caret),.menuref{font-weight:inherit}
.menuseq{word-spacing:-.02em}
.menuseq b.caret{font-size:1.25em;line-height:.8}
.menuseq i.caret{font-weight:bold;text-align:center;width:.45em}
b.button::before,b.button::after{position:relative;top:-1px;font-weight:400}
b.button::before{content:"[";padding:0 3px 0 2px}
b.button::after{content:"]";padding:0 2px 0 3px}
p a>code:hover{color:rgba(0,0,0,.9)}
#header,#content,#footnotes,#footer{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
#header::before,#header::after,#content::before,#content::after,#footnotes::before,#footnotes::after,#footer::before,#footer::after{content:" ";display:table}
#header::after,#content::after,#footnotes::after,#footer::after{clear:both}
#content{margin-top:1.25em}
#content::before{content:none}
#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}
#header>h1:only-child{border-bottom:1px solid #dddddf;padding-bottom:8px}
#header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap}
#header .details span:first-child{margin-left:-.125em}
#header .details span.email a{color:rgba(0,0,0,.85)}
#header .details br{display:none}
#header .details br+span::before{content:"\00a0\2013\00a0"}
#header .details br+span.author::before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
#header .details br+span#revremark::before{content:"\00a0|\00a0"}
#header #revnumber{text-transform:capitalize}
#header #revnumber::after{content:"\00a0"}
#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
#toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}
#toc>ul{margin-left:.125em}
#toc ul.sectlevel0>li>a{font-style:italic}
#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
#toc li{line-height:1.3334;margin-top:.3334em}
#toc a{text-decoration:none}
#toc a:active{text-decoration:underline}
#toctitle{color:#7a2518;font-size:1.2em}
@media screen and (min-width:768px){#toctitle{font-size:1.375em}
body.toc2{padding-left:15em;padding-right:0}
body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}
#toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
#toc.toc2>ul{font-size:.9em;margin-bottom:0}
#toc.toc2 ul ul{margin-left:0;padding-left:1em}
#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
body.toc2.toc-right{padding-left:0;padding-right:15em}
body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}
@media screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
#toc.toc2{width:20em}
#toc.toc2 #toctitle{font-size:1.375em}
#toc.toc2>ul{font-size:.95em}
#toc.toc2 ul ul{padding-left:1.25em}
body.toc2.toc-right{padding-left:0;padding-right:20em}}
#content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}
#content #toc>:first-child{margin-top:0}
#content #toc>:last-child{margin-bottom:0}
#footer{max-width:none;background:rgba(0,0,0,.8);padding:1.25em}
#footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}
#content{margin-bottom:.625em}
.sect1{padding-bottom:.625em}
@media screen and (min-width:768px){#content{margin-bottom:1.25em}
.sect1{padding-bottom:1.25em}}
.sect1:last-child{padding-bottom:0}
.sect1+.sect1{border-top:1px solid #e7e7e9}
#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
#content h1>a.anchor::before,h2>a.anchor::before,h3>a.anchor::before,#toctitle>a.anchor::before,.sidebarblock>.content>.title>a.anchor::before,h4>a.anchor::before,h5>a.anchor::before,h6>a.anchor::before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
details,.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
details{margin-left:1.25rem}
details>summary{cursor:pointer;display:block;position:relative;line-height:1.6;margin-bottom:.625rem;outline:none;-webkit-tap-highlight-color:transparent}
details>summary::-webkit-details-marker{display:none}
details>summary::before{content:"";border:solid transparent;border-left:solid;border-width:.3em 0 .3em .5em;position:absolute;top:.5em;left:-1.25rem;transform:translateX(15%)}
details[open]>summary::before{border:solid transparent;border-top:solid;border-width:.5em .3em 0;transform:translateY(15%)}
details>summary::after{content:"";width:1.25rem;height:1em;position:absolute;top:.3em;left:-1.25rem}
.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}
.paragraph.lead>p,#preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}
.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
.admonitionblock>table td.icon{text-align:center;width:80px}
.admonitionblock>table td.icon img{max-width:none}
.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6);word-wrap:anywhere}
.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
.exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}
.sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}
.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
.exampleblock>.content>:first-child,.sidebarblock>.content>:first-child{margin-top:0}
.exampleblock>.content>:last-child,.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
.literalblock pre,.listingblock>.content>pre{border-radius:4px;overflow-x:auto;padding:1em;font-size:.8125em}
@media screen and (min-width:768px){.literalblock pre,.listingblock>.content>pre{font-size:.90625em}}
@media screen and (min-width:1280px){.literalblock pre,.listingblock>.content>pre{font-size:1em}}
.literalblock pre,.listingblock>.content>pre:not(.highlight),.listingblock>.content>pre[class=highlight],.listingblock>.content>pre[class^="highlight "]{background:#f7f7f8}
.literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}
.listingblock>.content{position:relative}
.listingblock code[data-lang]::before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}
.listingblock:hover code[data-lang]::before{display:block}
.listingblock.terminal pre .command::before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}
.listingblock.terminal pre .command:not([data-prompt])::before{content:"$"}
.listingblock pre.highlightjs{padding:0}
.listingblock pre.highlightjs>code{padding:1em;border-radius:4px}
.listingblock pre.prettyprint{border-width:0}
.prettyprint{background:#f7f7f8}
pre.prettyprint .linenums{line-height:1.45;margin-left:2em}
pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}
pre.prettyprint li code[data-lang]::before{opacity:1}
pre.prettyprint li:not(:first-child) code[data-lang]::before{display:none}
table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}
table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}
table.linenotable td.code{padding-left:.75em}
table.linenotable td.linenos,pre.pygments .linenos{border-right:1px solid;opacity:.35;padding-right:.5em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
pre.pygments span.linenos{display:inline-block;margin-right:.75em}
.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
.quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}
.quoteblock blockquote,.quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
.quoteblock blockquote{margin:0;padding:0;border:0}
.quoteblock blockquote::before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
.quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}
.verseblock{margin:0 1em 1.25em}
.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans-serif;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
.verseblock pre strong{font-weight:400}
.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
.quoteblock .attribution br,.verseblock .attribution br{display:none}
.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
.quoteblock.abstract blockquote::before,.quoteblock.excerpt blockquote::before,.quoteblock .quoteblock blockquote::before{display:none}
.quoteblock.abstract blockquote,.quoteblock.abstract p,.quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{line-height:1.6;word-spacing:0}
.quoteblock.abstract{margin:0 1em 1.25em;display:block}
.quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}
.quoteblock.excerpt>blockquote,.quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}
.quoteblock.excerpt,.quoteblock .quoteblock{margin-left:0}
.quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}
.quoteblock.excerpt .attribution,.quoteblock .quoteblock .attribution{color:inherit;font-size:.85rem;text-align:left;margin-right:0}
p.tableblock:last-child{margin-bottom:0}
td.tableblock>.content{margin-bottom:1.25em;word-wrap:anywhere}
td.tableblock>.content>:last-child{margin-bottom:-1.25em}
table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
table.grid-all>*>tr>*{border-width:1px}
table.grid-cols>*>tr>*{border-width:0 1px}
table.grid-rows>*>tr>*{border-width:1px 0}
table.frame-all{border-width:1px}
table.frame-ends{border-width:1px 0}
table.frame-sides{border-width:0 1px}
table.frame-none>colgroup+*>:first-child>*,table.frame-sides>colgroup+*>:first-child>*{border-top-width:0}
table.frame-none>:last-child>:last-child>*,table.frame-sides>:last-child>:last-child>*{border-bottom-width:0}
table.frame-none>*>tr>:first-child,table.frame-ends>*>tr>:first-child{border-left-width:0}
table.frame-none>*>tr>:last-child,table.frame-ends>*>tr>:last-child{border-right-width:0}
table.stripes-all>*>tr,table.stripes-odd>*>tr:nth-of-type(odd),table.stripes-even>*>tr:nth-of-type(even),table.stripes-hover>*>tr:hover{background:#f8f8f7}
th.halign-left,td.halign-left{text-align:left}
th.halign-right,td.halign-right{text-align:right}
th.halign-center,td.halign-center{text-align:center}
th.valign-top,td.valign-top{vertical-align:top}
th.valign-bottom,td.valign-bottom{vertical-align:bottom}
th.valign-middle,td.valign-middle{vertical-align:middle}
table thead th,table tfoot th{font-weight:bold}
tbody tr th{background:#f7f8f7}
tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
p.tableblock>code:only-child{background:none;padding:0}
p.tableblock{font-size:1em}
ol{margin-left:1.75em}
ul li ol{margin-left:1.5em}
dl dd{margin-left:1.125em}
dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
ul.checklist,ul.none,ol.none,ul.no-bullet,ol.no-bullet,ol.unnumbered,ul.unstyled,ol.unstyled{list-style-type:none}
ul.no-bullet,ol.no-bullet,ol.unnumbered{margin-left:.625em}
ul.unstyled,ol.unstyled{margin-left:0}
li>p:empty:only-child::before{content:"";display:inline-block}
ul.checklist>li>p:first-child{margin-left:-1em}
ul.checklist>li>p:first-child>.fa-square-o:first-child,ul.checklist>li>p:first-child>.fa-check-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}
ul.checklist>li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}
ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}
ul.inline>li{margin-left:1.25em}
.unstyled dl dt{font-weight:400;font-style:normal}
ol.arabic{list-style-type:decimal}
ol.decimal{list-style-type:decimal-leading-zero}
ol.loweralpha{list-style-type:lower-alpha}
ol.upperalpha{list-style-type:upper-alpha}
ol.lowerroman{list-style-type:lower-roman}
ol.upperroman{list-style-type:upper-roman}
ol.lowergreek{list-style-type:lower-greek}
.hdlist>table,.colist>table{border:0;background:none}
.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
td.hdlist1{font-weight:bold;padding-bottom:1.25em}
td.hdlist2{word-wrap:anywhere}
.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
.colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}
.colist td:not([class]):first-child img{max-width:none}
.colist td:not([class]):last-child{padding:.25em 0}
.thumb,.th{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}
.imageblock.left{margin:.25em .625em 1.25em 0}
.imageblock.right{margin:.25em 0 1.25em .625em}
.imageblock>.title{margin-bottom:0}
.imageblock.thumb,.imageblock.th{border-width:6px}
.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
.image.left{margin-right:.625em}
.image.right{margin-left:.625em}
a.image{text-decoration:none;display:inline-block}
a.image object{pointer-events:none}
sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
sup.footnote a,sup.footnoteref a{text-decoration:none}
sup.footnote a:active,sup.footnoteref a:active,#footnotes .footnote a:first-of-type:active{text-decoration:underline}
#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}
#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}
#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none;margin-left:-1.05em}
#footnotes .footnote:last-of-type{margin-bottom:0}
#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
div.unbreakable{page-break-inside:avoid}
.big{font-size:larger}
.small{font-size:smaller}
.underline{text-decoration:underline}
.overline{text-decoration:overline}
.line-through{text-decoration:line-through}
.aqua{color:#00bfbf}
.aqua-background{background:#00fafa}
.black{color:#000}
.black-background{background:#000}
.blue{color:#0000bf}
.blue-background{background:#0000fa}
.fuchsia{color:#bf00bf}
.fuchsia-background{background:#fa00fa}
.gray{color:#606060}
.gray-background{background:#7d7d7d}
.green{color:#006000}
.green-background{background:#007d00}
.lime{color:#00bf00}
.lime-background{background:#00fa00}
.maroon{color:#600000}
.maroon-background{background:#7d0000}
.navy{color:#000060}
.navy-background{background:#00007d}
.olive{color:#606000}
.olive-background{background:#7d7d00}
.purple{color:#600060}
.purple-background{background:#7d007d}
.red{color:#bf0000}
.red-background{background:#fa0000}
.silver{color:#909090}
.silver-background{background:#bcbcbc}
.teal{color:#006060}
.teal-background{background:#007d7d}
.white{color:#bfbfbf}
.white-background{background:#fafafa}
.yellow{color:#bfbf00}
.yellow-background{background:#fafa00}
span.icon>.fa{cursor:default}
a span.icon>.fa{cursor:inherit}
.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
.admonitionblock td.icon .icon-note::before{content:"\f05a";color:#19407c}
.admonitionblock td.icon .icon-tip::before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
.admonitionblock td.icon .icon-warning::before{content:"\f071";color:#bf6900}
.admonitionblock td.icon .icon-caution::before{content:"\f06d";color:#bf3400}
.admonitionblock td.icon .icon-important::before{content:"\f06a";color:#bf0000}
.conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:50%;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
.conum[data-value] *{color:#fff!important}
.conum[data-value]+b{display:none}
.conum[data-value]::after{content:attr(data-value)}
pre .conum[data-value]{position:relative;top:-.125em}
b.conum *{color:inherit!important}
.conum:not([data-value]):empty{display:none}
dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
h1,h2,p,td.content,span.alt,summary{letter-spacing:-.01em}
p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
p,blockquote,dt,td.content,td.hdlist1,span.alt,summary{font-size:1.0625rem}
p{margin-bottom:1.25rem}
.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
.exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}
.print-only{display:none!important}
@page{margin:1.25cm .75cm}
@media print{*{box-shadow:none!important;text-shadow:none!important}
html{font-size:80%}
a{color:inherit!important;text-decoration:underline!important}
a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
a[href^="http:"]:not(.bare)::after,a[href^="https:"]:not(.bare)::after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
abbr[title]{border-bottom:1px dotted}
abbr[title]::after{content:" (" attr(title) ")"}
pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
thead{display:table-header-group}
svg{max-width:100%}
p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
#header,#content,#footnotes,#footer{max-width:none}
#toc,.sidebarblock,.exampleblock>.content{background:none!important}
#toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}
body.book #header{text-align:center}
body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}
body.book #header .details{border:0!important;display:block;padding:0!important}
body.book #header .details span:first-child{margin-left:0!important}
body.book #header .details br{display:block}
body.book #header .details br+span::before{content:none!important}
body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
.listingblock code[data-lang]::before{display:block}
#footer{padding:0 .9375em}
.hide-on-print{display:none!important}
.print-only{display:block!important}
.hide-for-print{display:none!important}
.show-for-print{display:inherit!important}}
@media amzn-kf8,print{#header>h1:first-child{margin-top:1.25rem}
.sect1{padding:0!important}
.sect1+.sect1{border:0}
#footer{background:none}
#footer-text{color:rgba(0,0,0,.6);font-size:.9em}}
@media amzn-kf8{#header,#content,#footnotes,#footer{padding:0}}
</style>
<style>
pre>code {
   display: inline;
}
</style>
</head>
<body class="manpage">
<div id="header">
<h1>git-push(1) Manual Page</h1>
<h2 id="_name">NAME</h2>
<div class="sectionbody">
<p>git-push - Update remote refs along with associated objects</p>
</div>
</div>
<div id="content">
<div class="sect1">
<h2 id="_synopsis">SYNOPSIS</h2>
<div class="sectionbody">
<div class="verseblock">
<pre class="content"><em>git push</em> [--all | --branches | --mirror | --tags] [--follow-tags] [--atomic] [-n | --dry-run] [--receive-pack=&lt;git-receive-pack&gt;]
           [--repo=&lt;repository&gt;] [-f | --force] [-d | --delete] [--prune] [-q | --quiet] [-v | --verbose]
           [-u | --set-upstream] [-o &lt;string&gt; | --push-option=&lt;string&gt;]
           [--[no-]signed|--signed=(true|false|if-asked)]
           [--force-with-lease[=&lt;refname&gt;[:&lt;expect&gt;]] [--force-if-includes]]
           [--no-verify] [&lt;repository&gt; [&lt;refspec&gt;&#8230;&#8203;]]</pre>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_description">DESCRIPTION</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Updates one or more branches, tags, or other references in a remote
repository from your local repository, and sends all necessary data
that isn&#8217;t already on the remote.</p>
</div>
<div class="paragraph">
<p>The simplest way to push is <code>git</code> <code>push</code> <em>&lt;remote&gt;</em> <em>&lt;branch&gt;</em>.
<code>git</code> <code>push</code> <code>origin</code> <code>main</code> will push the local <code>main</code> branch to the <code>main</code>
branch on the remote named <code>origin</code>.</p>
</div>
<div class="paragraph">
<p>The <em>&lt;repository&gt;</em> argument defaults to the upstream for the current branch,
or <code>origin</code> if there&#8217;s no configured upstream.</p>
</div>
<div class="paragraph">
<p>To decide which branches, tags, or other refs to push, Git uses
(in order of precedence):</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>The <em>&lt;refspec&gt;</em> argument(s) (for example <code>main</code> in <code>git</code> <code>push</code> <code>origin</code> <code>main</code>)
or the <code>--all</code>, <code>--mirror</code>, or <code>--tags</code> options</p>
</li>
<li>
<p>The <code>remote.*.push</code> configuration for the repository being pushed to</p>
</li>
<li>
<p>The <code>push.default</code> configuration. The default is <code>push.default=simple</code>,
which will push to a branch with the same name as the current branch.
See the <a href="#CONFIGURATION">CONFIGURATION</a> section below for more on <code>push.default</code>.</p>
</li>
</ol>
</div>
<div class="paragraph">
<p><code>git</code> <code>push</code> may fail if you haven&#8217;t set an upstream for the current branch,
depending on what <code>push.default</code> is set to.
See the <a href="#UPSTREAM-BRANCHES">UPSTREAM BRANCHES</a> section below for more
on how to set and use upstreams.</p>
</div>
<div class="paragraph">
<p>You can make interesting things happen to a repository
every time you push into it, by setting up <em>hooks</em> there.  See
documentation for <a href="git-receive-pack.html">git-receive-pack(1)</a>.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_options">OPTIONS<a id="OPTIONS"></a></h2>
<div class="sectionbody">
<div class="dlist">
<dl>
<dt class="hdlist1">&lt;repository&gt;</dt>
<dd>
<p>The "remote" repository that is the destination of a push
operation.  This parameter can be either a URL
(see the section <a href="#URLS">GIT URLS</a> below) or the name
of a remote (see the section <a href="#REMOTES">REMOTES</a> below).</p>
</dd>
<dt class="hdlist1">&lt;refspec&gt;&#8230;&#8203;</dt>
<dd>
<p>Specify what destination ref to update with what source object.</p>
<div class="paragraph">
<p>The format for a refspec is [+]&lt;src&gt;[:&lt;dst&gt;], for example <code>main</code>,
<code>main:other</code>, or <code>HEAD^:refs/heads/main</code>.</p>
</div>
<div class="paragraph">
<p>The <em>&lt;src&gt;</em> is often the name of the local branch to push, but it can be
any arbitrary "SHA-1 expression" (see <a href="gitrevisions.html">gitrevisions(7)</a>).</p>
</div>
<div class="paragraph">
<p>The <em>&lt;dst&gt;</em> determines what ref to update on the remote side. It must be the
name of a branch, tag, or other ref, not an arbitrary expression.</p>
</div>
<div class="paragraph">
<p>The <code>+</code> is optional and does the same thing as <code>--force</code>.</p>
</div>
<div class="paragraph">
<p>You can write a refspec using the fully expanded form (for
example <code>refs/heads/main:refs/heads/main</code>) which specifies the exact source
and destination, or with a shorter form (for example <code>main</code> or
<code>main:other</code>). Here are the rules for how refspecs are expanded,
as well as various other special refspec forms:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><em>&lt;src&gt;</em> without a <code>:</code><em>&lt;dst&gt;</em> means to update the same ref as the
<em>&lt;src&gt;</em>, unless the <code>remote.</code><em>&lt;repository&gt;</em><code>.push</code> configuration specifies a
different &lt;dst&gt;. For example, if <code>main</code> is a branch, then the refspec
<code>main</code> expands to <code>main:refs/heads/main</code>.</p>
</li>
<li>
<p>If <em>&lt;dst&gt;</em> unambiguously refers to a ref on the &lt;repository&gt; remote,
then expand it to that ref. For example, if <code>v1.0</code> is a tag on the
remote, then <code>HEAD:v1.0</code> expands to <code>HEAD:refs/tags/v1.0</code>.</p>
</li>
<li>
<p>If <em>&lt;src&gt;</em> resolves to a ref starting with <code>refs/heads/</code> or <code>refs/tags/</code>,
then prepend that to &lt;dst&gt;. For example, if <code>main</code> is a branch, then
<code>main:other</code> expands to <code>main:refs/heads/other</code></p>
</li>
<li>
<p>The special refspec <code>:</code> (or <code>+:</code> to allow non-fast-forward updates)
directs Git to push "matching" branches: for every branch that exists on
the local side, the remote side is updated if a branch of the same name
already exists on the remote side.</p>
</li>
<li>
<p>&lt;src&gt; may contain a * to indicate a simple pattern match.
This works like a glob that matches any ref matching the pattern.
There must be only one * in both the <em>&lt;src&gt;</em> and <em>&lt;dst&gt;</em>.
It will map refs to the destination by replacing the * with the
contents matched from the source. For example, <code>refs/heads/*:refs/heads/*</code>
will push all branches.</p>
</li>
<li>
<p>A refspec starting with <code>^</code> is a negative refspec.
This specifies 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 pattern refspecs.
They must only contain a <em>&lt;src&gt;</em>.
Fully spelled out hex object names are also not supported.
For example, <code>git</code> <code>push</code> <code>origin</code> 'refs/heads/*' '^refs/heads/dev-*'
will push all branches except for those starting with <code>dev-</code></p>
</li>
<li>
<p>If <em>&lt;src&gt;</em> is empty, it deletes the <em>&lt;dst&gt;</em> ref from the remote
repository. For example, <code>git</code> <code>push</code> <code>origin</code> <code>:dev</code> will
delete the <code>dev</code> branch.</p>
</li>
<li>
<p><code>tag</code> <em>&lt;tag&gt;</em> expands to <code>refs/tags/</code><em>&lt;tag&gt;</em><code>:refs/tags/</code><em>&lt;tag&gt;</em>.
This is technically a special syntax for <code>git</code> <code>push</code> and not a refspec,
since in <code>git</code> <code>push</code> <code>origin</code> <code>tag</code> <code>v1.0</code> the arguments <code>tag</code> and <code>v1.0</code>
are separate.</p>
</li>
<li>
<p>If the refspec can&#8217;t be expanded unambiguously, error out
with an error indicating what was tried, and depending
on the <code>advice.pushUnqualifiedRefname</code> configuration (see
<a href="git-config.html">git-config(1)</a>) suggest what refs/ namespace you may have
wanted to push to.</p>
</li>
</ul>
</div>
</dd>
</dl>
</div>
<div class="paragraph">
<p>Not all updates are allowed: see PUSH RULES below for the details.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1">--all</dt>
<dt class="hdlist1">--branches</dt>
<dd>
<p>Push all branches (i.e. refs under <code>refs/heads/</code>); cannot be
used with other &lt;refspec&gt;.</p>
</dd>
<dt class="hdlist1">--prune</dt>
<dd>
<p>Remove remote branches that don&#8217;t have a local counterpart. For example
a remote branch <code>tmp</code> will be removed if a local branch with the same
name doesn&#8217;t exist any more. This also respects refspecs, e.g.
<code>git</code> <code>push</code> <code>--prune</code> <code>remote</code> <code>refs/heads/*:refs/tmp/*</code> would
make sure that remote <code>refs/tmp/foo</code> will be removed if <code>refs/heads/foo</code>
doesn&#8217;t exist.</p>
</dd>
<dt class="hdlist1">--mirror</dt>
<dd>
<p>Instead of naming each ref to push, specifies that all
refs under <code>refs/</code> (which includes but is not
limited to <code>refs/heads/</code>, <code>refs/remotes/</code>, and <code>refs/tags/</code>)
be mirrored to the remote repository.  Newly created local
refs will be pushed to the remote end, locally updated refs
will be force updated on the remote end, and deleted refs
will be removed from the remote end.  This is the default
if the configuration option <code>remote.</code><em>&lt;remote&gt;</em><code>.mirror</code> is
set.</p>
</dd>
<dt class="hdlist1">-n</dt>
<dt class="hdlist1">--dry-run</dt>
<dd>
<p>Do everything except actually send the updates.</p>
</dd>
<dt class="hdlist1">--porcelain</dt>
<dd>
<p>Produce machine-readable output.  The output status line for each ref
will be tab-separated and sent to stdout instead of stderr.  The full
symbolic names of the refs will be given.</p>
</dd>
<dt class="hdlist1">-d</dt>
<dt class="hdlist1">--delete</dt>
<dd>
<p>All listed refs are deleted from the remote repository. This is
the same as prefixing all refs with a colon.</p>
</dd>
<dt class="hdlist1">--tags</dt>
<dd>
<p>All refs under <code>refs/tags</code> are pushed, in
addition to refspecs explicitly listed on the command
line.</p>
</dd>
<dt class="hdlist1">--follow-tags</dt>
<dd>
<p>Push all the refs that would be pushed without this option,
and also push annotated tags in <code>refs/tags</code> that are missing
from the remote but are pointing at commit-ish that are
reachable from the refs being pushed.  This can also be specified
with configuration variable <code>push.followTags</code>.  For more
information, see <code>push.followTags</code> in <a href="git-config.html">git-config(1)</a>.</p>
</dd>
<dt class="hdlist1">--signed</dt>
<dt class="hdlist1">--no-signed</dt>
<dt class="hdlist1">--signed=(true|false|if-asked)</dt>
<dd>
<p>GPG-sign the push request to update refs on the receiving
side, to allow it to be checked by the hooks and/or be
logged.  If <code>false</code> or <code>--no-signed</code>, no signing will be
attempted.  If <code>true</code> or <code>--signed</code>, the push will fail if the
server does not support signed pushes.  If set to <code>if-asked</code>,
sign if and only if the server supports signed pushes.  The push
will also fail if the actual call to <code>gpg</code> <code>--sign</code> fails.  See
<a href="git-receive-pack.html">git-receive-pack(1)</a> for the details on the receiving end.</p>
</dd>
<dt class="hdlist1">--atomic</dt>
<dt class="hdlist1">--no-atomic</dt>
<dd>
<p>Use an atomic transaction on the remote side if available.
Either all refs are updated, or on error, no refs are updated.
If the server does not support atomic pushes the push will fail.</p>
</dd>
<dt class="hdlist1">-o &lt;option&gt;</dt>
<dt class="hdlist1">--push-option=&lt;option&gt;</dt>
<dd>
<p>Transmit the given string to the server, which passes them to
the pre-receive as well as the post-receive hook. The given string
must not contain a NUL or LF character.
When multiple <code>--push-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>--push-option=</code><em>&lt;option&gt;</em> is given from the command
line, the values of configuration variable <code>push.pushOption</code>
are used instead.</p>
</dd>
<dt class="hdlist1">--receive-pack=&lt;git-receive-pack&gt;</dt>
<dt class="hdlist1">--exec=&lt;git-receive-pack&gt;</dt>
<dd>
<p>Path to the <em>git-receive-pack</em> program on the remote
end.  Sometimes useful when pushing to a remote
repository over ssh, and you do not have the program in
a directory on the default $PATH.</p>
</dd>
<dt class="hdlist1">--force-with-lease</dt>
<dt class="hdlist1">--no-force-with-lease</dt>
<dt class="hdlist1">--force-with-lease=&lt;refname&gt;</dt>
<dt class="hdlist1">--force-with-lease=&lt;refname&gt;:&lt;expect&gt;</dt>
<dd>
<p>Usually, "git push" refuses to update a remote ref that is
not an ancestor of the local ref used to overwrite it.</p>
<div class="paragraph">
<p>This option overrides this restriction if the current value of the
remote ref is the expected value.  "git push" fails otherwise.</p>
</div>
<div class="paragraph">
<p>Imagine that you have to rebase what you have already published.
You will have to bypass the "must fast-forward" rule in order to
replace the history you originally published with the rebased history.
If somebody else built on top of your original history while you are
rebasing, the tip of the branch at the remote may advance with their
commit, and blindly pushing with <code>--force</code> will lose their work.</p>
</div>
<div class="paragraph">
<p>This option allows you to say that you expect the history you are
updating is what you rebased and want to replace. If the remote ref
still points at the commit you specified, you can be sure that no
other people did anything to the ref. It is like taking a "lease" on
the ref without explicitly locking it, and the remote ref is updated
only if the "lease" is still valid.</p>
</div>
<div class="paragraph">
<p><code>--force-with-lease</code> alone, without specifying the details, will protect
all remote refs that are going to be updated by requiring their
current value to be the same as the remote-tracking branch we have
for them.</p>
</div>
<div class="paragraph">
<p><code>--force-with-lease=</code><em>&lt;refname&gt;</em>, without specifying the expected value, will
protect the named ref (alone), if it is going to be updated, by
requiring its current value to be the same as the remote-tracking
branch we have for it.</p>
</div>
<div class="paragraph">
<p><code>--force-with-lease=</code><em>&lt;refname&gt;</em><code>:</code><em>&lt;expect&gt;</em> will protect the named ref (alone),
if it is going to be updated, by requiring its current value to be
the same as the specified value <em>&lt;expect&gt;</em> (which is allowed to be
different from the remote-tracking branch we have for the refname,
or we do not even have to have such a remote-tracking branch when
this form is used).  If <em>&lt;expect&gt;</em> is the empty string, then the named ref
must not already exist.</p>
</div>
<div class="paragraph">
<p>Note that all forms other than <code>--force-with-lease=</code><em>&lt;refname&gt;</em><code>:</code><em>&lt;expect&gt;</em>
that specifies the expected current value of the ref explicitly are
still experimental and their semantics may change as we gain experience
with this feature.</p>
</div>
<div class="paragraph">
<p>"--no-force-with-lease" will cancel all the previous --force-with-lease on the
command line.</p>
</div>
<div class="paragraph">
<p>A general note on safety: supplying this option without an expected
value, i.e. as <code>--force-with-lease</code> or <code>--force-with-lease=</code><em>&lt;refname&gt;</em>
interacts very badly with anything that implicitly runs <code>git</code> <code>fetch</code> on
the remote to be pushed to in the background, e.g. <code>git</code> <code>fetch</code> <code>origin</code>
on your repository in a cronjob.</p>
</div>
<div class="paragraph">
<p>The protection it offers over <code>--force</code> is ensuring that subsequent
changes your work wasn&#8217;t based on aren&#8217;t clobbered, but this is
trivially defeated if some background process is updating refs in the
background. We don&#8217;t have anything except the remote tracking info to
go by as a heuristic for refs you&#8217;re expected to have seen &amp; are
willing to clobber.</p>
</div>
<div class="paragraph">
<p>If your editor or some other system is running <code>git</code> <code>fetch</code> in the
background for you a way to mitigate this is to simply set up another
remote:</p>
</div>
<div class="literalblock">
<div class="content">
<pre>git remote add origin-push $(git config remote.origin.url)
git fetch origin-push</pre>
</div>
</div>
<div class="paragraph">
<p>Now when the background process runs <code>git</code> <code>fetch</code> <code>origin</code> the references
on <code>origin-push</code> won&#8217;t be updated, and thus commands like:</p>
</div>
<div class="literalblock">
<div class="content">
<pre>git push --force-with-lease origin-push</pre>
</div>
</div>
<div class="paragraph">
<p>Will fail unless you manually run <code>git</code> <code>fetch</code> <code>origin-push</code>. This method
is of course entirely defeated by something that runs <code>git</code> <code>fetch</code>
<code>--all</code>, in that case you&#8217;d need to either disable it or do something
more tedious like:</p>
</div>
<div class="literalblock">
<div class="content">
<pre>git fetch              # update 'master' from remote
git tag base master    # mark our base point
git rebase -i master   # rewrite some commits
git push --force-with-lease=master:base master:master</pre>
</div>
</div>
<div class="paragraph">
<p>I.e. create a <code>base</code> tag for versions of the upstream code that you&#8217;ve
seen and are willing to overwrite, then rewrite history, and finally
force push changes to <code>master</code> if the remote version is still at
<code>base</code>, regardless of what your local <code>remotes/origin/master</code> has been
updated to in the background.</p>
</div>
<div class="paragraph">
<p>Alternatively, specifying <code>--force-if-includes</code> as an ancillary option
along with <code>--force-with-lease</code>[<code>=</code><em>&lt;refname&gt;</em>] (i.e., without saying what
exact commit the ref on the remote side must be pointing at, or which
refs on the remote side are being protected) at the time of "push" will
verify if updates from the remote-tracking refs that may have been
implicitly updated in the background are integrated locally before
allowing a forced update.</p>
</div>
</dd>
<dt class="hdlist1">-f</dt>
<dt class="hdlist1">--force</dt>
<dd>
<p>Usually, <code>git</code> <code>push</code> will refuse to update a branch that is not an
ancestor of the commit being pushed.</p>
<div class="paragraph">
<p>This flag disables that check, the other safety checks in PUSH RULES
below, and the checks in --force-with-lease. It can cause the remote
repository to lose commits; use it with care.</p>
</div>
<div class="paragraph">
<p>Note that <code>--force</code> applies to all the refs that are pushed, hence
using it with <code>push.default</code> set to <code>matching</code> or with multiple push
destinations configured with <code>remote.*.push</code> may overwrite refs
other than the current branch (including local refs that are
strictly behind their remote counterpart).  To force a push to only
one branch, use a <code>+</code> in front of the refspec to push (e.g <code>git</code> <code>push</code>
<code>origin</code> <code>+master</code> to force a push to the <code>master</code> branch). See the
<em>&lt;refspec&gt;</em>... section above for details.</p>
</div>
</dd>
<dt class="hdlist1">--force-if-includes</dt>
<dt class="hdlist1">--no-force-if-includes</dt>
<dd>
<p>Force an update only if the tip of the remote-tracking ref
has been integrated locally.</p>
<div class="paragraph">
<p>This option enables a check that verifies if the tip of the
remote-tracking ref is reachable from one of the "reflog" entries of
the local branch based in it for a rewrite. The check ensures that any
updates from the remote have been incorporated locally by rejecting the
forced update if that is not the case.</p>
</div>
<div class="paragraph">
<p>If the option is passed without specifying <code>--force-with-lease</code>, or
specified along with <code>--force-with-lease=</code><em>&lt;refname&gt;</em><code>:</code><em>&lt;expect&gt;</em>, it is
a "no-op".</p>
</div>
<div class="paragraph">
<p>Specifying <code>--no-force-if-includes</code> disables this behavior.</p>
</div>
</dd>
<dt class="hdlist1">--repo=&lt;repository&gt;</dt>
<dd>
<p>This option is equivalent to the &lt;repository&gt; argument. If both
are specified, the command-line argument takes precedence.</p>
</dd>
<dt class="hdlist1">-u</dt>
<dt class="hdlist1">--set-upstream</dt>
<dd>
<p>For every branch that is up to date or successfully pushed, 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> in <a href="git-config.html">git-config(1)</a>.</p>
</dd>
<dt class="hdlist1">--thin</dt>
<dt class="hdlist1">--no-thin</dt>
<dd>
<p>These options are passed to <a href="git-send-pack.html">git-send-pack(1)</a>. A thin transfer
significantly reduces the amount of sent data when the sender and
receiver share many of the same objects in common. The default is
<code>--thin</code>.</p>
</dd>
<dt class="hdlist1">-q</dt>
<dt class="hdlist1">--quiet</dt>
<dd>
<p>Suppress all output, including the listing of updated refs,
unless an error occurs. Progress is not reported to the standard
error stream.</p>
</dd>
<dt class="hdlist1">-v</dt>
<dt class="hdlist1">--verbose</dt>
<dd>
<p>Run verbosely.</p>
</dd>
<dt class="hdlist1">--progress</dt>
<dd>
<p>Progress status is reported on the standard error stream
by default when it is attached to a terminal, unless -q
is specified. This flag forces progress status even if the
standard error stream is not directed to a terminal.</p>
</dd>
<dt class="hdlist1">--no-recurse-submodules</dt>
<dt class="hdlist1">--recurse-submodules=check|on-demand|only|no</dt>
<dd>
<p>May be used to make sure all submodule commits used by the
revisions to be pushed are available on a remote-tracking branch.
If <em>check</em> is used Git will verify that all submodule commits that
changed in the revisions to be pushed are available on at least one
remote of the submodule. If any commits are missing the push will
be aborted and exit with non-zero status. If <em>on-demand</em> is used
all submodules that changed in the revisions to be pushed will be
pushed. If on-demand was not able to push all necessary revisions it will
also be aborted and exit with non-zero status. If <em>only</em> is used all
submodules will be pushed while the superproject is left
unpushed. A value of <em>no</em> or using <code>--no-recurse-submodules</code> can be used
to override the push.recurseSubmodules configuration variable when no
submodule recursion is required.</p>
<div class="paragraph">
<p>When using <em>on-demand</em> or <em>only</em>, if a submodule has a
"push.recurseSubmodules={on-demand,only}" or "submodule.recurse" configuration,
further recursion will occur. In this case, "only" is treated as "on-demand".</p>
</div>
</dd>
<dt class="hdlist1">--verify</dt>
<dt class="hdlist1">--no-verify</dt>
<dd>
<p>Toggle the pre-push hook (see <a href="githooks.html">githooks(5)</a>).  The
default is --verify, giving the hook a chance to prevent the
push.  With --no-verify, the hook is bypassed completely.</p>
</dd>
<dt class="hdlist1">-4</dt>
<dt class="hdlist1">--ipv4</dt>
<dd>
<p>Use IPv4 addresses only, ignoring IPv6 addresses.</p>
</dd>
<dt class="hdlist1">-6</dt>
<dt class="hdlist1">--ipv6</dt>
<dd>
<p>Use IPv6 addresses only, ignoring IPv4 addresses.</p>
</dd>
</dl>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_git_urls">GIT URLS<a id="URLS"></a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>In general, URLs contain information about the transport protocol, the
address of the remote server, and the path to the repository.
Depending on the transport protocol, some of this information may be
absent.</p>
</div>
<div class="paragraph">
<p>Git supports ssh, git, http, and https protocols (in addition, ftp
and ftps can be used for fetching, but this is inefficient and
deprecated; do not use them).</p>
</div>
<div class="paragraph">
<p>The native transport (i.e. <code>git://</code> URL) does no authentication and
should be used with caution on unsecured networks.</p>
</div>
<div class="paragraph">
<p>The following syntaxes may be used with them:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><code>ssh://</code>[<em>&lt;user&gt;</em><code>@</code>]<em>&lt;host&gt;</em>[<code>:</code><em>&lt;port&gt;</em>]<code>/</code><em>&lt;path-to-git-repo&gt;</em></p>
</li>
<li>
<p><code>git://</code><em>&lt;host&gt;</em>[<code>:</code><em>&lt;port&gt;</em>]<code>/</code><em>&lt;path-to-git-repo&gt;</em></p>
</li>
<li>
<p><code>http</code>[<code>s</code>]<code>://</code><em>&lt;host&gt;</em>[<code>:</code><em>&lt;port&gt;</em>]<code>/</code><em>&lt;path-to-git-repo&gt;</em></p>
</li>
<li>
<p><code>ftp</code>[<code>s</code>]<code>://</code><em>&lt;host&gt;</em>[<code>:</code><em>&lt;port&gt;</em>]<code>/</code><em>&lt;path-to-git-repo&gt;</em></p>
</li>
</ul>
</div>
<div class="paragraph">
<p>An alternative scp-like syntax may also be used with the ssh protocol:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>[<em>&lt;user&gt;</em><code>@</code>]<em>&lt;host&gt;</em><code>:/</code><em>&lt;path-to-git-repo&gt;</em></p>
</li>
</ul>
</div>
<div class="paragraph">
<p>This syntax is only recognized if there are no slashes before the
first colon. This helps differentiate a local path that contains a
colon. For example the local path <code>foo:bar</code> could be specified as an
absolute path or .<code>/foo:bar</code> to avoid being misinterpreted as an ssh
url.</p>
</div>
<div class="paragraph">
<p>The ssh and git protocols additionally support <code>~</code><em>&lt;username&gt;</em> expansion:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><code>ssh://</code>[<em>&lt;user&gt;</em><code>@</code>]<em>&lt;host&gt;</em>[<code>:</code><em>&lt;port&gt;</em>]<code>/~</code><em>&lt;user&gt;</em><code>/</code><em>&lt;path-to-git-repo&gt;</em></p>
</li>
<li>
<p><code>git://</code><em>&lt;host&gt;</em>[<code>:</code><em>&lt;port&gt;</em>]<code>/~</code><em>&lt;user&gt;</em><code>/</code><em>&lt;path-to-git-repo&gt;</em></p>
</li>
<li>
<p>[<em>&lt;user&gt;</em><code>@</code>]<em>&lt;host&gt;</em><code>:~</code><em>&lt;user&gt;</em><code>/</code><em>&lt;path-to-git-repo&gt;</em></p>
</li>
</ul>
</div>
<div class="paragraph">
<p>For local repositories, also supported by Git natively, the following
syntaxes may be used:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><code>/path/to/repo.git/</code></p>
</li>
<li>
<p><code>file:///path/to/repo.git/</code></p>
</li>
</ul>
</div>
<div class="paragraph">
<p>These two syntaxes are mostly equivalent, except when cloning, when
the former implies <code>--local</code> option. See <a href="git-clone.html">git-clone(1)</a> for
details.</p>
</div>
<div class="paragraph">
<p><code>git</code> <code>clone</code>, <code>git</code> <code>fetch</code> and <code>git</code> <code>pull</code>, but not <code>git</code> <code>push</code>, will also
accept a suitable bundle file. See <a href="git-bundle.html">git-bundle(1)</a>.</p>
</div>
<div class="paragraph">
<p>When Git doesn&#8217;t know how to handle a certain transport protocol, it
attempts to use the <code>remote-</code><em>&lt;transport&gt;</em> remote helper, if one
exists. To explicitly request a remote helper, the following syntax
may be used:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><em>&lt;transport&gt;</em><code>::</code><em>&lt;address&gt;</em></p>
</li>
</ul>
</div>
<div class="paragraph">
<p>where <em>&lt;address&gt;</em> may be a path, a server and path, or an arbitrary
URL-like string recognized by the specific remote helper being
invoked. See <a href="gitremote-helpers.html">gitremote-helpers(7)</a> for details.</p>
</div>
<div class="paragraph">
<p>If there are a large number of similarly-named remote repositories and
you want to use a different format for them (such that the URLs you
use will be rewritten into URLs that work), you can create a
configuration section of the form:</p>
</div>
<div class="verseblock">
<pre class="content">        [url "<em>&lt;actual-url-base&gt;</em>"]
                insteadOf = <em>&lt;other-url-base&gt;</em></pre>
</div>
<div class="paragraph">
<p>For example, with this:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>        [url "git://git.host.xz/"]
                insteadOf = host.xz:/path/to/
                insteadOf = work:</pre>
</div>
</div>
<div class="paragraph">
<p>a URL like "work:repo.git" or like "host.xz:/path/to/repo.git" will be
rewritten in any context that takes a URL to be "git://git.host.xz/repo.git".</p>
</div>
<div class="paragraph">
<p>If you want to rewrite URLs for push only, you can create a
configuration section of the form:</p>
</div>
<div class="verseblock">
<pre class="content">        [url "<em>&lt;actual-url-base&gt;</em>"]
                pushInsteadOf = <em>&lt;other-url-base&gt;</em></pre>
</div>
<div class="paragraph">
<p>For example, with this:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>        [url "ssh://example.org/"]
                pushInsteadOf = git://example.org/</pre>
</div>
</div>
<div class="paragraph">
<p>a URL like "git://example.org/path/to/repo.git" will be rewritten to
"ssh://example.org/path/to/repo.git" for pushes, but pulls will still
use the original URL.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_remotes">REMOTES<a id="REMOTES"></a></h2>
<div class="sectionbody">
<div class="paragraph">
<p>The name of one of the following can be used instead
of a URL as <em>&lt;repository&gt;</em> argument:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>a remote in the Git configuration file: <code>$GIT_DIR/config</code>,</p>
</li>
<li>
<p>a file in the <code>$GIT_DIR/remotes</code> directory, or</p>
</li>
<li>
<p>a file in the <code>$GIT_DIR/branches</code> directory.</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>All of these also allow you to omit the refspec from the command line
because they each contain a refspec which git will use by default.</p>
</div>
<div class="sect2">
<h3 id="_named_remote_in_configuration_file">Named remote in configuration file</h3>
<div class="paragraph">
<p>You can choose to provide the name of a remote which you had previously
configured using <a href="git-remote.html">git-remote(1)</a>, <a href="git-config.html">git-config(1)</a>
or even by a manual edit to the <code>$GIT_DIR/config</code> file.  The URL of
this remote will be used to access the repository.  The refspec
of this remote will be used by default when you do
not provide a refspec on the command line.  The entry in the
config file would appear like this:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>        [remote "&lt;name&gt;"]
                url = &lt;URL&gt;
                pushurl = &lt;pushurl&gt;
                push = &lt;refspec&gt;
                fetch = &lt;refspec&gt;</pre>
</div>
</div>
<div class="paragraph">
<p>The <em>&lt;pushurl&gt;</em> is used for pushes only. It is optional and defaults
to <em>&lt;URL&gt;</em>. Pushing to a remote affects all defined pushurls or all
defined urls if no pushurls are defined. Fetch, however, will only
fetch from the first defined url if multiple urls are defined.</p>
</div>
</div>
<div class="sect2">
<h3 id="_named_file_in_git_dirremotes">Named file in <code>$GIT_DIR/remotes</code></h3>
<div class="paragraph">
<p>You can choose to provide the name of a
file in <code>$GIT_DIR/remotes</code>.  The URL
in this file will be used to access the repository.  The refspec
in this file will be used as default when you do not
provide a refspec on the command line.  This file should have the
following format:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>        URL: one of the above URL formats
        Push: &lt;refspec&gt;
        Pull: &lt;refspec&gt;</pre>
</div>
</div>
<div class="paragraph">
<p><code>Push:</code> lines are used by <em>git push</em> and
<code>Pull:</code> lines are used by <em>git pull</em> and <em>git fetch</em>.
Multiple <code>Push:</code> and <code>Pull:</code> lines may
be specified for additional branch mappings.</p>
</div>
</div>
<div class="sect2">
<h3 id="_named_file_in_git_dirbranches">Named file in <code>$GIT_DIR/branches</code></h3>
<div class="paragraph">
<p>You can choose to provide the name of a
file in <code>$GIT_DIR/branches</code>.
The URL in this file will be used to access the repository.
This file should have the following format:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>        &lt;URL&gt;#&lt;head&gt;</pre>
</div>
</div>
<div class="paragraph">
<p><em>&lt;URL&gt;</em> is required; #<em>&lt;head&gt;</em> is optional.</p>
</div>
<div class="paragraph">
<p>Depending on the operation, git will use one of the following
refspecs, if you don&#8217;t provide one on the command line.
<em>&lt;branch&gt;</em> is the name of this file in <code>$GIT_DIR/branches</code> and
<em>&lt;head&gt;</em> defaults to <code>master</code>.</p>
</div>
<div class="paragraph">
<p>git fetch uses:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>        refs/heads/&lt;head&gt;:refs/heads/&lt;branch&gt;</pre>
</div>
</div>
<div class="paragraph">
<p>git push uses:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>        HEAD:refs/heads/&lt;head&gt;</pre>
</div>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="UPSTREAM-BRANCHES">UPSTREAM BRANCHES</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Branches in Git can optionally have an upstream remote branch.
Git defaults to using the upstream branch for remote operations, for example:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>It&#8217;s the default for <code>git</code> <code>pull</code> or <code>git</code> <code>fetch</code> with no arguments.</p>
</li>
<li>
<p>It&#8217;s the default for <code>git</code> <code>push</code> with no arguments, with some exceptions.
For example, you can use the <code>branch.</code><em>&lt;name&gt;</em><code>.pushRemote</code> option to push
to a different remote than you pull from, and by default with
<code>push.default=simple</code> the upstream branch you configure must have
the same name.</p>
</li>
<li>
<p>Various commands, including <code>git</code> <code>checkout</code> and <code>git</code> <code>status</code>, will
show you how many commits have been added to your current branch and
the upstream since you forked from it, for example "Your branch and
<em>origin/main</em> have diverged, and have 2 and 3 different commits each
respectively".</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>The upstream is stored in .<code>git/config</code>, in the "remote" and "merge"
fields. For example, if <code>main</code>'s upstream is <code>origin/main</code>:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>[branch "main"]
   remote = origin
   merge = refs/heads/main</pre>
</div>
</div>
<div class="paragraph">
<p>You can set an upstream branch explicitly with
<code>git</code> <code>push</code> <code>--set-upstream</code> <em>&lt;remote&gt;</em> <em>&lt;branch&gt;</em>
but Git will often automatically set the upstream for you, for example:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>When you clone a repository, Git will automatically set the upstream
for the default branch.</p>
</li>
<li>
<p>If you have the <code>push.autoSetupRemote</code> configuration option set,
<code>git</code> <code>push</code> will automatically set the upstream the first time you push
a branch.</p>
</li>
<li>
<p>Checking out a remote-tracking branch with <code>git</code> <code>checkout</code> <em>&lt;branch&gt;</em>
will automatically create a local branch with that name and set
the upstream to the remote branch.</p>
</li>
</ul>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<div class="title">Note</div>
</td>
<td class="content">
Upstream branches are sometimes referred to as "tracking information",
as in "set the branch&#8217;s tracking information".
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_output">OUTPUT</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The output of "git push" depends on the transport method used; this
section describes the output when pushing over the Git protocol (either
locally or via ssh).</p>
</div>
<div class="paragraph">
<p>The status of the push is output in tabular form, with each line
representing the status of a single ref. Each line is of the form:</p>
</div>
<div class="listingblock">
<div class="content">
<pre> &lt;flag&gt; &lt;summary&gt; &lt;from&gt; -&gt; &lt;to&gt; (&lt;reason&gt;)</pre>
</div>
</div>
<div class="paragraph">
<p>If --porcelain is used, then each line of the output is of the form:</p>
</div>
<div class="listingblock">
<div class="content">
<pre> &lt;flag&gt; \t &lt;from&gt;:&lt;to&gt; \t &lt;summary&gt; (&lt;reason&gt;)</pre>
</div>
</div>
<div class="paragraph">
<p>The status of up-to-date refs is shown only if --porcelain or --verbose
option is used.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1">flag</dt>
<dd>
<p>A single character indicating the status of the ref:</p>
<div class="dlist">
<dl>
<dt class="hdlist1">(space)</dt>
<dd>
<p>for a successfully pushed fast-forward;</p>
</dd>
<dt class="hdlist1"><code>+</code></dt>
<dd>
<p>for a successful forced update;</p>
</dd>
<dt class="hdlist1"><code>-</code></dt>
<dd>
<p>for a successfully deleted ref;</p>
</dd>
<dt class="hdlist1"><code>*</code></dt>
<dd>
<p>for a successfully pushed new ref;</p>
</dd>
<dt class="hdlist1">!</dt>
<dd>
<p>for a ref that was rejected or failed to push; and</p>
</dd>
<dt class="hdlist1"><code>=</code></dt>
<dd>
<p>for a ref that was up to date and did not need pushing.</p>
</dd>
</dl>
</div>
</dd>
<dt class="hdlist1">summary</dt>
<dd>
<p>For a successfully pushed ref, the summary shows the old and new
values of the ref in a form suitable for using as an argument to
<code>git</code> <code>log</code> (this is <em>&lt;old&gt;</em><code>..</code><em>&lt;new&gt;</em> in most cases, and
<em>&lt;old&gt;</em><code>...</code><em>&lt;new&gt;</em> for forced non-fast-forward updates).</p>
<div class="paragraph">
<p>For a failed update, more details are given:</p>
</div>
<div class="openblock">
<div class="content">
<div class="dlist">
<dl>
<dt class="hdlist1">rejected</dt>
<dd>
<p>Git did not try to send the ref at all, typically because it
is not a fast-forward and you did not force the update.</p>
</dd>
<dt class="hdlist1">remote rejected</dt>
<dd>
<p>The remote end refused the update.  Usually caused by a hook
on the remote side, or because the remote repository has one
of the following safety options in effect:
<code>receive.denyCurrentBranch</code> (for pushes to the checked out
branch), <code>receive.denyNonFastForwards</code> (for forced
non-fast-forward updates), <code>receive.denyDeletes</code> or
<code>receive.denyDeleteCurrent</code>.  See <a href="git-config.html">git-config(1)</a>.</p>
</dd>
<dt class="hdlist1">remote failure</dt>
<dd>
<p>The remote end did not report the successful update of the ref,
perhaps because of a temporary error on the remote side, a
break in the network connection, or other transient error.</p>
</dd>
</dl>
</div>
</div>
</div>
</dd>
<dt class="hdlist1">from</dt>
<dd>
<p>The name of the local ref being pushed, minus its
<code>refs/</code><em>&lt;type&gt;</em><code>/</code> prefix. In the case of deletion, the
name of the local ref is omitted.</p>
</dd>
<dt class="hdlist1">to</dt>
<dd>
<p>The name of the remote ref being updated, minus its
<code>refs/</code><em>&lt;type&gt;</em><code>/</code> prefix.</p>
</dd>
<dt class="hdlist1">reason</dt>
<dd>
<p>A human-readable explanation. In the case of successfully pushed
refs, no explanation is needed. For a failed ref, the reason for
failure is described.</p>
</dd>
</dl>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_push_rules">PUSH RULES</h2>
<div class="sectionbody">
<div class="paragraph">
<p>As a safety feature, the <code>git</code> <code>push</code> command only allows certain kinds of
updates to prevent you from accidentally losing data on the remote.</p>
</div>
<div class="paragraph">
<p>Because branches and tags are intended to be used differently, the
safety rules for pushing to a branch are different from the rules
for pushing to a tag. In the following rules "update" means any
modifications except deletions and creations. Deletions and creations
are always allowed, except when forbidden by configuration or hooks.</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>If the push destination is a <strong>branch</strong> (<code>refs/heads/*</code>): only
fast-forward updates are allowed, which means the destination must be
an ancestor of the source commit. The source must be a commit.</p>
</li>
<li>
<p>If the push destination is a <strong>tag</strong> (<code>refs/tags/*</code>): all updates will
be rejected. The source can be any object.</p>
</li>
<li>
<p>If the push destination is not a branch or tag:</p>
<div class="ulist">
<ul>
<li>
<p>If the source is a tree or blob object, any updates will be rejected</p>
</li>
<li>
<p>If the source is a tag or commit object, any fast-forward update
is allowed, even in cases where what&#8217;s being fast-forwarded is not a
commit, but a tag object which happens to point to a new commit which
is a fast-forward of the commit the last tag (or commit) it&#8217;s
replacing. Replacing a tag with an entirely different tag is also
allowed, if it points to the same commit, as well as pushing a peeled
tag, i.e. pushing the commit that existing tag object points to, or a
new tag object which an existing commit points to.</p>
</li>
</ul>
</div>
</li>
</ol>
</div>
<div class="paragraph">
<p>You can override these rules by passing <code>--force</code> or by adding the
optional leading <code>+</code> to a refspec. The only exceptions are that no
amount of forcing will make a branch accept a non-commit object,
and forcing won&#8217;t make the remote repository accept a push that it&#8217;s
configured to deny.</p>
</div>
<div class="paragraph">
<p>Hooks and configuration can also override or amend these rules,
see e.g. <code>receive.denyNonFastForwards</code> and <code>receive.denyDeletes</code>
in <a href="git-config.html">git-config(1)</a> and <code>pre-receive</code> and <code>update</code> in
<a href="githooks.html">githooks(5)</a>.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_note_about_fast_forwards">NOTE ABOUT FAST-FORWARDS</h2>
<div class="sectionbody">
<div class="paragraph">
<p>When an update changes a branch (or more in general, a ref) that used to
point at commit A to point at another commit B, it is called a
fast-forward update if and only if B is a descendant of A.</p>
</div>
<div class="paragraph">
<p>In a fast-forward update from A to B, the set of commits that the original
commit A built on top of is a subset of the commits the new commit B
builds on top of.  Hence, it does not lose any history.</p>
</div>
<div class="paragraph">
<p>In contrast, a non-fast-forward update will lose history.  For example,
suppose you and somebody else started at the same commit X, and you built
a history leading to commit B while the other person built a history
leading to commit A.  The history looks like this:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>      B
     /
 ---X---A</pre>
</div>
</div>
<div class="paragraph">
<p>Further suppose that the other person already pushed changes leading to A
back to the original repository from which you two obtained the original
commit X.</p>
</div>
<div class="paragraph">
<p>The push done by the other person updated the branch that used to point at
commit X to point at commit A.  It is a fast-forward.</p>
</div>
<div class="paragraph">
<p>But if you try to push, you will attempt to update the branch (that
now points at A) with commit B.  This does <em>not</em> fast-forward.  If you did
so, the changes introduced by commit A will be lost, because everybody
will now start building on top of B.</p>
</div>
<div class="paragraph">
<p>The command by default does not allow an update that is not a fast-forward
to prevent such loss of history.</p>
</div>
<div class="paragraph">
<p>If you do not want to lose your work (history from X to B) or the work by
the other person (history from X to A), you would need to first fetch the
history from the repository, create a history that contains changes done
by both parties, and push the result back.</p>
</div>
<div class="paragraph">
<p>You can perform "git pull", resolve potential conflicts, and "git push"
the result.  A "git pull" will create a merge commit C between commits A
and B.</p>
</div>
<div class="listingblock">
<div class="content">
<pre>      B---C
     /   /
 ---X---A</pre>
</div>
</div>
<div class="paragraph">
<p>Updating A with the resulting merge commit will fast-forward and your
push will be accepted.</p>
</div>
<div class="paragraph">
<p>Alternatively, you can rebase your change between X and B on top of A,
with "git pull --rebase", and push the result back.  The rebase will
create a new commit D that builds the change between X and B on top of
A.</p>
</div>
<div class="listingblock">
<div class="content">
<pre>      B   D
     /   /
 ---X---A</pre>
</div>
</div>
<div class="paragraph">
<p>Again, updating A with this commit will fast-forward and your push will be
accepted.</p>
</div>
<div class="paragraph">
<p>There is another common situation where you may encounter non-fast-forward
rejection when you try to push, and it is possible even when you are
pushing into a repository nobody else pushes into. After you push commit
A yourself (in the first picture in this section), replace it with "git
commit --amend" to produce commit B, and you try to push it out, because
forgot that you have pushed A out already. In such a case, and only if
you are certain that nobody in the meantime fetched your earlier commit A
(and started building on top of it), you can run "git push --force" to
overwrite it. In other words, "git push --force" is a method reserved for
a case where you do mean to lose history.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_examples">EXAMPLES</h2>
<div class="sectionbody">
<div class="dlist">
<dl>
<dt class="hdlist1"><code>git</code> <code>push</code></dt>
<dd>
<p>Works like <code>git</code> <code>push</code> <em>&lt;remote&gt;</em>, where &lt;remote&gt; is the
current branch&#8217;s remote (or <code>origin</code>, if no remote is
configured for the current branch).</p>
</dd>
<dt class="hdlist1"><code>git</code> <code>push</code> <code>origin</code></dt>
<dd>
<p>Without additional configuration, pushes the current branch to
the configured upstream (<code>branch.</code><em>&lt;name&gt;</em><code>.merge</code> configuration
variable) if it has the same name as the current branch, and
errors out without pushing otherwise.</p>
<div class="paragraph">
<p>The default behavior of this command when no &lt;refspec&gt; is given can be
configured by setting the <code>push</code> option of the remote, or the <code>push.default</code>
configuration variable.</p>
</div>
<div class="paragraph">
<p>For example, to default to pushing only the current branch to <code>origin</code>
use <code>git</code> <code>config</code> <code>remote.origin.push</code> <code>HEAD</code>.  Any valid &lt;refspec&gt; (like
the ones in the examples below) can be configured as the default for
<code>git</code> <code>push</code> <code>origin</code>.</p>
</div>
</dd>
<dt class="hdlist1"><code>git</code> <code>push</code> <code>origin</code> <code>:</code></dt>
<dd>
<p>Push "matching" branches to <code>origin</code>. See
&lt;refspec&gt; in the <a href="#OPTIONS">OPTIONS</a> section above for a
description of "matching" branches.</p>
</dd>
<dt class="hdlist1"><code>git</code> <code>push</code> <code>origin</code> <code>master</code></dt>
<dd>
<p>Find a ref that matches <code>master</code> in the source repository
(most likely, it would find <code>refs/heads/master</code>), and update
the same ref (e.g. <code>refs/heads/master</code>) in <code>origin</code> repository
with it.  If <code>master</code> did not exist remotely, it would be
created.</p>
</dd>
<dt class="hdlist1"><code>git</code> <code>push</code> <code>origin</code> <code>HEAD</code></dt>
<dd>
<p>A handy way to push the current branch to the same name on the
remote.</p>
</dd>
<dt class="hdlist1"><code>git</code> <code>push</code> <code>mothership</code> <code>master:satellite/master</code> <code>dev:satellite/dev</code></dt>
<dd>
<p>Use the source ref that matches <code>master</code> (e.g. <code>refs/heads/master</code>)
to update the ref that matches <code>satellite/master</code> (most probably
<code>refs/remotes/satellite/master</code>) in the <code>mothership</code> repository;
do the same for <code>dev</code> and <code>satellite/dev</code>.</p>
<div class="paragraph">
<p>See the section describing <em>&lt;refspec&gt;</em>... above for a discussion of
the matching semantics.</p>
</div>
<div class="paragraph">
<p>This is to emulate <code>git</code> <code>fetch</code> run on the <code>mothership</code> using <code>git</code>
<code>push</code> that is run in the opposite direction in order to integrate
the work done on <code>satellite</code>, and is often necessary when you can
only make connection in one way (i.e. satellite can ssh into
mothership but mothership cannot initiate connection to satellite
because the latter is behind a firewall or does not run sshd).</p>
</div>
<div class="paragraph">
<p>After running this <code>git</code> <code>push</code> on the <code>satellite</code> machine, you would
ssh into the <code>mothership</code> and run <code>git</code> <code>merge</code> there to complete the
emulation of <code>git</code> <code>pull</code> that were run on <code>mothership</code> to pull changes
made on <code>satellite</code>.</p>
</div>
</dd>
<dt class="hdlist1"><code>git</code> <code>push</code> <code>origin</code> <code>HEAD:master</code></dt>
<dd>
<p>Push the current branch to the remote ref matching <code>master</code> in the
<code>origin</code> repository. This form is convenient to push the current
branch without thinking about its local name.</p>
</dd>
<dt class="hdlist1"><code>git</code> <code>push</code> <code>origin</code> <code>master:refs/heads/experimental</code></dt>
<dd>
<p>Create the branch <code>experimental</code> in the <code>origin</code> repository
by copying the current <code>master</code> branch.  This form is only
needed to create a new branch or tag in the remote repository when
the local name and the remote name are different; otherwise,
the ref name on its own will work.</p>
</dd>
<dt class="hdlist1"><code>git</code> <code>push</code> <code>origin</code> <code>:experimental</code></dt>
<dd>
<p>Find a ref that matches <code>experimental</code> in the <code>origin</code> repository
(e.g. <code>refs/heads/experimental</code>), and delete it.</p>
</dd>
<dt class="hdlist1"><code>git</code> <code>push</code> <code>origin</code> <code>+dev:master</code></dt>
<dd>
<p>Update the origin repository&#8217;s master branch with the dev branch,
allowing non-fast-forward updates.  <strong>This can leave unreferenced
commits dangling in the origin repository.</strong>  Consider the
following situation, where a fast-forward is not possible:</p>
<div class="listingblock">
<div class="content">
<pre>            o---o---o---A---B  origin/master
                     \
                      X---Y---Z  dev</pre>
</div>
</div>
<div class="paragraph">
<p>The above command would change the origin repository to</p>
</div>
<div class="listingblock">
<div class="content">
<pre>                      A---B  (unnamed branch)
                     /
            o---o---o---X---Y---Z  master</pre>
</div>
</div>
<div class="paragraph">
<p>Commits A and B would no longer belong to a branch with a symbolic name,
and so would be unreachable.  As such, these commits would be removed by
a <code>git</code> <code>gc</code> command on the origin repository.</p>
</div>
</dd>
</dl>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_security">SECURITY</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The fetch and push protocols are not designed to prevent one side from
stealing data from the other repository that was not intended to be
shared. If you have private data that you need to protect from a malicious
peer, your best option is to store it in another repository. This applies
to both clients and servers. In particular, namespaces on a server are not
effective for read access control; you should only grant read access to a
namespace to clients that you would trust with read access to the entire
repository.</p>
</div>
<div class="paragraph">
<p>The known attack vectors are as follows:</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>The victim sends "have" lines advertising the IDs of objects it has that
are not explicitly intended to be shared but can be used to optimize the
transfer if the peer also has them. The attacker chooses an object ID X
to steal and sends a ref to X, but isn&#8217;t required to send the content of
X because the victim already has it. Now the victim believes that the
attacker has X, and it sends the content of X back to the attacker
later. (This attack is most straightforward for a client to perform on a
server, by creating a ref to X in the namespace the client has access
to and then fetching it. The most likely way for a server to perform it
on a client is to "merge" X into a public branch and hope that the user
does additional work on this branch and pushes it back to the server
without noticing the merge.)</p>
</li>
<li>
<p>As in #1, the attacker chooses an object ID X to steal. The victim sends
an object Y that the attacker already has, and the attacker falsely
claims to have X and not Y, so the victim sends Y as a delta against X.
The delta reveals regions of X that are similar to Y to the attacker.</p>
</li>
</ol>
</div>
</div>
</div>
<div class="sect1">
<h2 id="CONFIGURATION">CONFIGURATION</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Everything below this line in this section is selectively included
from the <a href="git-config.html">git-config(1)</a> documentation. The content is the same
as what&#8217;s found there:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1">push.autoSetupRemote</dt>
<dd>
<p>If set to "true" assume <code>--set-upstream</code> on default push when no
upstream tracking exists for the current branch; this option
takes effect with push.default options <em>simple</em>, <em>upstream</em>,
and <em>current</em>. It is useful if by default you want new branches
to be pushed to the default remote (like the behavior of
<em>push.default=current</em>) and you also want the upstream tracking
to be set. Workflows most likely to benefit from this option are
<em>simple</em> central workflows where all branches are expected to
have the same name on the remote.</p>
</dd>
<dt class="hdlist1">push.default</dt>
<dd>
<p>Defines the action <code>git</code> <code>push</code> should take if no refspec is
given (whether from the command-line, config, or elsewhere).
Different values are well-suited for
specific workflows; for instance, in a purely central workflow
(i.e. the fetch source is equal to the push destination),
<code>upstream</code> is probably what you want.  Possible values are:</p>
<div class="openblock">
<div class="content">
<div class="ulist">
<ul>
<li>
<p><code>nothing</code> - do not push anything (error out) unless a refspec is
given. This is primarily meant for people who want to
avoid mistakes by always being explicit.</p>
</li>
<li>
<p><code>current</code> - push the current branch to update a branch with the same
name on the receiving end.  Works in both central and non-central
workflows.</p>
</li>
<li>
<p><code>upstream</code> - push the current branch back to the branch whose
changes are usually integrated into the current branch (which is
called <code>@</code>{upstream}).  This mode only makes sense if you are
pushing to the same repository you would normally pull from
(i.e. central workflow).</p>
</li>
<li>
<p><code>tracking</code> - This is a deprecated synonym for <code>upstream</code>.</p>
</li>
<li>
<p><code>simple</code> - push the current branch with the same name on the remote.</p>
<div class="paragraph">
<p>If you are working on a centralized workflow (pushing to the same repository you
pull from, which is typically <code>origin</code>), then you need to configure an upstream
branch with the same name.</p>
</div>
<div class="paragraph">
<p>This mode is the default since Git 2.0, and is the safest option suited for
beginners.</p>
</div>
</li>
<li>
<p><code>matching</code> - push all branches having the same name on both ends.
This makes the repository you are pushing to remember the set of
branches that will be pushed out (e.g. if you always push <em>maint</em>
and <em>master</em> there and no other branches, the repository you push
to will have these two branches, and your local <em>maint</em> and
<em>master</em> will be pushed there).</p>
<div class="paragraph">
<p>To use this mode effectively, you have to make sure <em>all</em> the
branches you would push out are ready to be pushed out before
running <em>git push</em>, as the whole point of this mode is to allow you
to push all of the branches in one go.  If you usually finish work
on only one branch and push out the result, while other branches are
unfinished, this mode is not for you.  Also this mode is not
suitable for pushing into a shared central repository, as other
people may add new branches there, or update the tip of existing
branches outside your control.</p>
</div>
<div class="paragraph">
<p>This used to be the default, but not since Git 2.0 (<code>simple</code> is the
new default).</p>
</div>
</li>
</ul>
</div>
</div>
</div>
</dd>
<dt class="hdlist1">push.followTags</dt>
<dd>
<p>If set to true, enable <code>--follow-tags</code> option by default.  You
may override this configuration at time of push by specifying
<code>--no-follow-tags</code>.</p>
</dd>
<dt class="hdlist1">push.gpgSign</dt>
<dd>
<p>May be set to a boolean value, or the string <em>if-asked</em>. A true
value causes all pushes to be GPG signed, as if <code>--signed</code> is
passed to <a href="git-push.html">git-push(1)</a>. The string <em>if-asked</em> causes
pushes to be signed if the server supports it, as if
<code>--signed=if-asked</code> is passed to <em>git push</em>. A false value may
override a value from a lower-priority config file. An explicit
command-line flag always overrides this config option.</p>
</dd>
<dt class="hdlist1">push.pushOption</dt>
<dd>
<p>When no <code>--push-option=</code><em>&lt;option&gt;</em> argument is given from the
command line, <code>git</code> <code>push</code> behaves as if each &lt;value&gt; of
this variable is given as <code>--push-option=</code><em>&lt;value&gt;</em>.</p>
<div class="paragraph">
<p>This is a multi-valued variable, and an empty value can be used in a
higher priority configuration file (e.g. .<code>git/config</code> in a
repository) to clear the values inherited from a lower priority
configuration files (e.g. <code>$HOME/.gitconfig</code>).</p>
</div>
<div class="listingblock">
<div class="content">
<pre>Example:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

This will result in only b (a and c are cleared).</pre>
</div>
</div>
</dd>
<dt class="hdlist1">push.recurseSubmodules</dt>
<dd>
<p>May be "check", "on-demand", "only", or "no", with the same behavior
as that of "push --recurse-submodules".
If not set, <em>no</em> is used by default, unless <em>submodule.recurse</em> is
set (in which case a <em>true</em> value means <em>on-demand</em>).</p>
</dd>
<dt class="hdlist1">push.useForceIfIncludes</dt>
<dd>
<p>If set to "true", it is equivalent to specifying
<code>--force-if-includes</code> as an option to <a href="git-push.html">git-push(1)</a>
in the command line. Adding <code>--no-force-if-includes</code> at the
time of push overrides this configuration setting.</p>
</dd>
<dt class="hdlist1">push.negotiate</dt>
<dd>
<p>If set to "true", attempt to reduce the size of the packfile
sent by rounds of negotiation in which the client and the
server attempt to find commits in common. If "false", Git will
rely solely on the server&#8217;s ref advertisement to find commits
in common.</p>
</dd>
<dt class="hdlist1">push.useBitmaps</dt>
<dd>
<p>If set to "false", disable use of bitmaps for "git push" even if
<code>pack.useBitmaps</code> is "true", without preventing other git operations
from using bitmaps. Default is true.</p>
</dd>
</dl>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_git">GIT</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Part of the <a href="git.html">git(1)</a> suite</p>
</div>
</div>
</div>
</div>
<div id="footer">
<div id="footer-text">
Last updated 2025-10-14 14:37:27 -0700
</div>
</div>
</body>
</html>