<!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.20"/>
<title>git-rebase(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,body.toc2 #header>h1:nth-last-child(2){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}
#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{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-rebase(1) Manual Page</h1>
<h2 id="_name">NAME</h2>
<div class="sectionbody">
<p>git-rebase - Reapply commits on top of another base tip</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 rebase</em> [-i | --interactive] [&lt;options&gt;] [--exec &lt;cmd&gt;]
        [--onto &lt;newbase&gt; | --keep-base] [&lt;upstream&gt; [&lt;branch&gt;]]
<em>git rebase</em> [-i | --interactive] [&lt;options&gt;] [--exec &lt;cmd&gt;] [--onto &lt;newbase&gt;]
        --root [&lt;branch&gt;]
<em>git rebase</em> (--continue|--skip|--abort|--quit|--edit-todo|--show-current-patch)</pre>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_description">DESCRIPTION</h2>
<div class="sectionbody">
<div class="paragraph">
<p>If <em>&lt;branch&gt;</em> is specified, <code>git</code> <code>rebase</code> will perform an automatic
<code>git</code> <code>switch</code> <em>&lt;branch&gt;</em> before doing anything else.  Otherwise
it remains on the current branch.</p>
</div>
<div class="paragraph">
<p>If <em>&lt;upstream&gt;</em> is not specified, the upstream configured in
<code>branch.</code><em>&lt;name&gt;</em><code>.remote</code> and <code>branch.</code><em>&lt;name&gt;</em><code>.merge</code> options will be used (see
<a href="git-config.html">git-config(1)</a> for details) and the <code>--fork-point</code> option is
assumed.  If you are currently not on any branch or if the current
branch does not have a configured upstream, the rebase will abort.</p>
</div>
<div class="paragraph">
<p>All changes made by commits in the current branch but that are not
in <em>&lt;upstream&gt;</em> are saved to a temporary area.  This is the same set
of commits that would be shown by <code>git</code> <code>log</code> <em>&lt;upstream&gt;</em><code>..</code><code>HEAD</code>; or by
<code>git</code> <code>log</code> 'fork_point'<code>..</code><code>HEAD</code>, if <code>--fork-point</code> is active (see the
description on <code>--fork-point</code> below); or by <code>git</code> <code>log</code> <code>HEAD</code>, if the
<code>--root</code> option is specified.</p>
</div>
<div class="paragraph">
<p>The current branch is reset to <em>&lt;upstream&gt;</em> or <em>&lt;newbase&gt;</em> if the
<code>--onto</code> option was supplied.  This has the exact same effect as
<code>git</code> <code>reset</code> <code>--hard</code> <em>&lt;upstream&gt;</em> (or <em>&lt;newbase&gt;</em>). <code>ORIG_HEAD</code> is set
to point at the tip of the branch before the reset.</p>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<div class="title">Note</div>
</td>
<td class="content">
<code>ORIG_HEAD</code> is not guaranteed to still point to the previous branch tip
at the end of the rebase if other commands that write that pseudo-ref
(e.g. <code>git</code> <code>reset</code>) are used during the rebase. The previous branch tip,
however, is accessible using the reflog of the current branch
(i.e. <code>@</code>{1}, see <a href="gitrevisions.html">gitrevisions(7)</a>).
</td>
</tr>
</table>
</div>
<div class="paragraph">
<p>The commits that were previously saved into the temporary area are
then reapplied to the current branch, one by one, in order. Note that
any commits in <code>HEAD</code> which introduce the same textual changes as a commit
in <code>HEAD</code><code>..</code><em>&lt;upstream&gt;</em> are omitted (i.e., a patch already accepted upstream
with a different commit message or timestamp will be skipped).</p>
</div>
<div class="paragraph">
<p>It is possible that a merge failure will prevent this process from being
completely automatic.  You will have to resolve any such merge failure
and run <code>git</code> <code>rebase</code> <code>--continue</code>.  Another option is to bypass the commit
that caused the merge failure with <code>git</code> <code>rebase</code> <code>--skip</code>.  To check out the
original <em>&lt;branch&gt;</em> and remove the .<code>git/rebase-apply</code> working files, use
the command <code>git</code> <code>rebase</code> <code>--abort</code> instead.</p>
</div>
<div class="paragraph">
<p>Assume the following history exists and the current branch is "topic":</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>From this point, the result of either of the following commands:</p>
</div>
<div class="literalblock">
<div class="content">
<pre>git rebase master
git rebase master topic</pre>
</div>
</div>
<div class="paragraph">
<p>would be:</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><strong>NOTE:</strong> The latter form is just a short-hand of <code>git</code> <code>checkout</code> <code>topic</code>
followed by <code>git</code> <code>rebase</code> <code>master</code>. When rebase exits <code>topic</code> will
remain the checked-out branch.</p>
</div>
<div class="paragraph">
<p>If the upstream branch already contains a change you have made (e.g.,
because you mailed a patch which was applied upstream), then that commit
will be skipped and warnings will be issued (if the <em>merge</em> backend is
used).  For example, running <code>git</code> <code>rebase</code> <code>master</code> on the following
history (in which <code>A</code>' and <code>A</code> introduce the same set of changes, but
have different committer information):</p>
</div>
<div class="listingblock">
<div class="content">
<pre>          A---B---C topic
         /
    D---E---A'---F master</pre>
</div>
</div>
<div class="paragraph">
<p>will result in:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>                   B'---C' topic
                  /
    D---E---A'---F master</pre>
</div>
</div>
<div class="paragraph">
<p>Here is how you would transplant a topic branch based on one
branch to another, to pretend that you forked the topic branch
from the latter branch, using <code>rebase</code> <code>--onto</code>.</p>
</div>
<div class="paragraph">
<p>First let&#8217;s assume your <em>topic</em> is based on branch <em>next</em>.
For example, a feature developed in <em>topic</em> depends on some
functionality which is found in <em>next</em>.</p>
</div>
<div class="listingblock">
<div class="content">
<pre>    o---o---o---o---o  master
         \
          o---o---o---o---o  next
                           \
                            o---o---o  topic</pre>
</div>
</div>
<div class="paragraph">
<p>We want to make <em>topic</em> forked from branch <em>master</em>; for example,
because the functionality on which <em>topic</em> depends was merged into the
more stable <em>master</em> branch. We want our tree to look like this:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>    o---o---o---o---o  master
        |            \
        |             o'--o'--o'  topic
         \
          o---o---o---o---o  next</pre>
</div>
</div>
<div class="paragraph">
<p>We can get this using the following command:</p>
</div>
<div class="literalblock">
<div class="content">
<pre>git rebase --onto master next topic</pre>
</div>
</div>
<div class="paragraph">
<p>Another example of --onto option is to rebase part of a
branch.  If we have the following situation:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>                            H---I---J topicB
                           /
                  E---F---G  topicA
                 /
    A---B---C---D  master</pre>
</div>
</div>
<div class="paragraph">
<p>then the command</p>
</div>
<div class="literalblock">
<div class="content">
<pre>git rebase --onto master topicA topicB</pre>
</div>
</div>
<div class="paragraph">
<p>would result in:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>                 H'--I'--J'  topicB
                /
                | E---F---G  topicA
                |/
    A---B---C---D  master</pre>
</div>
</div>
<div class="paragraph">
<p>This is useful when topicB does not depend on topicA.</p>
</div>
<div class="paragraph">
<p>A range of commits could also be removed with rebase.  If we have
the following situation:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>    E---F---G---H---I---J  topicA</pre>
</div>
</div>
<div class="paragraph">
<p>then the command</p>
</div>
<div class="literalblock">
<div class="content">
<pre>git rebase --onto topicA~5 topicA~3 topicA</pre>
</div>
</div>
<div class="paragraph">
<p>would result in the removal of commits F and G:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>    E---H'---I'---J'  topicA</pre>
</div>
</div>
<div class="paragraph">
<p>This is useful if F and G were flawed in some way, or should not be
part of topicA.  Note that the argument to <code>--onto</code> and the <em>&lt;upstream&gt;</em>
parameter can be any valid commit-ish.</p>
</div>
<div class="paragraph">
<p>In case of conflict, <code>git</code> <code>rebase</code> will stop at the first problematic commit
and leave conflict markers in the tree.  You can use <code>git</code> <code>diff</code> to locate
the markers (&lt;&lt;&lt;&lt;&lt;&lt;) and make edits to resolve the conflict.  For each
file you edit, you need to tell Git that the conflict has been resolved,
typically this would be done with</p>
</div>
<div class="literalblock">
<div class="content">
<pre>git add &lt;filename&gt;</pre>
</div>
</div>
<div class="paragraph">
<p>After resolving the conflict manually and updating the index with the
desired resolution, you can continue the rebasing process with</p>
</div>
<div class="literalblock">
<div class="content">
<pre>git rebase --continue</pre>
</div>
</div>
<div class="paragraph">
<p>Alternatively, you can undo the <em>git rebase</em> with</p>
</div>
<div class="literalblock">
<div class="content">
<pre>git rebase --abort</pre>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_mode_options">MODE OPTIONS</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The options in this section cannot be used with any other option,
including not with each other:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1">--continue</dt>
<dd>
<p>Restart the rebasing process after having resolved a merge conflict.</p>
</dd>
<dt class="hdlist1">--skip</dt>
<dd>
<p>Restart the rebasing process by skipping the current patch.</p>
</dd>
<dt class="hdlist1">--abort</dt>
<dd>
<p>Abort the rebase operation and reset HEAD to the original
branch. If <em>&lt;branch&gt;</em> was provided when the rebase operation was
started, then <code>HEAD</code> will be reset to <em>&lt;branch&gt;</em>. Otherwise <code>HEAD</code>
will be reset to where it was when the rebase operation was
started.</p>
</dd>
<dt class="hdlist1">--quit</dt>
<dd>
<p>Abort the rebase operation but <code>HEAD</code> is not reset back to the
original branch. The index and working tree are also left
unchanged as a result. If a temporary stash entry was created
using <code>--autostash</code>, it will be saved to the stash list.</p>
</dd>
<dt class="hdlist1">--edit-todo</dt>
<dd>
<p>Edit the todo list during an interactive rebase.</p>
</dd>
<dt class="hdlist1">--show-current-patch</dt>
<dd>
<p>Show the current patch in an interactive rebase or when rebase
is stopped because of conflicts. This is the equivalent of
<code>git</code> <code>show</code> <code>REBASE_HEAD</code>.</p>
</dd>
</dl>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_options">OPTIONS</h2>
<div class="sectionbody">
<div class="dlist">
<dl>
<dt class="hdlist1">--onto &lt;newbase&gt;</dt>
<dd>
<p>Starting point at which to create the new commits. If the
<code>--onto</code> option is not specified, the starting point is
<em>&lt;upstream&gt;</em>.  May be any valid commit, and not just an
existing branch name.</p>
<div class="paragraph">
<p>As a special case, you may use "A...B" as a shortcut for the
merge base of A and B if there is exactly one merge base. You can
leave out at most one of A and B, in which case it defaults to HEAD.</p>
</div>
</dd>
<dt class="hdlist1">--keep-base</dt>
<dd>
<p>Set the starting point at which to create the new commits to the
merge base of <em>&lt;upstream&gt;</em> and <em>&lt;branch&gt;</em>. Running
<code>git</code> <code>rebase</code> <code>--keep-base</code> <em>&lt;upstream&gt;</em> <em>&lt;branch&gt;</em> is equivalent to
running
<code>git</code> <code>rebase</code> <code>--reapply-cherry-picks</code> <code>--no-fork-point</code> <code>--onto</code> <em>&lt;upstream&gt;</em><code>...</code><em>&lt;branch&gt;</em> <em>&lt;upstream&gt;</em> <em>&lt;branch&gt;</em>.</p>
<div class="paragraph">
<p>This option is useful in the case where one is developing a feature on
top of an upstream branch. While the feature is being worked on, the
upstream branch may advance and it may not be the best idea to keep
rebasing on top of the upstream but to keep the base commit as-is. As
the base commit is unchanged this option implies <code>--reapply-cherry-picks</code>
to avoid losing commits.</p>
</div>
<div class="paragraph">
<p>Although both this option and <code>--fork-point</code> find the merge base between
<em>&lt;upstream&gt;</em> and <em>&lt;branch&gt;</em>, this option uses the merge base as the <em>starting
point</em> on which new commits will be created, whereas <code>--fork-point</code> uses
the merge base to determine the <em>set of commits</em> which will be rebased.</p>
</div>
<div class="paragraph">
<p>See also INCOMPATIBLE OPTIONS below.</p>
</div>
</dd>
<dt class="hdlist1">&lt;upstream&gt;</dt>
<dd>
<p>Upstream branch to compare against.  May be any valid commit,
not just an existing branch name. Defaults to the configured
upstream for the current branch.</p>
</dd>
<dt class="hdlist1">&lt;branch&gt;</dt>
<dd>
<p>Working branch; defaults to <code>HEAD</code>.</p>
</dd>
<dt class="hdlist1">--apply</dt>
<dd>
<p>Use applying strategies to rebase (calling <code>git-am</code>
internally).  This option may become a no-op in the future
once the merge backend handles everything the apply one does.</p>
<div class="paragraph">
<p>See also INCOMPATIBLE OPTIONS below.</p>
</div>
</dd>
<dt class="hdlist1">--empty=(drop|keep|stop)</dt>
<dd>
<p>How to handle commits that are not empty to start and are not
clean cherry-picks of any upstream commit, but which become
empty after rebasing (because they contain a subset of already
upstream changes):</p>
<div class="openblock">
<div class="content">
<div class="dlist">
<dl>
<dt class="hdlist1"><code>drop</code></dt>
<dd>
<p>The commit will be dropped. This is the default behavior.</p>
</dd>
<dt class="hdlist1"><code>keep</code></dt>
<dd>
<p>The commit will be kept. This option is implied when <code>--exec</code> is
specified unless <code>-i</code>/<code>--interactive</code> is also specified.</p>
</dd>
<dt class="hdlist1"><code>stop</code></dt>
<dt class="hdlist1"><code>ask</code></dt>
<dd>
<p>The rebase will halt when the commit is applied, allowing you to
choose whether to drop it, edit files more, or just commit the empty
changes. This option is implied when <code>-i</code>/<code>--interactive</code> is
specified. <code>ask</code> is a deprecated synonym of <code>stop</code>.</p>
</dd>
</dl>
</div>
</div>
</div>
<div class="paragraph">
<p>Note that commits which start empty are kept (unless <code>--no-keep-empty</code>
is specified), and commits which are clean cherry-picks (as determined
by <code>git</code> <code>log</code> <code>--cherry-mark</code> ...) are detected and dropped as a
preliminary step (unless <code>--reapply-cherry-picks</code> or <code>--keep-base</code> is
passed).</p>
</div>
<div class="paragraph">
<p>See also INCOMPATIBLE OPTIONS below.</p>
</div>
</dd>
<dt class="hdlist1">--no-keep-empty</dt>
<dt class="hdlist1">--keep-empty</dt>
<dd>
<p>Do not keep commits that start empty before the rebase
(i.e. that do not change anything from its parent) in the
result.  The default is to keep commits which start empty,
since creating such commits requires passing the <code>--allow-empty</code>
override flag to <code>git</code> <code>commit</code>, signifying that a user is very
intentionally creating such a commit and thus wants to keep
it.</p>
<div class="paragraph">
<p>Usage of this flag will probably be rare, since you can get rid of
commits that start empty by just firing up an interactive rebase and
removing the lines corresponding to the commits you don&#8217;t want.  This
flag exists as a convenient shortcut, such as for cases where external
tools generate many empty commits and you want them all removed.</p>
</div>
<div class="paragraph">
<p>For commits which do not start empty but become empty after rebasing,
see the <code>--empty</code> flag.</p>
</div>
<div class="paragraph">
<p>See also INCOMPATIBLE OPTIONS below.</p>
</div>
</dd>
<dt class="hdlist1">--reapply-cherry-picks</dt>
<dt class="hdlist1">--no-reapply-cherry-picks</dt>
<dd>
<p>Reapply all clean cherry-picks of any upstream commit instead
of preemptively dropping them. (If these commits then become
empty after rebasing, because they contain a subset of already
upstream changes, the behavior towards them is controlled by
the <code>--empty</code> flag.)</p>
<div class="paragraph">
<p>In the absence of <code>--keep-base</code> (or if <code>--no-reapply-cherry-picks</code> is
given), these commits will be automatically dropped.  Because this
necessitates reading all upstream commits, this can be expensive in
repositories with a large number of upstream commits that need to be
read. When using the <em>merge</em> backend, warnings will be issued for each
dropped commit (unless <code>--quiet</code> is given). Advice will also be issued
unless <code>advice.skippedCherryPicks</code> is set to false (see
<a href="git-config.html">git-config(1)</a>).</p>
</div>
<div class="paragraph">
<p><code>--reapply-cherry-picks</code> allows rebase to forgo reading all upstream
commits, potentially improving performance.</p>
</div>
<div class="paragraph">
<p>See also INCOMPATIBLE OPTIONS below.</p>
</div>
</dd>
<dt class="hdlist1">--allow-empty-message</dt>
<dd>
<p>No-op.  Rebasing commits with an empty message used to fail
and this option would override that behavior, allowing commits
with empty messages to be rebased.  Now commits with an empty
message do not cause rebasing to halt.</p>
<div class="paragraph">
<p>See also INCOMPATIBLE OPTIONS below.</p>
</div>
</dd>
<dt class="hdlist1">-m</dt>
<dt class="hdlist1">--merge</dt>
<dd>
<p>Using merging strategies to rebase (default).</p>
<div class="paragraph">
<p>Note that a rebase merge works by replaying each commit from the working
branch on top of the <em>&lt;upstream&gt;</em> branch.  Because of this, when a merge
conflict happens, the side reported as <em>ours</em> is the so-far rebased
series, starting with <em>&lt;upstream&gt;</em>, and <em>theirs</em> is the working branch.
In other words, the sides are swapped.</p>
</div>
<div class="paragraph">
<p>See also INCOMPATIBLE OPTIONS below.</p>
</div>
</dd>
<dt class="hdlist1">-s &lt;strategy&gt;</dt>
<dt class="hdlist1">--strategy=&lt;strategy&gt;</dt>
<dd>
<p>Use the given merge strategy, instead of the default <code>ort</code>.
This implies <code>--merge</code>.</p>
<div class="paragraph">
<p>Because <code>git</code> <code>rebase</code> replays each commit from the working branch
on top of the <em>&lt;upstream&gt;</em> branch using the given strategy, using
the <code>ours</code> strategy simply empties all patches from the <em>&lt;branch&gt;</em>,
which makes little sense.</p>
</div>
<div class="paragraph">
<p>See also INCOMPATIBLE OPTIONS below.</p>
</div>
</dd>
<dt class="hdlist1">-X &lt;strategy-option&gt;</dt>
<dt class="hdlist1">--strategy-option=&lt;strategy-option&gt;</dt>
<dd>
<p>Pass the &lt;strategy-option&gt; through to the merge strategy.
This implies <code>--merge</code> and, if no strategy has been
specified, <code>-s</code> <code>ort</code>.  Note the reversal of <em>ours</em> and
<em>theirs</em> as noted above for the <code>-m</code> option.</p>
<div class="paragraph">
<p>See also INCOMPATIBLE OPTIONS below.</p>
</div>
</dd>
<dt class="hdlist1">--rerere-autoupdate</dt>
<dt class="hdlist1">--no-rerere-autoupdate</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">-S[&lt;keyid&gt;]</dt>
<dt class="hdlist1">--gpg-sign[=&lt;keyid&gt;]</dt>
<dt class="hdlist1">--no-gpg-sign</dt>
<dd>
<p>GPG-sign commits. The <code>keyid</code> 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">-q</dt>
<dt class="hdlist1">--quiet</dt>
<dd>
<p>Be quiet. Implies <code>--no-stat</code>.</p>
</dd>
<dt class="hdlist1">-v</dt>
<dt class="hdlist1">--verbose</dt>
<dd>
<p>Be verbose. Implies <code>--stat</code>.</p>
</dd>
<dt class="hdlist1">--stat</dt>
<dd>
<p>Show a diffstat of what changed upstream since the last rebase. The
diffstat is also controlled by the configuration option rebase.stat.</p>
</dd>
<dt class="hdlist1">-n</dt>
<dt class="hdlist1">--no-stat</dt>
<dd>
<p>Do not show a diffstat as part of the rebase process.</p>
</dd>
<dt class="hdlist1">--no-verify</dt>
<dd>
<p>This option bypasses the pre-rebase hook.  See also <a href="githooks.html">githooks(5)</a>.</p>
</dd>
<dt class="hdlist1">--verify</dt>
<dd>
<p>Allows the pre-rebase hook to run, which is the default.  This option can
be used to override <code>--no-verify</code>.  See also <a href="githooks.html">githooks(5)</a>.</p>
</dd>
<dt class="hdlist1">-C&lt;n&gt;</dt>
<dd>
<p>Ensure at least <em>&lt;n&gt;</em> lines of surrounding context match before
and after each change.  When fewer lines of surrounding
context exist they all must match.  By default no context is
ever ignored.  Implies <code>--apply</code>.</p>
<div class="paragraph">
<p>See also INCOMPATIBLE OPTIONS below.</p>
</div>
</dd>
<dt class="hdlist1">--no-ff</dt>
<dt class="hdlist1">--force-rebase</dt>
<dt class="hdlist1">-f</dt>
<dd>
<p>Individually replay all rebased commits instead of fast-forwarding
over the unchanged ones.  This ensures that the entire history of
the rebased branch is composed of new commits.</p>
<div class="paragraph">
<p>You may find this helpful after reverting a topic branch merge, as this option
recreates the topic branch with fresh commits so it can be remerged
successfully without needing to "revert the reversion" (see the
<a href="howto/revert-a-faulty-merge.html">revert-a-faulty-merge How-To</a> for
details).</p>
</div>
</dd>
<dt class="hdlist1">--fork-point</dt>
<dt class="hdlist1">--no-fork-point</dt>
<dd>
<p>Use reflog to find a better common ancestor between <em>&lt;upstream&gt;</em>
and <em>&lt;branch&gt;</em> when calculating which commits have been
introduced by <em>&lt;branch&gt;</em>.</p>
<div class="paragraph">
<p>When <code>--fork-point</code> is active, <em>fork_point</em> will be used instead of
<em>&lt;upstream&gt;</em> to calculate the set of commits to rebase, where
<em>fork_point</em> is the result of <code>git</code> <code>merge-base</code> <code>--fork-point</code> <em>&lt;upstream&gt;</em>
<em>&lt;branch&gt;</em> command (see <a href="git-merge-base.html">git-merge-base(1)</a>).  If <em>fork_point</em>
ends up being empty, the <em>&lt;upstream&gt;</em> will be used as a fallback.</p>
</div>
<div class="paragraph">
<p>If <em>&lt;upstream&gt;</em> or <code>--keep-base</code> is given on the command line, then
the default is <code>--no-fork-point</code>, otherwise the default is
<code>--fork-point</code>. See also <code>rebase.forkpoint</code> in <a href="git-config.html">git-config(1)</a>.</p>
</div>
<div class="paragraph">
<p>If your branch was based on <em>&lt;upstream&gt;</em> but <em>&lt;upstream&gt;</em> was rewound and
your branch contains commits which were dropped, this option can be used
with <code>--keep-base</code> in order to drop those commits from your branch.</p>
</div>
<div class="paragraph">
<p>See also INCOMPATIBLE OPTIONS below.</p>
</div>
</dd>
<dt class="hdlist1">--ignore-whitespace</dt>
<dd>
<p>Ignore whitespace differences when trying to reconcile
differences. Currently, each backend implements an approximation of
this behavior:</p>
<div class="dlist">
<dl>
<dt class="hdlist1">apply backend</dt>
<dd>
<p>When applying a patch, ignore changes in whitespace in context
lines. Unfortunately, this means that if the "old" lines being
replaced by the patch differ only in whitespace from the existing
file, you will get a merge conflict instead of a successful patch
application.</p>
</dd>
<dt class="hdlist1">merge backend</dt>
<dd>
<p>Treat lines with only whitespace changes as unchanged when merging.
Unfortunately, this means that any patch hunks that were intended
to modify whitespace and nothing else will be dropped, even if the
other side had no changes that conflicted.</p>
</dd>
</dl>
</div>
</dd>
<dt class="hdlist1">--whitespace=&lt;option&gt;</dt>
<dd>
<p>This flag is passed to the <code>git</code> <code>apply</code> program
(see <a href="git-apply.html">git-apply(1)</a>) that applies the patch.
Implies <code>--apply</code>.</p>
<div class="paragraph">
<p>See also INCOMPATIBLE OPTIONS below.</p>
</div>
</dd>
<dt class="hdlist1">--committer-date-is-author-date</dt>
<dd>
<p>Instead of using the current time as the committer date, use
the author date of the commit being rebased as the committer
date. This option implies <code>--force-rebase</code>.</p>
</dd>
<dt class="hdlist1">--ignore-date</dt>
<dt class="hdlist1">--reset-author-date</dt>
<dd>
<p>Instead of using the author date of the original commit, use
the current time as the	author date of the rebased commit.  This
option implies <code>--force-rebase</code>.</p>
<div class="paragraph">
<p>See also INCOMPATIBLE OPTIONS below.</p>
</div>
</dd>
<dt class="hdlist1">--signoff</dt>
<dd>
<p>Add a <code>Signed-off-by</code> trailer to all the rebased commits. Note
that if <code>--interactive</code> is given then only commits marked to be
picked, edited or reworded will have the trailer added.</p>
<div class="paragraph">
<p>See also INCOMPATIBLE OPTIONS below.</p>
</div>
</dd>
<dt class="hdlist1">-i</dt>
<dt class="hdlist1">--interactive</dt>
<dd>
<p>Make a list of the commits which are about to be rebased.  Let the
user edit that list before rebasing.  This mode can also be used to
split commits (see SPLITTING COMMITS below).</p>
<div class="paragraph">
<p>The commit list format can be changed by setting the configuration option
rebase.instructionFormat.  A customized instruction format will automatically
have the commit hash prepended to the format.</p>
</div>
<div class="paragraph">
<p>See also INCOMPATIBLE OPTIONS below.</p>
</div>
</dd>
<dt class="hdlist1">-r</dt>
<dt class="hdlist1">--rebase-merges[=(rebase-cousins|no-rebase-cousins)]</dt>
<dt class="hdlist1">--no-rebase-merges</dt>
<dd>
<p>By default, a rebase will simply drop merge commits from the todo
list, and put the rebased commits into a single, linear branch.
With <code>--rebase-merges</code>, the rebase will instead try to preserve
the branching structure within the commits that are to be rebased,
by recreating the merge commits. Any resolved merge conflicts or
manual amendments in these merge commits will have to be
resolved/re-applied manually. <code>--no-rebase-merges</code> can be used to
countermand both the <code>rebase.rebaseMerges</code> config option and a previous
<code>--rebase-merges</code>.</p>
<div class="paragraph">
<p>When rebasing merges, there are two modes: <code>rebase-cousins</code> and
<code>no-rebase-cousins</code>. If the mode is not specified, it defaults to
<code>no-rebase-cousins</code>. In <code>no-rebase-cousins</code> mode, commits which do not have
<em>&lt;upstream&gt;</em> as direct ancestor will keep their original branch point, i.e.
commits that would be excluded by <a href="git-log.html">git-log(1)</a>'s <code>--ancestry-path</code>
option will keep their original ancestry by default. In <code>rebase-cousins</code> mode,
such commits are instead rebased onto <em>&lt;upstream&gt;</em> (or <em>&lt;onto&gt;</em>, if
specified).</p>
</div>
<div class="paragraph">
<p>It is currently only possible to recreate the merge commits using the
<code>ort</code> merge strategy; different merge strategies can be used only via
explicit <code>exec</code> <code>git</code> <code>merge</code> <code>-s</code> <em>&lt;strategy&gt;</em> [...] commands.</p>
</div>
<div class="paragraph">
<p>See also REBASING MERGES and INCOMPATIBLE OPTIONS below.</p>
</div>
</dd>
<dt class="hdlist1">-x &lt;cmd&gt;</dt>
<dt class="hdlist1">--exec &lt;cmd&gt;</dt>
<dd>
<p>Append "exec &lt;cmd&gt;" after each line creating a commit in the
final history. <em>&lt;cmd&gt;</em> will be interpreted as one or more shell
commands. Any command that fails will interrupt the rebase,
with exit code 1.</p>
<div class="paragraph">
<p>You may execute several commands by either using one instance of <code>--exec</code>
with several commands:</p>
</div>
<div class="literalblock">
<div class="content">
<pre>git rebase -i --exec "cmd1 &amp;&amp; cmd2 &amp;&amp; ..."</pre>
</div>
</div>
<div class="paragraph">
<p>or by giving more than one <code>--exec</code>:</p>
</div>
<div class="literalblock">
<div class="content">
<pre>git rebase -i --exec "cmd1" --exec "cmd2" --exec ...</pre>
</div>
</div>
<div class="paragraph">
<p>If <code>--autosquash</code> is used, <code>exec</code> lines will not be appended for
the intermediate commits, and will only appear at the end of each
squash/fixup series.</p>
</div>
<div class="paragraph">
<p>This uses the <code>--interactive</code> machinery internally, but it can be run
without an explicit <code>--interactive</code>.</p>
</div>
<div class="paragraph">
<p>See also INCOMPATIBLE OPTIONS below.</p>
</div>
</dd>
<dt class="hdlist1">--root</dt>
<dd>
<p>Rebase all commits reachable from <em>&lt;branch&gt;</em>, instead of
limiting them with an <em>&lt;upstream&gt;</em>.  This allows you to rebase
the root commit(s) on a branch.</p>
<div class="paragraph">
<p>See also INCOMPATIBLE OPTIONS below.</p>
</div>
</dd>
<dt class="hdlist1">--autosquash</dt>
<dt class="hdlist1">--no-autosquash</dt>
<dd>
<p>Automatically squash commits with specially formatted messages into
previous commits being rebased.  If a commit message starts with
"squash! ", "fixup! " or "amend! ", the remainder of the subject line
is taken as a commit specifier, which matches a previous commit if it
matches the subject line or the hash of that commit.  If no commit
matches fully, matches of the specifier with the start of commit
subjects are considered.</p>
<div class="paragraph">
<p>In the rebase todo list, the actions of squash, fixup and amend commits are
changed from <code>pick</code> to <code>squash</code>, <code>fixup</code> or <code>fixup</code> <code>-C</code>, respectively, and they
are moved right after the commit they modify.  The <code>--interactive</code> option can
be used to review and edit the todo list before proceeding.</p>
</div>
<div class="paragraph">
<p>The recommended way to create commits with squash markers is by using the
<code>--squash</code>, <code>--fixup</code>, <code>--fixup=amend:</code> or <code>--fixup=reword:</code> options of
<a href="git-commit.html">git-commit(1)</a>, which take the target commit as an argument and
automatically fill in the subject line of the new commit from that.</p>
</div>
<div class="paragraph">
<p>Setting configuration variable <code>rebase.autoSquash</code> to true enables
auto-squashing by default for interactive rebase.  The <code>--no-autosquash</code>
option can be used to override that setting.</p>
</div>
<div class="paragraph">
<p>See also INCOMPATIBLE OPTIONS below.</p>
</div>
</dd>
<dt class="hdlist1">--autostash</dt>
<dt class="hdlist1">--no-autostash</dt>
<dd>
<p>Automatically create a temporary stash entry before the operation
begins, and apply it after the operation ends.  This means
that you can run rebase on a dirty worktree.  However, use
with care: the final stash application after a successful
rebase might result in non-trivial conflicts.</p>
</dd>
<dt class="hdlist1">--reschedule-failed-exec</dt>
<dt class="hdlist1">--no-reschedule-failed-exec</dt>
<dd>
<p>Automatically reschedule <code>exec</code> commands that failed. This only makes
sense in interactive mode (or when an <code>--exec</code> option was provided).</p>
<div class="paragraph">
<p>This option applies once a rebase is started. It is preserved for the whole
rebase based on, in order, the command line option provided to the initial <code>git</code>
<code>rebase</code>, the <code>rebase.rescheduleFailedExec</code> configuration (see
<a href="git-config.html">git-config(1)</a> or "CONFIGURATION" below), or it defaults to false.</p>
</div>
<div class="paragraph">
<p>Recording this option for the whole rebase is a convenience feature. Otherwise
an explicit <code>--no-reschedule-failed-exec</code> at the start would be overridden by
the presence of a <code>rebase.rescheduleFailedExec=true</code> configuration when <code>git</code>
<code>rebase</code> <code>--continue</code> is invoked. Currently, you cannot pass
<code>--</code>[<code>no-</code>]<code>reschedule-failed-exec</code> to <code>git</code> <code>rebase</code> <code>--continue</code>.</p>
</div>
</dd>
<dt class="hdlist1">--update-refs</dt>
<dt class="hdlist1">--no-update-refs</dt>
<dd>
<p>Automatically force-update any branches that point to commits that
are being rebased. Any branches that are checked out in a worktree
are not updated in this way.</p>
<div class="paragraph">
<p>If the configuration variable <code>rebase.updateRefs</code> is set, then this option
can be used to override and disable this setting.</p>
</div>
<div class="paragraph">
<p>See also INCOMPATIBLE OPTIONS below.</p>
</div>
</dd>
</dl>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_incompatible_options">INCOMPATIBLE OPTIONS</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The following options:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>--apply</p>
</li>
<li>
<p>--whitespace</p>
</li>
<li>
<p>-C</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>are incompatible with the following options:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>--merge</p>
</li>
<li>
<p>--strategy</p>
</li>
<li>
<p>--strategy-option</p>
</li>
<li>
<p>--autosquash</p>
</li>
<li>
<p>--rebase-merges</p>
</li>
<li>
<p>--interactive</p>
</li>
<li>
<p>--exec</p>
</li>
<li>
<p>--no-keep-empty</p>
</li>
<li>
<p>--empty=</p>
</li>
<li>
<p>--[no-]reapply-cherry-picks when used without --keep-base</p>
</li>
<li>
<p>--update-refs</p>
</li>
<li>
<p>--root when used without --onto</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>In addition, the following pairs of options are incompatible:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>--keep-base and --onto</p>
</li>
<li>
<p>--keep-base and --root</p>
</li>
<li>
<p>--fork-point and --root</p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_behavioral_differences">BEHAVIORAL DIFFERENCES</h2>
<div class="sectionbody">
<div class="paragraph">
<p><code>git</code> <code>rebase</code> has two primary backends: <em>apply</em> and <em>merge</em>.  (The <em>apply</em>
backend used to be known as the <em>am</em> backend, but the name led to
confusion as it looks like a verb instead of a noun.  Also, the <em>merge</em>
backend used to be known as the interactive backend, but it is now
used for non-interactive cases as well.  Both were renamed based on
lower-level functionality that underpinned each.) There are some
subtle differences in how these two backends behave:</p>
</div>
<div class="sect2">
<h3 id="_empty_commits">Empty commits</h3>
<div class="paragraph">
<p>The <em>apply</em> backend unfortunately drops intentionally empty commits, i.e.
commits that started empty, though these are rare in practice.  It
also drops commits that become empty and has no option for controlling
this behavior.</p>
</div>
<div class="paragraph">
<p>The <em>merge</em> backend keeps intentionally empty commits by default (though
with <code>-i</code> they are marked as empty in the todo list editor, or they can
be dropped automatically with <code>--no-keep-empty</code>).</p>
</div>
<div class="paragraph">
<p>Similar to the apply backend, by default the merge backend drops
commits that become empty unless <code>-i</code>/<code>--interactive</code> is specified (in
which case it stops and asks the user what to do).  The merge backend
also has an <code>--empty=</code>(<code>drop</code>|<code>keep</code>|<code>stop</code>) option for changing the behavior
of handling commits that become empty.</p>
</div>
</div>
<div class="sect2">
<h3 id="_directory_rename_detection">Directory rename detection</h3>
<div class="paragraph">
<p>Due to the lack of accurate tree information (arising from
constructing fake ancestors with the limited information available in
patches), directory rename detection is disabled in the <em>apply</em> backend.
Disabled directory rename detection means that if one side of history
renames a directory and the other adds new files to the old directory,
then the new files will be left behind in the old directory without
any warning at the time of rebasing that you may want to move these
files into the new directory.</p>
</div>
<div class="paragraph">
<p>Directory rename detection works with the <em>merge</em> backend to provide you
warnings in such cases.</p>
</div>
</div>
<div class="sect2">
<h3 id="_context">Context</h3>
<div class="paragraph">
<p>The <em>apply</em> backend works by creating a sequence of patches (by calling
<code>format-patch</code> internally), and then applying the patches in sequence
(calling <code>am</code> internally).  Patches are composed of multiple hunks,
each with line numbers, a context region, and the actual changes.  The
line numbers have to be taken with some offset, since the other side
will likely have inserted or deleted lines earlier in the file.  The
context region is meant to help find how to adjust the line numbers in
order to apply the changes to the right lines.  However, if multiple
areas of the code have the same surrounding lines of context, the
wrong one can be picked.  There are real-world cases where this has
caused commits to be reapplied incorrectly with no conflicts reported.
Setting <code>diff.context</code> to a larger value may prevent such types of
problems, but increases the chance of spurious conflicts (since it
will require more lines of matching context to apply).</p>
</div>
<div class="paragraph">
<p>The <em>merge</em> backend works with a full copy of each relevant file,
insulating it from these types of problems.</p>
</div>
</div>
<div class="sect2">
<h3 id="_labelling_of_conflicts_markers">Labelling of conflicts markers</h3>
<div class="paragraph">
<p>When there are content conflicts, the merge machinery tries to
annotate each side&#8217;s conflict markers with the commits where the
content came from.  Since the <em>apply</em> backend drops the original
information about the rebased commits and their parents (and instead
generates new fake commits based off limited information in the
generated patches), those commits cannot be identified; instead it has
to fall back to a commit summary.  Also, when <code>merge.conflictStyle</code> is
set to <code>diff3</code> or <code>zdiff3</code>, the <em>apply</em> backend will use "constructed merge
base" to label the content from the merge base, and thus provide no
information about the merge base commit whatsoever.</p>
</div>
<div class="paragraph">
<p>The <em>merge</em> backend works with the full commits on both sides of history
and thus has no such limitations.</p>
</div>
</div>
<div class="sect2">
<h3 id="_hooks">Hooks</h3>
<div class="paragraph">
<p>The <em>apply</em> backend has not traditionally called the post-commit hook,
while the <em>merge</em> backend has.  Both have called the post-checkout hook,
though the <em>merge</em> backend has squelched its output.  Further, both
backends only call the post-checkout hook with the starting point
commit of the rebase, not the intermediate commits nor the final
commit.  In each case, the calling of these hooks was by accident of
implementation rather than by design (both backends were originally
implemented as shell scripts and happened to invoke other commands
like <code>git</code> <code>checkout</code> or <code>git</code> <code>commit</code> that would call the hooks).  Both
backends should have the same behavior, though it is not entirely
clear which, if any, is correct.  We will likely make rebase stop
calling either of these hooks in the future.</p>
</div>
</div>
<div class="sect2">
<h3 id="_interruptability">Interruptability</h3>
<div class="paragraph">
<p>The <em>apply</em> backend has safety problems with an ill-timed interrupt; if
the user presses Ctrl-C at the wrong time to try to abort the rebase,
the rebase can enter a state where it cannot be aborted with a
subsequent <code>git</code> <code>rebase</code> <code>--abort</code>.  The <em>merge</em> backend does not appear to
suffer from the same shortcoming.  (See
<a href="https://lore.kernel.org/git/20200207132152.GC2868@szeder.dev/" class="bare">https://lore.kernel.org/git/20200207132152.GC2868@szeder.dev/</a> for
details.)</p>
</div>
</div>
<div class="sect2">
<h3 id="_commit_rewording">Commit Rewording</h3>
<div class="paragraph">
<p>When a conflict occurs while rebasing, rebase stops and asks the user
to resolve.  Since the user may need to make notable changes while
resolving conflicts, after conflicts are resolved and the user has run
<code>git</code> <code>rebase</code> <code>--continue</code>, the rebase should open an editor and ask the
user to update the commit message.  The <em>merge</em> backend does this, while
the <em>apply</em> backend blindly applies the original commit message.</p>
</div>
</div>
<div class="sect2">
<h3 id="_miscellaneous_differences">Miscellaneous differences</h3>
<div class="paragraph">
<p>There are a few more behavioral differences that most folks would
probably consider inconsequential but which are mentioned for
completeness:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>Reflog: The two backends will use different wording when describing
the changes made in the reflog, though both will make use of the
word "rebase".</p>
</li>
<li>
<p>Progress, informational, and error messages: The two backends
provide slightly different progress and informational messages.
Also, the apply backend writes error messages (such as "Your files
would be overwritten&#8230;&#8203;") to stdout, while the merge backend writes
them to stderr.</p>
</li>
<li>
<p>State directories: The two backends keep their state in different
directories under .<code>git/</code></p>
</li>
</ul>
</div>
</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">ort</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>The <em>ort</em> strategy can take the following options:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1">ours</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 <em>ours</em> 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">theirs</dt>
<dd>
<p>This is the opposite of <em>ours</em>; note that, unlike <em>ours</em>, there is
no <em>theirs</em> merge strategy to confuse this merge option with.</p>
</dd>
<dt class="hdlist1">ignore-space-change</dt>
<dt class="hdlist1">ignore-all-space</dt>
<dt class="hdlist1">ignore-space-at-eol</dt>
<dt class="hdlist1">ignore-cr-at-eol</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">renormalize</dt>
<dd>
<p>This runs a virtual check-out and check-in of all three stages
of a file when resolving 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">no-renormalize</dt>
<dd>
<p>Disables the <code>renormalize</code> option.  This overrides the
<code>merge.renormalize</code> configuration variable.</p>
</dd>
<dt class="hdlist1">find-renames[=&lt;n&gt;]</dt>
<dd>
<p>Turn on rename detection, optionally setting the similarity
threshold.  This is the default. This overrides the
<em>merge.renames</em> configuration variable.
See also <a href="git-diff.html">git-diff(1)</a> <code>--find-renames</code>.</p>
</dd>
<dt class="hdlist1">rename-threshold=&lt;n&gt;</dt>
<dd>
<p>Deprecated synonym for <code>find-renames=</code><em>&lt;n&gt;</em>.</p>
</dd>
<dt class="hdlist1">subtree[=&lt;path&gt;]</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">recursive</dt>
<dd>
<p>This 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 can detect and handle merges involving
renames.  It does not make use of detected copies.  This was
the default strategy for resolving two heads from Git v0.99.9k
until v2.33.0.</p>
<div class="paragraph">
<p>The <em>recursive</em> strategy takes the same options as <em>ort</em>.  However,
there are three additional options that <em>ort</em> ignores (not documented
above) that are potentially useful with the <em>recursive</em> strategy:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1">patience</dt>
<dd>
<p>Deprecated synonym for <code>diff-algorithm=patience</code>.</p>
</dd>
<dt class="hdlist1">diff-algorithm=[patience|minimal|histogram|myers]</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>
specifically uses <code>diff-algorithm=histogram</code>, while <code>recursive</code>
defaults to the <code>diff.algorithm</code> config setting.</p>
</dd>
<dt class="hdlist1">no-renames</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>
</dl>
</div>
</dd>
<dt class="hdlist1">resolve</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">octopus</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">ours</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 -Xours option to
the <em>recursive</em> merge strategy.</p>
</dd>
<dt class="hdlist1">subtree</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, <em>ort</em>),
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="_notes">NOTES</h2>
<div class="sectionbody">
<div class="paragraph">
<p>You should understand the implications of using <code>git</code> <code>rebase</code> on a
repository that you share.  See also RECOVERING FROM UPSTREAM REBASE
below.</p>
</div>
<div class="paragraph">
<p>When the rebase is run, it will first execute a <code>pre-rebase</code> hook if one
exists.  You can use this hook to do sanity checks and reject the rebase
if it isn&#8217;t appropriate.  Please see the template <code>pre-rebase</code> hook script
for an example.</p>
</div>
<div class="paragraph">
<p>Upon completion, <em>&lt;branch&gt;</em> will be the current branch.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_interactive_mode">INTERACTIVE MODE</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Rebasing interactively means that you have a chance to edit the commits
which are rebased.  You can reorder the commits, and you can
remove them (weeding out bad or otherwise unwanted patches).</p>
</div>
<div class="paragraph">
<p>The interactive mode is meant for this type of workflow:</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>have a wonderful idea</p>
</li>
<li>
<p>hack on the code</p>
</li>
<li>
<p>prepare a series for submission</p>
</li>
<li>
<p>submit</p>
</li>
</ol>
</div>
<div class="paragraph">
<p>where point 2. consists of several instances of</p>
</div>
<div class="paragraph">
<p>a) regular use</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>finish something worthy of a commit</p>
</li>
<li>
<p>commit</p>
</li>
</ol>
</div>
<div class="paragraph">
<p>b) independent fixup</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>realize that something does not work</p>
</li>
<li>
<p>fix that</p>
</li>
<li>
<p>commit it</p>
</li>
</ol>
</div>
<div class="paragraph">
<p>Sometimes the thing fixed in b.2. cannot be amended to the not-quite
perfect commit it fixes, because that commit is buried deeply in a
patch series.  That is exactly what interactive rebase is for: use it
after plenty of "a"s and "b"s, by rearranging and editing
commits, and squashing multiple commits into one.</p>
</div>
<div class="paragraph">
<p>Start it with the last commit you want to retain as-is:</p>
</div>
<div class="literalblock">
<div class="content">
<pre>git rebase -i &lt;after-this-commit&gt;</pre>
</div>
</div>
<div class="paragraph">
<p>An editor will be fired up with all the commits in your current branch
(ignoring merge commits), which come after the given commit.  You can
reorder the commits in this list to your heart&#8217;s content, and you can
remove them.  The list looks more or less like this:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>pick deadbee The oneline of this commit
pick fa1afe1 The oneline of the next commit
...</pre>
</div>
</div>
<div class="paragraph">
<p>The oneline descriptions are purely for your pleasure; <em>git rebase</em> will
not look at them but at the commit names ("deadbee" and "fa1afe1" in this
example), so do not delete or edit the names.</p>
</div>
<div class="paragraph">
<p>By replacing the command "pick" with the command "edit", you can tell
<code>git</code> <code>rebase</code> to stop after applying that commit, so that you can edit
the files and/or the commit message, amend the commit, and continue
rebasing.</p>
</div>
<div class="paragraph">
<p>To interrupt the rebase (just like an "edit" command would do, but without
cherry-picking any commit first), use the "break" command.</p>
</div>
<div class="paragraph">
<p>If you just want to edit the commit message for a commit, replace the
command "pick" with the command "reword".</p>
</div>
<div class="paragraph">
<p>To drop a commit, replace the command "pick" with "drop", or just
delete the matching line.</p>
</div>
<div class="paragraph">
<p>If you want to fold two or more commits into one, replace the command
"pick" for the second and subsequent commits with "squash" or "fixup".
If the commits had different authors, the folded commit will be
attributed to the author of the first commit.  The suggested commit
message for the folded commit is the concatenation of the first
commit&#8217;s message with those identified by "squash" commands, omitting the
messages of commits identified by "fixup" commands, unless "fixup -c"
is used.  In that case the suggested commit message is only the message
of the "fixup -c" commit, and an editor is opened allowing you to edit
the message.  The contents (patch) of the "fixup -c" commit are still
incorporated into the folded commit. If there is more than one "fixup -c"
commit, the message from the final one is used.  You can also use
"fixup -C" to get the same behavior as "fixup -c" except without opening
an editor.</p>
</div>
<div class="paragraph">
<p><code>git</code> <code>rebase</code> will stop when "pick" has been replaced with "edit" or
when a command fails due to merge errors. When you are done editing
and/or resolving conflicts you can continue with <code>git</code> <code>rebase</code> <code>--continue</code>.</p>
</div>
<div class="paragraph">
<p>For example, if you want to reorder the last 5 commits, such that what
was <code>HEAD~4</code> becomes the new <code>HEAD</code>. To achieve that, you would call
<code>git</code> <code>rebase</code> like this:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>$ git rebase -i HEAD~5</pre>
</div>
</div>
<div class="paragraph">
<p>And move the first patch to the end of the list.</p>
</div>
<div class="paragraph">
<p>You might want to recreate merge commits, e.g. if you have a history
like this:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>           X
            \
         A---M---B
        /
