<!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-merge(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-merge(1) Manual Page</h1>
<h2 id="_name">NAME</h2>
<div class="sectionbody">
<p>git-merge - Join two or more development histories together</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>merge</code> [<code>-n</code>] [<code>--stat</code>] [<code>--compact-summary</code>] [<code>--no-commit</code>] [<code>--squash</code>] [<code>--</code>[<code>no-</code>]<code>edit</code>]
	[<code>--no-verify</code>] [<code>-s</code> <em>&lt;strategy&gt;</em>] [<code>-X</code> <em>&lt;strategy-option&gt;</em>] [<code>-S</code>[<em>&lt;keyid&gt;</em>]]
	[<code>--</code>[<code>no-</code>]<code>allow-unrelated-histories</code>]
	[<code>--</code>[<code>no-</code>]<code>rerere-autoupdate</code>] [<code>-m</code> <em>&lt;msg&gt;</em>] [<code>-F</code> <em>&lt;file&gt;</em>]
	[<code>--into-name</code> <em>&lt;branch&gt;</em>] [<em>&lt;commit&gt;</em>&#8230;&#8203;]
<code>git</code> <code>merge</code> (<code>--continue</code> | <code>--abort</code> | <code>--quit</code>)</pre>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_description">DESCRIPTION</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Incorporates changes from the named commits (since the time their
histories diverged from the current branch) into the current
branch.  This command is used by <code>git</code> <code>pull</code> to incorporate changes
from another repository and can be used by hand to merge changes
from one branch into another.</p>
</div>
<div class="paragraph">
<p>Assume the following history exists and the current branch is
<code>master</code>:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>          A---B---C topic
         /
    D---E---F---G master</pre>
</div>
</div>
<div class="paragraph">
<p>Then <code>git</code> <code>merge</code> <code>topic</code> will replay the changes made on the
<code>topic</code> branch since it diverged from <code>master</code> (i.e., <code>E</code>) until
its current commit (<code>C</code>) on top of <code>master</code>, and record the result
in a new commit along with the names of the two parent commits and
a log message from the user describing the changes. Before the operation,
<code>ORIG_HEAD</code> is set to the tip of the current branch (<code>G</code>).</p>
</div>
<div class="listingblock">
<div class="content">
<pre>          A---B---C topic
         /         \
    D---E---F---G---H master</pre>
</div>
</div>
<div class="paragraph">
<p>A merge stops if there&#8217;s a conflict that cannot be resolved
automatically or if <code>--no-commit</code> was provided when initiating the
merge. At that point you can run <code>git</code> <code>merge</code> <code>--abort</code> or <code>git</code> <code>merge</code>
<code>--continue</code>.</p>
</div>
<div class="paragraph">
<p><code>git</code> <code>merge</code> <code>--abort</code> will abort the merge process and try to reconstruct
the pre-merge state. However, if there were uncommitted changes when the
merge started (and especially if those changes were further modified
after the merge was started), <code>git</code> <code>merge</code> <code>--abort</code> will in some cases be
unable to reconstruct the original (pre-merge) changes. Therefore:</p>
</div>
<div class="admonitionblock warning">
<table>
<tr>
<td class="icon">
<div class="title">Warning</div>
</td>
<td class="content">
Running <code>git</code> <code>merge</code> with non-trivial uncommitted changes is
discouraged: while possible, it may leave you in a state that is hard to
back out of in the case of a conflict.
</td>
</tr>
</table>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_options">OPTIONS</h2>
<div class="sectionbody">
<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>.</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).
The <code>--edit</code> (or <code>-e</code>) option is still useful if you are
giving a draft message with the <code>-m</code> option from the command line
and want to edit it in the editor.</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</code></dt>
<dt class="hdlist1"><code>--no-ff</code></dt>
<dt class="hdlist1"><code>--ff-only</code></dt>
<dd>
<p>Specifies how a merge is handled when the merged-in history is
already a descendant of the current history.  <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>
<div class="paragraph">
<p>With <code>--ff-only</code>, resolve the merge as a fast-forward when possible.
When not possible, refuse to merge and exit with a non-zero status.</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>.</p>
<div class="paragraph">
<p>With <code>--no-log</code> do not list one-line descriptions from the
actual commits being merged.</p>
</div>
</dd>
<dt class="hdlist1"><code>--signoff</code></dt>
<dt class="hdlist1"><code>--no-signoff</code></dt>
<dd>
<p>Add a <code>Signed-off-by</code> trailer by the committer at the end of the commit
log message.  The meaning of a signoff depends on the project
to which you&#8217;re committing.  For example, it may certify that
the committer has the rights to submit the work under the
project&#8217;s license or agrees to some contributor representation,
such as a Developer Certificate of Origin.
(See <a href="https://developercertificate.org" class="bare">https://developercertificate.org</a> for the one used by the
Linux kernel and Git projects.)  Consult the documentation or
leadership of the project to which you&#8217;re contributing to
understand how the signoffs are used in that project.</p>
<div class="paragraph">
<p>The <code>--no-signoff</code> option can be used to countermand an earlier <code>--signoff</code>
option on the command line.</p>
</div>
</dd>
<dt class="hdlist1"><code>--stat</code></dt>
<dt class="hdlist1"><code>-n</code></dt>
<dt class="hdlist1"><code>--no-stat</code></dt>
<dd>
<p>Show a diffstat at the end of the merge. The diffstat is also
controlled by the configuration option merge.stat.</p>
<div class="paragraph">
<p>With <code>-n</code> or <code>--no-stat</code> do not show a diffstat at the end of the
merge.</p>
</div>
</dd>
<dt class="hdlist1"><code>--compact-summary</code></dt>
<dd>
<p>Show a compact-summary at the end of the merge.</p>
</dd>
<dt class="hdlist1"><code>--squash</code></dt>
<dt class="hdlist1"><code>--no-squash</code></dt>
<dd>
<p>Produce the working tree and index state as if a real merge
happened (except for the merge information), but do not actually
make a commit, move the <code>HEAD</code>, or record <code>$GIT_DIR/MERGE_HEAD</code>
(to cause the next <code>git</code> <code>commit</code> command to create a merge
commit).  This allows you to create a single commit on top of
the current branch whose effect is the same as merging another
branch (or more in case of an octopus).</p>
<div class="paragraph">
<p>With <code>--no-squash</code> perform the merge and commit the result. This
option can be used to override <code>--squash</code>.</p>
</div>
<div class="paragraph">
<p>With <code>--squash</code>, <code>--commit</code> is not allowed, and will fail.</p>
</div>
</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>.</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>
</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>-q</code></dt>
<dt class="hdlist1"><code>--quiet</code></dt>
<dd>
<p>Operate quietly. Implies <code>--no-progress</code>.</p>
</dd>
<dt class="hdlist1"><code>-v</code></dt>
<dt class="hdlist1"><code>--verbose</code></dt>
<dd>
<p>Be verbose.</p>
</dd>
<dt class="hdlist1"><code>--progress</code></dt>
<dt class="hdlist1"><code>--no-progress</code></dt>
<dd>
<p>Turn progress on/off explicitly. If neither is specified,
progress is shown if standard error is connected to a terminal.
Note that not all merge strategies may support progress
reporting.</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>
</dd>
<dt class="hdlist1"><code>-m</code> <em>&lt;msg&gt;</em></dt>
<dd>
<p>Set the commit message to be used for the merge commit (in
case one is created).</p>
<div class="paragraph">
<p>If <code>--log</code> is specified, a shortlog of the commits being merged
will be appended to the specified message.</p>
</div>
<div class="paragraph">
<p>The <code>git</code> <code>fmt-merge-msg</code> command can be
used to give a good default for automated <code>git</code> <code>merge</code>
invocations. The automated message can include the branch description.</p>
</div>
</dd>
<dt class="hdlist1"><code>--into-name</code> <em>&lt;branch&gt;</em></dt>
<dd>
<p>Prepare the default merge message as if merging to the branch
<em>&lt;branch&gt;</em>, instead of the name of the real branch to which
the merge is made.</p>
</dd>
<dt class="hdlist1"><code>-F</code> <em>&lt;file&gt;</em></dt>
<dt class="hdlist1"><code>--file=</code><em>&lt;file&gt;</em></dt>
<dd>
<p>Read the commit message to be used for the merge commit (in
case one is created).</p>
<div class="paragraph">
<p>If <code>--log</code> is specified, a shortlog of the commits being merged
will be appended to the specified message.</p>
</div>
</dd>
<dt class="hdlist1"><code>--rerere-autoupdate</code></dt>
<dt class="hdlist1"><code>--no-rerere-autoupdate</code></dt>
<dd>
<p>After the rerere mechanism reuses a recorded resolution on
the current conflict to update the files in the working
tree, allow it to also update the index with the result of
resolution.  <code>--no-rerere-autoupdate</code> is a good way to
double-check what <code>rerere</code> did and catch potential
mismerges, before committing the result to the index with a
separate <code>git</code> <code>add</code>.</p>
</dd>
<dt class="hdlist1"><code>--overwrite-ignore</code></dt>
<dt class="hdlist1"><code>--no-overwrite-ignore</code></dt>
<dd>
<p>Silently overwrite ignored files from the merge result. This
is the default behavior. Use <code>--no-overwrite-ignore</code> to abort.</p>
</dd>
<dt class="hdlist1"><code>--abort</code></dt>
<dd>
<p>Abort the current conflict resolution process, and
try to reconstruct the pre-merge state. If an autostash entry is
present, apply it to the worktree.</p>
<div class="paragraph">
<p>If there were uncommitted worktree changes present when the merge
started, <code>git</code> <code>merge</code> <code>--abort</code> will in some cases be unable to
reconstruct these changes. It is therefore recommended to always
commit or stash your changes before running <code>git</code> <code>merge</code>.</p>
</div>
<div class="paragraph">
<p><code>git</code> <code>merge</code> <code>--abort</code> is equivalent to <code>git</code> <code>reset</code> <code>--merge</code> when
<code>MERGE_HEAD</code> is present unless <code>MERGE_AUTOSTASH</code> is also present in
which case <code>git</code> <code>merge</code> <code>--abort</code> applies the stash entry to the worktree
whereas <code>git</code> <code>reset</code> <code>--merge</code> will save the stashed changes in the stash
list.</p>
</div>
</dd>
<dt class="hdlist1"><code>--quit</code></dt>
<dd>
<p>Forget about the current merge in progress. Leave the index
and the working tree as-is. If <code>MERGE_AUTOSTASH</code> is present, the
stash entry will be saved to the stash list.</p>
</dd>
<dt class="hdlist1"><code>--continue</code></dt>
<dd>
<p>After a <code>git</code> <code>merge</code> stops due to conflicts you can conclude the
merge by running <code>git</code> <code>merge</code> <code>--continue</code> (see "HOW TO RESOLVE
CONFLICTS" section below).</p>
</dd>
<dt class="hdlist1"><em>&lt;commit&gt;</em>...</dt>
<dd>
<p>Commits, usually other branch heads, to merge into our branch.
Specifying more than one commit will create a merge with
more than two parents (affectionately called an Octopus merge).</p>
<div class="paragraph">
<p>If no commit is given from the command line, merge the remote-tracking
branches that the current branch is configured to use as its upstream.
See also the configuration section of this manual page.</p>
</div>
<div class="paragraph">
<p>When <code>FETCH_HEAD</code> (and no other commit) is specified, the branches
recorded in the .<code>git/FETCH_HEAD</code> file by the previous invocation
of <code>git</code> <code>fetch</code> for merging are merged to the current branch.</p>
</div>
</dd>
</dl>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_pre_merge_checks">PRE-MERGE CHECKS</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Before applying outside changes, you should get your own work in
good shape and committed locally, so it will not be clobbered if
there are conflicts.  See also <a href="git-stash.html">git-stash(1)</a>.
<code>git</code> <code>pull</code> and <code>git</code> <code>merge</code> will stop without doing anything when
local uncommitted changes overlap with files that <code>git</code> <code>pull</code>/<code>git</code>
<code>merge</code> may need to update.</p>
</div>
<div class="paragraph">
<p>To avoid recording unrelated changes in the merge commit,
<code>git</code> <code>pull</code> and <code>git</code> <code>merge</code> will also abort if there are any changes
registered in the index relative to the <code>HEAD</code> commit.  (Special
narrow exceptions to this rule may exist depending on which merge
strategy is in use, but generally, the index must match <code>HEAD</code>.)</p>
</div>
<div class="paragraph">
<p>If all named commits are already ancestors of <code>HEAD</code>, <code>git</code> <code>merge</code>
will exit early with the message "Already up to date."</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_fast_forward_merge">FAST-FORWARD MERGE</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Often the current branch head is an ancestor of the named commit.
This is the most common case especially when invoked from <code>git</code>
<code>pull</code>: you are tracking an upstream repository, you have committed
no local changes, and now you want to update to a newer upstream
revision.  In this case, a new commit is not needed to store the
combined history; instead, the <code>HEAD</code> (along with the index) is
updated to point at the named commit, without creating an extra
merge commit.</p>
</div>
<div class="paragraph">
<p>This behavior can be suppressed with the <code>--no-ff</code> option.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_true_merge">TRUE MERGE</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Except in a fast-forward merge (see above), the branches to be
merged must be tied together by a merge commit that has both of them
as its parents.</p>
</div>
<div class="paragraph">
<p>A merged version reconciling the changes from all branches to be
merged is committed, and your <code>HEAD</code>, index, and working tree are
updated to it.  It is possible to have modifications in the working
tree as long as they do not overlap; the update will preserve them.</p>
</div>
<div class="paragraph">
<p>When it is not obvious how to reconcile the changes, the following
happens:</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>The <code>HEAD</code> pointer stays the same.</p>
</li>
<li>
<p>The <code>MERGE_HEAD</code> ref is set to point to the other branch head.</p>
</li>
<li>
<p>Paths that merged cleanly are updated both in the index file and
in your working tree.</p>
</li>
<li>
<p>For conflicting paths, the index file records up to three
versions: stage 1 stores the version from the common ancestor,
stage 2 from <code>HEAD</code>, and stage 3 from <code>MERGE_HEAD</code> (you
can inspect the stages with <code>git</code> <code>ls-files</code> <code>-u</code>).  The working
tree files contain the result of the merge operation; i.e. 3-way
merge results with familiar conflict markers &lt;&lt;&lt; <code>===</code> &gt;&gt;&gt;.</p>
</li>
<li>
<p>A ref named <code>AUTO_MERGE</code> is written, pointing to a tree
corresponding to the current content of the working tree (including
conflict markers for textual conflicts).  Note that this ref is only
written when the <code>ort</code> merge strategy is used (the default).</p>
</li>
<li>
<p>No other changes are made.  In particular, the local
modifications you had before you started merge will stay the
same and the index entries for them stay as they were,
i.e. matching <code>HEAD</code>.</p>
</li>
</ol>
</div>
<div class="paragraph">
<p>If you tried a merge which resulted in complex conflicts and
want to start over, you can recover with <code>git</code> <code>merge</code> <code>--abort</code>.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_merging_tag">MERGING TAG</h2>
<div class="sectionbody">
<div class="paragraph">
<p>When merging an annotated (and possibly signed) tag, Git always
creates a merge commit even if a fast-forward merge is possible, and
the commit message template is prepared with the tag message.
Additionally, if the tag is signed, the signature check is reported
as a comment in the message template. See also <a href="git-tag.html">git-tag(1)</a>.</p>
</div>
<div class="paragraph">
<p>When you want to just integrate with the work leading to the commit
that happens to be tagged, e.g. synchronizing with an upstream
release point, you may not want to make an unnecessary merge commit.</p>
</div>
<div class="paragraph">
<p>In such a case, you can "unwrap" the tag yourself before feeding it
to <code>git</code> <code>merge</code>, or pass <code>--ff-only</code> when you do not have any work on
your own. e.g.</p>
</div>
<div class="listingblock">
<div class="content">
<pre>git fetch origin
git merge v1.2.3^0
git merge --ff-only v1.2.3</pre>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_how_conflicts_are_presented">HOW CONFLICTS ARE PRESENTED</h2>
<div class="sectionbody">
<div class="paragraph">
<p>During a merge, the working tree files are updated to reflect the result
of the merge.  Among the changes made to the common ancestor&#8217;s version,
non-overlapping ones (that is, you changed an area of the file while the
other side left that area intact, or vice versa) are incorporated in the
final result verbatim.  When both sides made changes to the same area,
however, Git cannot randomly pick one side over the other, and asks you to
resolve it by leaving what both sides did to that area.</p>
</div>
<div class="paragraph">
<p>By default, Git uses the same style as the one used by the "merge" program
from the RCS suite to present such a conflicted hunk, like this:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>Here are lines that are either unchanged from the common
ancestor, or cleanly resolved because only one side changed,
or cleanly resolved because both sides changed the same way.
&lt;&lt;&lt;&lt;&lt;&lt;&lt; yours:sample.txt
Conflict resolution is hard;
let's go shopping.
=======
Git makes conflict resolution easy.
&gt;&gt;&gt;&gt;&gt;&gt;&gt; theirs:sample.txt
And here is another line that is cleanly resolved or unmodified.</pre>
</div>
</div>
<div class="paragraph">
<p>The area where a pair of conflicting changes happened is marked with markers
&lt;&lt;&lt;&lt;&lt;&lt;&lt;, <code>=======</code>, and &gt;&gt;&gt;&gt;&gt;&gt;&gt;.  The part before the <code>=======</code>
is typically your side, and the part afterwards is typically their side.</p>
</div>
<div class="paragraph">
<p>The default format does not show what the original said in the conflicting
area.  You cannot tell how many lines are deleted and replaced with
Barbie&#8217;s remark on your side.  The only thing you can tell is that your
side wants to say it is hard and you&#8217;d prefer to go shopping, while the
other side wants to claim it is easy.</p>
</div>
<div class="paragraph">
<p>An alternative style can be used by setting the <code>merge.conflictStyle</code>
configuration variable to either <code>diff3</code> or <code>zdiff3</code>.  In <code>diff3</code>
style, the above conflict may look like this:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>Here are lines that are either unchanged from the common
ancestor, or cleanly resolved because only one side changed,
&lt;&lt;&lt;&lt;&lt;&lt;&lt; yours:sample.txt
or cleanly resolved because both sides changed the same way.
Conflict resolution is hard;
let's go shopping.
||||||| base:sample.txt
or cleanly resolved because both sides changed identically.
Conflict resolution is hard.
=======
or cleanly resolved because both sides changed the same way.
Git makes conflict resolution easy.
&gt;&gt;&gt;&gt;&gt;&gt;&gt; theirs:sample.txt
And here is another line that is cleanly resolved or unmodified.</pre>
</div>
</div>
<div class="paragraph">
<p>while in <code>zdiff3</code> style, it may look like this:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>Here are lines that are either unchanged from the common
ancestor, or cleanly resolved because only one side changed,
or cleanly resolved because both sides changed the same way.
&lt;&lt;&lt;&lt;&lt;&lt;&lt; yours:sample.txt
Conflict resolution is hard;
let's go shopping.
||||||| base:sample.txt
or cleanly resolved because both sides changed identically.
Conflict resolution is hard.
=======
Git makes conflict resolution easy.
&gt;&gt;&gt;&gt;&gt;&gt;&gt; theirs:sample.txt
And here is another line that is cleanly resolved or unmodified.</pre>
</div>
</div>
<div class="paragraph">
<p>In addition to the &lt;&lt;&lt;&lt;&lt;&lt;&lt;, <code>=======</code>, and &gt;&gt;&gt;&gt;&gt;&gt;&gt; markers, it uses
another ||||||| marker that is followed by the original text.  You can
tell that the original just stated a fact, and your side simply gave in to
that statement and gave up, while the other side tried to have a more
positive attitude.  You can sometimes come up with a better resolution by
viewing the original.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_how_to_resolve_conflicts">HOW TO RESOLVE CONFLICTS</h2>
<div class="sectionbody">
<div class="paragraph">
<p>After seeing a conflict, you can do two things:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>Decide not to merge.  The only clean-ups you need are to reset
the index file to the <code>HEAD</code> commit to reverse 2. and to clean
up working tree changes made by 2. and 3.; <code>git</code> <code>merge</code> <code>--abort</code>
can be used for this.</p>
</li>
<li>
<p>Resolve the conflicts.  Git will mark the conflicts in
the working tree.  Edit the files into shape and
<code>git</code> <code>add</code> them to the index.  Use <code>git</code> <code>commit</code> or
<code>git</code> <code>merge</code> <code>--continue</code> to seal the deal. The latter command
checks whether there is a (interrupted) merge in progress
before calling <code>git</code> <code>commit</code>.</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>You can work through the conflict with a number of tools:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>Use a mergetool.  <code>git</code> <code>mergetool</code> to launch a graphical
mergetool which will work through the merge with you.</p>
</li>
<li>
<p>Look at the diffs.  <code>git</code> <code>diff</code> will show a three-way diff,
highlighting changes from both the <code>HEAD</code> and <code>MERGE_HEAD</code>
versions. <code>git</code> <code>diff</code> <code>AUTO_MERGE</code> will show what changes you&#8217;ve
made so far to resolve textual conflicts.</p>
</li>
<li>
<p>Look at the diffs from each branch. <code>git</code> <code>log</code> <code>--merge</code> <code>-p</code> <em>&lt;path&gt;</em>
will show diffs first for the <code>HEAD</code> version and then the
<code>MERGE_HEAD</code> version.</p>
</li>
<li>
<p>Look at the originals.  <code>git</code> <code>show</code> <code>:1:filename</code> shows the
common ancestor, <code>git</code> <code>show</code> <code>:2:filename</code> shows the <code>HEAD</code>
version, and <code>git</code> <code>show</code> <code>:3:filename</code> shows the <code>MERGE_HEAD</code>
version.</p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_examples">EXAMPLES</h2>
<div class="sectionbody">
<div class="ulist">
<ul>
<li>
<p>Merge branches <code>fixes</code> and <code>enhancements</code> on top of
the current branch, making an octopus merge:</p>
<div class="listingblock">
<div class="content">
<pre>$ git merge fixes enhancements</pre>
</div>
</div>
</li>
<li>
<p>Merge branch <code>obsolete</code> into the current branch, using <code>ours</code>
merge strategy:</p>
<div class="listingblock">
<div class="content">
<pre>$ git merge -s ours obsolete</pre>
</div>
</div>
</li>
<li>
<p>Merge branch <code>maint</code> into the current branch, but do not make
a new commit automatically:</p>
<div class="listingblock">
<div class="content">
<pre>$ git merge --no-commit maint</pre>
</div>
</div>
<div class="paragraph">
<p>This can be used when you want to include further changes to the
merge, or want to write your own merge commit message.</p>
</div>
<div class="paragraph">
<p>You should refrain from abusing this option to sneak substantial
changes into a merge commit.  Small fixups like bumping
release/version name would be acceptable.</p>
</div>
</li>
</ul>
</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="_configuration">CONFIGURATION</h2>
<div class="sectionbody">
<div class="dlist">
<dl>
<dt class="hdlist1"><code>branch.</code><em>&lt;name&gt;</em><code>.mergeOptions</code></dt>
<dd>
<p>Sets default options for merging into branch <em>&lt;name&gt;</em>. The syntax and
supported options are the same as those of <code>git</code> <code>merge</code>, but option
values containing whitespace characters are currently not supported.</p>
</dd>
</dl>
</div>
<div class="paragraph">
<p>Everything above this line in this section isn&#8217;t included from the
<a href="git-config.html">git-config(1)</a> documentation. The content that follows is the
same as what&#8217;s found there:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><code>merge.conflictStyle</code></dt>
<dd>
<p>Specify the style in which conflicted hunks are written out to
working tree files upon merge.  The default is "merge", which
shows a &lt;&lt;&lt;&lt;&lt;&lt;&lt; conflict marker, changes made by one side,
a <code>=======</code> marker, changes made by the other side, and then
a &gt;&gt;&gt;&gt;&gt;&gt;&gt; marker.  An alternate style, "diff3", adds a |||||||
marker and the original text before the <code>=======</code> marker.  The
"merge" style tends to produce smaller conflict regions than diff3,
both because of the exclusion of the original text, and because
when a subset of lines match on the two sides, they are just pulled
out of the conflict region.  Another alternate style, "zdiff3", is
similar to diff3 but removes matching lines on the two sides from
the conflict region when those matching lines appear near either
the beginning or end of a conflict region.</p>
</dd>
<dt class="hdlist1"><code>merge.defaultToUpstream</code></dt>
<dd>
<p>If merge is called without any commit argument, merge the upstream
branches configured for the current branch by using their last
observed values stored in their remote-tracking branches.
The values of the <code>branch.</code>&lt;current <code>branch</code>&gt;<code>.merge</code> that name the
branches at the remote named by <code>branch.</code><em>&lt;current-branch&gt;</em><code>.remote</code>
are consulted, and then they are mapped via <code>remote.</code><em>&lt;remote&gt;</em><code>.fetch</code>
to their corresponding remote-tracking branches, and the tips of
these tracking branches are merged. Defaults to true.</p>
</dd>
<dt class="hdlist1"><code>merge.ff</code></dt>
<dd>
<p>By default, Git does not create an extra merge commit when merging
a commit that is a descendant of the current commit. Instead, the
tip of the current branch is fast-forwarded. When set to <code>false</code>,
this variable tells Git to create an extra merge commit in such
a case (equivalent to giving the <code>--no-ff</code> option from the command
line). When set to <code>only</code>, only such fast-forward merges are
allowed (equivalent to giving the <code>--ff-only</code> option from the
command line).</p>
</dd>
<dt class="hdlist1"><code>merge.verifySignatures</code></dt>
<dd>
<p>If true, this is equivalent to the <code>--verify-signatures</code> command
line option. See <a href="git-merge.html">git-merge(1)</a> for details.</p>
</dd>
<dt class="hdlist1"><code>merge.branchdesc</code></dt>
<dd>
<p>In addition to branch names, populate the log message with
the branch description text associated with them.  Defaults
to false.</p>
</dd>
<dt class="hdlist1"><code>merge.log</code></dt>
<dd>
<p>In addition to branch names, populate the log message with at
most the specified number of one-line descriptions from the
actual commits that are being merged.  Defaults to false, and
true is a synonym for 20.</p>
</dd>
<dt class="hdlist1"><code>merge.suppressDest</code></dt>
<dd>
<p>By adding a glob that matches the names of integration
branches to this multi-valued configuration variable, the
default merge message computed for merges into these
integration branches will omit "into <em>&lt;branch-name&gt;</em>" from
its title.</p>
<div class="paragraph">
<p>An element with an empty value can be used to clear the list
of globs accumulated from previous configuration entries.
When there is no <code>merge.suppressDest</code> variable defined, the
default value of <code>master</code> is used for backward compatibility.</p>
</div>
</dd>
<dt class="hdlist1"><code>merge.renameLimit</code></dt>
<dd>
<p>The number of files to consider in the exhaustive portion of
rename detection during a merge.  If not specified, defaults
to the value of <code>diff.renameLimit</code>.  If neither
<code>merge.renameLimit</code> nor <code>diff.renameLimit</code> are specified,
currently defaults to 7000.  This setting has no effect if
rename detection is turned off.</p>
</dd>
<dt class="hdlist1"><code>merge.renames</code></dt>
<dd>
<p>Whether Git detects renames.  If set to <code>false</code>, rename detection
is disabled. If set to <code>true</code>, basic rename detection is enabled.
Defaults to the value of diff.renames.</p>
</dd>
<dt class="hdlist1"><code>merge.directoryRenames</code></dt>
<dd>
<p>Whether Git detects directory renames, affecting what happens at
merge time to new files added to a directory on one side of
history when that directory was renamed on the other side of
history. Possible values are:</p>
<div class="openblock">
<div class="content">
<div class="dlist">
<dl>
<dt class="hdlist1"><code>false</code></dt>
<dd>
<p>Directory rename detection is disabled, meaning that such new files will be
left behind in the old directory.</p>
</dd>
<dt class="hdlist1"><code>true</code></dt>
<dd>
<p>Directory rename detection is enabled, meaning that such new files will be
moved into the new directory.</p>
</dd>
<dt class="hdlist1"><code>conflict</code></dt>
<dd>
<p>A conflict will be reported for such paths.</p>
</dd>
</dl>
</div>
</div>
</div>
<div class="paragraph">
<p>If <code>merge.renames</code> is <code>false</code>, <code>merge.directoryRenames</code> is ignored and treated
as <code>false</code>. Defaults to <code>conflict</code>.</p>
</div>
</dd>
<dt class="hdlist1"><code>merge.renormalize</code></dt>
<dd>
<p>Tell Git that canonical representation of files in the
repository has changed over time (e.g. earlier commits record
text files with <em>CRLF</em> line endings, but recent ones use <em>LF</em> line
endings).  In such a repository, for each file where a
three-way content merge is needed, Git can convert the data
recorded in commits to a canonical form before performing a
merge to reduce unnecessary conflicts.  For more information,
see section "Merging branches with differing checkin/checkout
attributes" in <a href="gitattributes.html">gitattributes(5)</a>.</p>
</dd>
<dt class="hdlist1"><code>merge.stat</code></dt>
<dd>
<p>What, if anything, to print between <code>ORIG_HEAD</code> and the merge result
at the end of the merge.  Possible values are:</p>
<div class="openblock">
<div class="content">
<div class="dlist">
<dl>
<dt class="hdlist1"><code>false</code></dt>
<dd>
<p>Show nothing.</p>
</dd>
<dt class="hdlist1"><code>true</code></dt>
<dd>
<p>Show <code>git</code> <code>diff</code> <code>--diffstat</code> <code>--summary</code> <code>ORIG_HEAD</code>.</p>
</dd>
<dt class="hdlist1"><code>compact</code></dt>
<dd>
<p>Show <code>git</code> <code>diff</code> <code>--compact-summary</code> <code>ORIG_HEAD</code>.</p>
</dd>
</dl>
</div>
</div>
</div>
<div class="paragraph">
<p>but any unrecognised value (e.g., a value added by a future version of
Git) is taken as <code>true</code> instead of triggering an error.  Defaults to
<code>true</code>.</p>
</div>
</dd>
<dt class="hdlist1"><code>merge.autoStash</code></dt>
<dd>
<p>When set to <code>true</code>, automatically create a temporary stash entry
before the operation begins, and apply it after the operation
ends.  This means that you can run merge on a dirty worktree.
However, use with care: the final stash application after a
successful merge might result in non-trivial conflicts.
This option can be overridden by the <code>--no-autostash</code> and
<code>--autostash</code> options of <a href="git-merge.html">git-merge(1)</a>.
Defaults to <code>false</code>.</p>
</dd>
<dt class="hdlist1"><code>merge.tool</code></dt>
<dd>
<p>Controls which merge tool is used by <a href="git-mergetool.html">git-mergetool(1)</a>.
The list below shows the valid built-in values.
Any other value is treated as a custom merge tool and requires
that a corresponding <code>mergetool.</code><em>&lt;tool&gt;</em><code>.cmd</code> variable is defined.</p>
</dd>
<dt class="hdlist1"><code>merge.guitool</code></dt>
<dd>
<p>Controls which merge tool is used by <a href="git-mergetool.html">git-mergetool(1)</a> when the
<code>-g</code>/<code>--gui</code> flag is specified. The list below shows the valid built-in values.
Any other value is treated as a custom merge tool and requires that a
corresponding <code>mergetool.</code><em>&lt;guitool&gt;</em><code>.cmd</code> variable is defined.</p>
<div class="dlist">
<dl>
<dt class="hdlist1"><code>araxis</code></dt>
<dd>
<p>Use Araxis Merge (requires a graphical session)</p>
</dd>
<dt class="hdlist1"><code>bc</code></dt>
<dd>
<p>Use Beyond Compare (requires a graphical session)</p>
</dd>
<dt class="hdlist1"><code>bc3</code></dt>
<dd>
<p>Use Beyond Compare (requires a graphical session)</p>
</dd>
<dt class="hdlist1"><code>bc4</code></dt>
<dd>
<p>Use Beyond Compare (requires a graphical session)</p>
</dd>
<dt class="hdlist1"><code>codecompare</code></dt>
<dd>
<p>Use Code Compare (requires a graphical session)</p>
</dd>
<dt class="hdlist1"><code>deltawalker</code></dt>
<dd>
<p>Use DeltaWalker (requires a graphical session)</p>
</dd>
<dt class="hdlist1"><code>diffmerge</code></dt>
<dd>
<p>Use DiffMerge (requires a graphical session)</p>
</dd>
<dt class="hdlist1"><code>diffuse</code></dt>
<dd>
<p>Use Diffuse (requires a graphical session)</p>
</dd>
<dt class="hdlist1"><code>ecmerge</code></dt>
<dd>
<p>Use ECMerge (requires a graphical session)</p>
</dd>
<dt class="hdlist1"><code>emerge</code></dt>
<dd>
<p>Use Emacs' Emerge</p>
</dd>
<dt class="hdlist1"><code>examdiff</code></dt>
<dd>
<p>Use ExamDiff Pro (requires a graphical session)</p>
</dd>
<dt class="hdlist1"><code>guiffy</code></dt>
<dd>
<p>Use Guiffy&#8217;s Diff Tool (requires a graphical session)</p>
</dd>
<dt class="hdlist1"><code>gvimdiff</code></dt>
<dd>
<p>Use gVim (requires a graphical session) with a custom layout (see <code>git</code> <code>help</code> <code>mergetool</code>'s <code>BACKEND</code> <code>SPECIFIC</code> <code>HINTS</code> section)</p>
</dd>
<dt class="hdlist1"><code>gvimdiff1</code></dt>
<dd>
<p>Use gVim (requires a graphical session) with a 2 panes layout (LOCAL and REMOTE)</p>
</dd>
<dt class="hdlist1"><code>gvimdiff2</code></dt>
<dd>
<p>Use gVim (requires a graphical session) with a 3 panes layout (LOCAL, MERGED and REMOTE)</p>
</dd>
<dt class="hdlist1"><code>gvimdiff3</code></dt>
<dd>
<p>Use gVim (requires a graphical session) where only the MERGED file is shown</p>
</dd>
<dt class="hdlist1"><code>kdiff3</code></dt>
<dd>
<p>Use KDiff3 (requires a graphical session)</p>
</dd>
<dt class="hdlist1"><code>meld</code></dt>
<dd>
<p>Use Meld (requires a graphical session) with optional <code>auto</code> <code>merge</code> (see <code>git</code> <code>help</code> <code>mergetool</code>'s <code>CONFIGURATION</code> section)</p>
</dd>
<dt class="hdlist1"><code>nvimdiff</code></dt>
<dd>
<p>Use Neovim with a custom layout (see <code>git</code> <code>help</code> <code>mergetool</code>'s <code>BACKEND</code> <code>SPECIFIC</code> <code>HINTS</code> section)</p>
</dd>
<dt class="hdlist1"><code>nvimdiff1</code></dt>
<dd>
<p>Use Neovim with a 2 panes layout (LOCAL and REMOTE)</p>
</dd>
<dt class="hdlist1"><code>nvimdiff2</code></dt>
<dd>
<p>Use Neovim with a 3 panes layout (LOCAL, MERGED and REMOTE)</p>
</dd>
<dt class="hdlist1"><code>nvimdiff3</code></dt>
<dd>
<p>Use Neovim where only the MERGED file is shown</p>
</dd>
<dt class="hdlist1"><code>opendiff</code></dt>
<dd>
<p>Use FileMerge (requires a graphical session)</p>
</dd>
<dt class="hdlist1"><code>p4merge</code></dt>
<dd>
<p>Use HelixCore P4Merge (requires a graphical session)</p>
</dd>
<dt class="hdlist1"><code>smerge</code></dt>
<dd>
<p>Use Sublime Merge (requires a graphical session)</p>
</dd>
<dt class="hdlist1"><code>tkdiff</code></dt>
<dd>
<p>Use TkDiff (requires a graphical session)</p>
</dd>
<dt class="hdlist1"><code>tortoisemerge</code></dt>
<dd>
<p>Use TortoiseMerge (requires a graphical session)</p>
</dd>
<dt class="hdlist1"><code>vimdiff</code></dt>
<dd>
<p>Use Vim with a custom layout (see <code>git</code> <code>help</code> <code>mergetool</code>'s <code>BACKEND</code> <code>SPECIFIC</code> <code>HINTS</code> section)</p>
</dd>
<dt class="hdlist1"><code>vimdiff1</code></dt>
<dd>
<p>Use Vim with a 2 panes layout (LOCAL and REMOTE)</p>
</dd>
<dt class="hdlist1"><code>vimdiff2</code></dt>
<dd>
<p>Use Vim with a 3 panes layout (LOCAL, MERGED and REMOTE)</p>
</dd>
<dt class="hdlist1"><code>vimdiff3</code></dt>
<dd>
<p>Use Vim where only the MERGED file is shown</p>
</dd>
<dt class="hdlist1"><code>vscode</code></dt>
<dd>
<p>Use Visual Studio Code (requires a graphical session)</p>
</dd>
<dt class="hdlist1"><code>winmerge</code></dt>
<dd>
<p>Use WinMerge (requires a graphical session)</p>
</dd>
<dt class="hdlist1"><code>xxdiff</code></dt>
<dd>
<p>Use xxdiff (requires a graphical session)</p>
</dd>
</dl>
</div>
</dd>
<dt class="hdlist1"><code>merge.verbosity</code></dt>
<dd>
<p>Controls the amount of output shown by the recursive merge
strategy.  Level 0 outputs nothing except a final error
message if conflicts were detected. Level 1 outputs only
conflicts, 2 outputs conflicts and file changes.  Level 5 and
above outputs debugging information.  The default is level 2.
Can be overridden by the <code>GIT_MERGE_VERBOSITY</code> environment variable.</p>
</dd>
<dt class="hdlist1"><code>merge.</code><em>&lt;driver&gt;</em><code>.name</code></dt>
<dd>
<p>Defines a human-readable name for a custom low-level
merge driver.  See <a href="gitattributes.html">gitattributes(5)</a> for details.</p>
</dd>
<dt class="hdlist1"><code>merge.</code><em>&lt;driver&gt;</em><code>.driver</code></dt>
<dd>
<p>Defines the command that implements a custom low-level
merge driver.  See <a href="gitattributes.html">gitattributes(5)</a> for details.</p>
</dd>
<dt class="hdlist1"><code>merge.</code><em>&lt;driver&gt;</em><code>.recursive</code></dt>
<dd>
<p>Names a low-level merge driver to be used when
performing an internal merge between common ancestors.
See <a href="gitattributes.html">gitattributes(5)</a> for details.</p>
</dd>
</dl>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_see_also">SEE ALSO</h2>
<div class="sectionbody">
<div class="paragraph">
<p><a href="git-fmt-merge-msg.html">git-fmt-merge-msg(1)</a>, <a href="git-pull.html">git-pull(1)</a>,
<a href="gitattributes.html">gitattributes(5)</a>,
<a href="git-reset.html">git-reset(1)</a>,
<a href="git-diff.html">git-diff(1)</a>, <a href="git-ls-files.html">git-ls-files(1)</a>,
<a href="git-add.html">git-add(1)</a>, <a href="git-rm.html">git-rm(1)</a>,
<a href="git-mergetool.html">git-mergetool(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-07-14 12:11:05 -0700
</div>
</div>
</body>
</html>