---o---O---P---Q</pre>
</div>
</div>
<div class="paragraph">
<p>Suppose you want to rebase the side branch starting at "A" to "Q". Make
sure that the current <code>HEAD</code> is "B", and call</p>
</div>
<div class="listingblock">
<div class="content">
<pre>$ git rebase -i -r --onto Q O</pre>
</div>
</div>
<div class="paragraph">
<p>Reordering and editing commits usually creates untested intermediate
steps.  You may want to check that your history editing did not break
anything by running a test, or at least recompiling at intermediate
points in history by using the "exec" command (shortcut "x").  You may
do so by creating a todo list like this one:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>pick deadbee Implement feature XXX
fixup f1a5c00 Fix to feature XXX
exec make
pick c0ffeee The oneline of the next commit
edit deadbab The oneline of the commit after
exec cd subdir; make test
...</pre>
</div>
</div>
<div class="paragraph">
<p>The interactive rebase will stop when a command fails (i.e. exits with
non-0 status) to give you an opportunity to fix the problem. You can
continue with <code>git</code> <code>rebase</code> <code>--continue</code>.</p>
</div>
<div class="paragraph">
<p>The "exec" command launches the command in a shell (the default one, usually
/bin/sh), so you can use shell features (like "cd", "&gt;", ";" &#8230;&#8203;). The command
is run from the root of the working tree.</p>
</div>
<div class="listingblock">
<div class="content">
<pre>$ git rebase -i --exec "make test"</pre>
</div>
</div>
<div class="paragraph">
<p>This command lets you check that intermediate commits are compilable.
The todo list becomes like that:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>pick 5928aea one
exec make test
pick 04d0fda two
exec make test
pick ba46169 three
exec make test
pick f4593f9 four
exec make test</pre>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_splitting_commits">SPLITTING COMMITS</h2>
<div class="sectionbody">
<div class="paragraph">
<p>In interactive mode, you can mark commits with the action "edit".  However,
this does not necessarily mean that <code>git</code> <code>rebase</code> expects the result of this
edit to be exactly one commit.  Indeed, you can undo the commit, or you can
add other commits.  This can be used to split a commit into two:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>Start an interactive rebase with <code>git</code> <code>rebase</code> <code>-i</code> <em>&lt;commit&gt;</em><code>^</code>, where
<em>&lt;commit&gt;</em> is the commit you want to split.  In fact, any commit range
will do, as long as it contains that commit.</p>
</li>
<li>
<p>Mark the commit you want to split with the action "edit".</p>
</li>
<li>
<p>When it comes to editing that commit, execute <code>git</code> <code>reset</code> <code>HEAD^</code>.  The
effect is that the <code>HEAD</code> is rewound by one, and the index follows suit.
However, the working tree stays the same.</p>
</li>
<li>
<p>Now add the changes to the index that you want to have in the first
commit.  You can use <code>git</code> <code>add</code> (possibly interactively) or
<code>git</code> <code>gui</code> (or both) to do that.</p>
</li>
<li>
<p>Commit the now-current index with whatever commit message is appropriate
now.</p>
</li>
<li>
<p>Repeat the last two steps until your working tree is clean.</p>
</li>
<li>
<p>Continue the rebase with <code>git</code> <code>rebase</code> <code>--continue</code>.</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>If you are not absolutely sure that the intermediate revisions are
consistent (they compile, pass the testsuite, etc.) you should use
<code>git</code> <code>stash</code> to stash away the not-yet-committed changes
after each commit, test, and amend the commit if fixes are necessary.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_recovering_from_upstream_rebase">RECOVERING FROM UPSTREAM REBASE</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Rebasing (or any other form of rewriting) a branch that others have
based work on is a bad idea: anyone downstream of it is forced to
manually fix their history.  This section explains how to do the fix
from the downstream&#8217;s point of view.  The real fix, however, would be
to avoid rebasing the upstream in the first place.</p>
</div>
<div class="paragraph">
<p>To illustrate, suppose you are in a situation where someone develops a
<em>subsystem</em> branch, and you are working on a <em>topic</em> that is dependent
on this <em>subsystem</em>.  You might end up with a history like the
following:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>    o---o---o---o---o---o---o---o  master
         \
          o---o---o---o---o  subsystem
                           \
                            *---*---*  topic</pre>
</div>
</div>
<div class="paragraph">
<p>If <em>subsystem</em> is rebased against <em>master</em>, the following happens:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>    o---o---o---o---o---o---o---o  master
         \                       \
          o---o---o---o---o       o'--o'--o'--o'--o'  subsystem
                           \
                            *---*---*  topic</pre>
</div>
</div>
<div class="paragraph">
<p>If you now continue development as usual, and eventually merge <em>topic</em>
to <em>subsystem</em>, the commits from <em>subsystem</em> will remain duplicated forever:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>    o---o---o---o---o---o---o---o  master
         \                       \
          o---o---o---o---o       o'--o'--o'--o'--o'--M  subsystem
                           \                         /
                            *---*---*-..........-*--*  topic</pre>
</div>
</div>
<div class="paragraph">
<p>Such duplicates are generally frowned upon because they clutter up
history, making it harder to follow.  To clean things up, you need to
transplant the commits on <em>topic</em> to the new <em>subsystem</em> tip, i.e.,
rebase <em>topic</em>.  This becomes a ripple effect: anyone downstream from
<em>topic</em> is forced to rebase too, and so on!</p>
</div>
<div class="paragraph">
<p>There are two kinds of fixes, discussed in the following subsections:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1">Easy case: The changes are literally the same.</dt>
<dd>
<p>This happens if the <em>subsystem</em> rebase was a simple rebase and
had no conflicts.</p>
</dd>
<dt class="hdlist1">Hard case: The changes are not the same.</dt>
<dd>
<p>This happens if the <em>subsystem</em> rebase had conflicts, or used
<code>--interactive</code> to omit, edit, squash, or fixup commits; or
if the upstream used one of <code>commit</code> <code>--amend</code>, <code>reset</code>, or
a full history rewriting command like
<a href="https://github.com/newren/git-filter-repo"><code>filter-repo</code></a>.</p>
</dd>
</dl>
</div>
<div class="sect2">
<h3 id="_the_easy_case">The easy case</h3>
<div class="paragraph">
<p>Only works if the changes (patch IDs based on the diff contents) on
<em>subsystem</em> are literally the same before and after the rebase
<em>subsystem</em> did.</p>
</div>
<div class="paragraph">
<p>In that case, the fix is easy because <em>git rebase</em> knows to skip
changes that are already present in the new upstream (unless
<code>--reapply-cherry-picks</code> is given). So if you say
(assuming you&#8217;re on <em>topic</em>)</p>
</div>
<div class="listingblock">
<div class="content">
<pre>    $ git rebase subsystem</pre>
</div>
</div>
<div class="paragraph">
<p>you will end up with the fixed history</p>
</div>
<div class="listingblock">
<div class="content">
<pre>    o---o---o---o---o---o---o---o  master
                                 \
                                  o'--o'--o'--o'--o'  subsystem
                                                   \
                                                    *---*---*  topic</pre>
</div>
</div>
</div>
<div class="sect2">
<h3 id="_the_hard_case">The hard case</h3>
<div class="paragraph">
<p>Things get more complicated if the <em>subsystem</em> changes do not exactly
correspond to the ones before the rebase.</p>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<div class="title">Note</div>
</td>
<td class="content">
While an "easy case recovery" sometimes appears to be successful
      even in the hard case, it may have unintended consequences.  For
      example, a commit that was removed via <code>git</code> <code>rebase</code>
      <code>--interactive</code> will be <strong>resurrected</strong>!
</td>
</tr>
</table>
</div>
<div class="paragraph">
<p>The idea is to manually tell <code>git</code> <code>rebase</code> "where the old <em>subsystem</em>
ended and your <em>topic</em> began", that is, what the old merge base
between them was.  You will have to find a way to name the last commit
of the old <em>subsystem</em>, for example:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>With the <em>subsystem</em> reflog: after <code>git</code> <code>fetch</code>, the old tip of
<em>subsystem</em> is at <code>subsystem@</code>{1}.  Subsequent fetches will
increase the number.  (See <a href="git-reflog.html">git-reflog(1)</a>.)</p>
</li>
<li>
<p>Relative to the tip of <em>topic</em>: knowing that your <em>topic</em> has three
commits, the old tip of <em>subsystem</em> must be <code>topic~3</code>.</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>You can then transplant the old <code>subsystem</code><code>..</code><code>topic</code> to the new tip by
saying (for the reflog case, and assuming you are on <em>topic</em> already):</p>
</div>
<div class="listingblock">
<div class="content">
<pre>    $ git rebase --onto subsystem subsystem@{1}</pre>
</div>
</div>
<div class="paragraph">
<p>The ripple effect of a "hard case" recovery is especially bad:
<em>everyone</em> downstream from <em>topic</em> will now have to perform a "hard
case" recovery too!</p>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_rebasing_merges">REBASING MERGES</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The interactive rebase command was originally designed to handle
individual patch series. As such, it makes sense to exclude merge
commits from the todo list, as the developer may have merged the
then-current <code>master</code> while working on the branch, only to rebase
all the commits onto <code>master</code> eventually (skipping the merge
commits).</p>
</div>
<div class="paragraph">
<p>However, there are legitimate reasons why a developer may want to
recreate merge commits: to keep the branch structure (or "commit
topology") when working on multiple, inter-related branches.</p>
</div>
<div class="paragraph">
<p>In the following example, the developer works on a topic branch that
refactors the way buttons are defined, and on another topic branch
that uses that refactoring to implement a "Report a bug" button. The
output of <code>git</code> <code>log</code> <code>--graph</code> <code>--format=</code>%s <code>-5</code> may look like this:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>*   Merge branch 'report-a-bug'
|\
| * Add the feedback button
* | Merge branch 'refactor-button'
|\ \
| |/
| * Use the Button class for all buttons
| * Extract a generic Button class from the DownloadButton one</pre>
</div>
</div>
<div class="paragraph">
<p>The developer might want to rebase those commits to a newer <code>master</code>
while keeping the branch topology, for example when the first topic
branch is expected to be integrated into <code>master</code> much earlier than the
second one, say, to resolve merge conflicts with changes to the
DownloadButton class that made it into <code>master</code>.</p>
</div>
<div class="paragraph">
<p>This rebase can be performed using the <code>--rebase-merges</code> option.
It will generate a todo list looking like this:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>label onto

# Branch: refactor-button
reset onto
pick 123456 Extract a generic Button class from the DownloadButton one
pick 654321 Use the Button class for all buttons
label refactor-button

# Branch: report-a-bug
reset refactor-button # Use the Button class for all buttons
pick abcdef Add the feedback button
label report-a-bug

reset onto
merge -C a1b2c3 refactor-button # Merge 'refactor-button'
merge -C 6f5e4d report-a-bug # Merge 'report-a-bug'</pre>
</div>
</div>
<div class="paragraph">
<p>In contrast to a regular interactive rebase, there are <code>label</code>, <code>reset</code>
and <code>merge</code> commands in addition to <code>pick</code> ones.</p>
</div>
<div class="paragraph">
<p>The <code>label</code> command associates a label with the current HEAD when that
command is executed. These labels are created as worktree-local refs
(<code>refs/rewritten/</code><em>&lt;label&gt;</em>) that will be deleted when the rebase
finishes. That way, rebase operations in multiple worktrees linked to
the same repository do not interfere with one another. If the <code>label</code>
command fails, it is rescheduled immediately, with a helpful message how
to proceed.</p>
</div>
<div class="paragraph">
<p>The <code>reset</code> command resets the HEAD, index and worktree to the specified
revision. It is similar to an <code>exec</code> <code>git</code> <code>reset</code> <code>--hard</code> <em>&lt;label&gt;</em>, but
refuses to overwrite untracked files. If the <code>reset</code> command fails, it is
rescheduled immediately, with a helpful message how to edit the todo list
(this typically happens when a <code>reset</code> command was inserted into the todo
list manually and contains a typo).</p>
</div>
<div class="paragraph">
<p>The <code>merge</code> command will merge the specified revision(s) into whatever
is HEAD at that time. With <code>-C</code> <em>&lt;original-commit&gt;</em>, the commit message of
the specified merge commit will be used. When the <code>-C</code> is changed to
a lower-case <code>-c</code>, the message will be opened in an editor after a
successful merge so that the user can edit the message.</p>
</div>
<div class="paragraph">
<p>If a <code>merge</code> command fails for any reason other than merge conflicts (i.e.
when the merge operation did not even start), it is rescheduled immediately.</p>
</div>
<div class="paragraph">
<p>By default, the <code>merge</code> command will use the <code>ort</code> merge strategy for
regular merges, and <code>octopus</code> for octopus merges.  One can specify a
default strategy for all merges using the <code>--strategy</code> argument when
invoking rebase, or can override specific merges in the interactive
list of commands by using an <code>exec</code> command to call <code>git</code> <code>merge</code>
explicitly with a <code>--strategy</code> argument.  Note that when calling <code>git</code>
<code>merge</code> explicitly like this, you can make use of the fact that the
labels are worktree-local refs (the ref <code>refs/rewritten/onto</code> would
correspond to the label <code>onto</code>, for example) in order to refer to the
branches you want to merge.</p>
</div>
<div class="paragraph">
<p>Note: the first command (<code>label</code> <code>onto</code>) labels the revision onto which
the commits are rebased; The name <code>onto</code> is just a convention, as a nod
to the <code>--onto</code> option.</p>
</div>
<div class="paragraph">
<p>It is also possible to introduce completely new merge commits from scratch
by adding a command of the form <code>merge</code> <em>&lt;merge-head&gt;</em>. This form will
generate a tentative commit message and always open an editor to let the
user edit it. This can be useful e.g. when a topic branch turns out to
address more than a single concern and wants to be split into two or
even more topic branches. Consider this todo list:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>pick 192837 Switch from GNU Makefiles to CMake
pick 5a6c7e Document the switch to CMake
pick 918273 Fix detection of OpenSSL in CMake
pick afbecd http: add support for TLS v1.3
pick fdbaec Fix detection of cURL in CMake on Windows</pre>
</div>
</div>
<div class="paragraph">
<p>The one commit in this list that is not related to CMake may very well
have been motivated by working on fixing all those bugs introduced by
switching to CMake, but it addresses a different concern. To split this
branch into two topic branches, the todo list could be edited like this:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>label onto

pick afbecd http: add support for TLS v1.3
label tlsv1.3

reset onto
pick 192837 Switch from GNU Makefiles to CMake
pick 918273 Fix detection of OpenSSL in CMake
pick fdbaec Fix detection of cURL in CMake on Windows
pick 5a6c7e Document the switch to CMake
label cmake

reset onto
merge tlsv1.3
merge cmake</pre>
</div>
</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">rebase.backend</dt>
<dd>
<p>Default backend to use for rebasing.  Possible choices are
<em>apply</em> or <em>merge</em>.  In the future, if the merge backend gains
all remaining capabilities of the apply backend, this setting
may become unused.</p>
</dd>
<dt class="hdlist1">rebase.stat</dt>
<dd>
<p>Whether to show a diffstat of what changed upstream since the last
rebase. False by default.</p>
</dd>
<dt class="hdlist1">rebase.autoSquash</dt>
<dd>
<p>If set to true, enable the <code>--autosquash</code> option of
<a href="git-rebase.html">git-rebase(1)</a> by default for interactive mode.
This can be overridden with the <code>--no-autosquash</code> option.</p>
</dd>
<dt class="hdlist1">rebase.autoStash</dt>
<dd>
<p>When set to true, automatically create a temporary stash entry
before the operation begins, and apply it after the operation
ends.  This means that you can run rebase on a dirty worktree.
However, use with care: the final stash application after a
successful rebase 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-rebase.html">git-rebase(1)</a>.
Defaults to false.</p>
</dd>
<dt class="hdlist1">rebase.updateRefs</dt>
<dd>
<p>If set to true enable <code>--update-refs</code> option by default.</p>
</dd>
<dt class="hdlist1">rebase.missingCommitsCheck</dt>
<dd>
<p>If set to "warn", git rebase -i will print a warning if some
commits are removed (e.g. a line was deleted), however the
rebase will still proceed. If set to "error", it will print
the previous warning and stop the rebase, <em>git rebase
--edit-todo</em> can then be used to correct the error. If set to
"ignore", no checking is done.
To drop a commit without warning or error, use the <code>drop</code>
command in the todo list.
Defaults to "ignore".</p>
</dd>
<dt class="hdlist1">rebase.instructionFormat</dt>
<dd>
<p>A format string, as specified in <a href="git-log.html">git-log(1)</a>, to be used for the
todo list during an interactive rebase.  The format will
automatically have the commit hash prepended to the format.</p>
</dd>
<dt class="hdlist1">rebase.abbreviateCommands</dt>
<dd>
<p>If set to true, <code>git</code> <code>rebase</code> will use abbreviated command names in the
todo list resulting in something like this:</p>
<div class="listingblock">
<div class="content">
<pre>        p deadbee The oneline of the commit
        p fa1afe1 The oneline of the next commit
        ...</pre>
</div>
</div>
<div class="paragraph">
<p>instead of:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>        pick deadbee The oneline of the commit
        pick fa1afe1 The oneline of the next commit
        ...</pre>
</div>
</div>
<div class="paragraph">
<p>Defaults to false.</p>
</div>
</dd>
<dt class="hdlist1">rebase.rescheduleFailedExec</dt>
<dd>
<p>Automatically reschedule <code>exec</code> commands that failed. This only makes
sense in interactive mode (or when an <code>--exec</code> option was provided).
This is the same as specifying the <code>--reschedule-failed-exec</code> option.</p>
</dd>
<dt class="hdlist1">rebase.forkPoint</dt>
<dd>
<p>If set to false set <code>--no-fork-point</code> option by default.</p>
</dd>
<dt class="hdlist1">rebase.rebaseMerges</dt>
<dd>
<p>Whether and how to set the <code>--rebase-merges</code> option by default. Can
be <code>rebase-cousins</code>, <code>no-rebase-cousins</code>, or a boolean. Setting to
true or to <code>no-rebase-cousins</code> is equivalent to
<code>--rebase-merges=no-rebase-cousins</code>, setting to <code>rebase-cousins</code> is
equivalent to <code>--rebase-merges=rebase-cousins</code>, and setting to false is
equivalent to <code>--no-rebase-merges</code>. Passing <code>--rebase-merges</code> on the
command line, with or without an argument, overrides any
<code>rebase.rebaseMerges</code> configuration.</p>
</dd>
<dt class="hdlist1">rebase.maxLabelLength</dt>
<dd>
<p>When generating label names from commit subjects, truncate the names to
this length. By default, the names are truncated to a little less than
<code>NAME_MAX</code> (to allow e.g. .<code>lock</code> files to be written for the
corresponding loose refs).</p>
</dd>
<dt class="hdlist1">sequence.editor</dt>
<dd>
<p>Text editor used by <code>git</code> <code>rebase</code> <code>-i</code> for editing the rebase instruction file.
The value is meant to be interpreted by the shell when it is used.
It can be overridden by the <code>GIT_SEQUENCE_EDITOR</code> environment variable.
When not configured, the default commit message editor is used instead.</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 2024-08-01 11:26:42 -0700
</div>
</div>
</body>
</html>