<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta charset="UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta name="generator" content="Asciidoctor 2.0.23"/>
<title>git-diff(1)</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700"/>
<style>
/*! Asciidoctor default stylesheet | MIT License | https://asciidoctor.org */
/* Uncomment the following line when using as a custom stylesheet */
/* @import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700"; */
html{font-family:sans-serif;-webkit-text-size-adjust:100%}
a{background:none}
a:focus{outline:thin dotted}
a:active,a:hover{outline:0}
h1{font-size:2em;margin:.67em 0}
b,strong{font-weight:bold}
abbr{font-size:.9em}
abbr[title]{cursor:help;border-bottom:1px dotted #dddddf;text-decoration:none}
dfn{font-style:italic}
hr{height:0}
mark{background:#ff0;color:#000}
code,kbd,pre,samp{font-family:monospace;font-size:1em}
pre{white-space:pre-wrap}
q{quotes:"\201C" "\201D" "\2018" "\2019"}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sup{top:-.5em}
sub{bottom:-.25em}
img{border:0}
svg:not(:root){overflow:hidden}
figure{margin:0}
audio,video{display:inline-block}
audio:not([controls]){display:none;height:0}
fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
legend{border:0;padding:0}
button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
button,input{line-height:normal}
button,select{text-transform:none}
button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}
button[disabled],html input[disabled]{cursor:default}
input[type=checkbox],input[type=radio]{padding:0}
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
textarea{overflow:auto;vertical-align:top}
table{border-collapse:collapse;border-spacing:0}
*,::before,::after{box-sizing:border-box}
html,body{font-size:100%}
body{background:#fff;color:rgba(0,0,0,.8);padding:0;margin:0;font-family:"Noto Serif","DejaVu Serif",serif;line-height:1;position:relative;cursor:auto;-moz-tab-size:4;-o-tab-size:4;tab-size:4;word-wrap:anywhere;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}
a:hover{cursor:pointer}
img,object,embed{max-width:100%;height:auto}
object,embed{height:100%}
img{-ms-interpolation-mode:bicubic}
.left{float:left!important}
.right{float:right!important}
.text-left{text-align:left!important}
.text-right{text-align:right!important}
.text-center{text-align:center!important}
.text-justify{text-align:justify!important}
.hide{display:none}
img,object,svg{display:inline-block;vertical-align:middle}
textarea{height:auto;min-height:50px}
select{width:100%}
.subheader,.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em}
div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0}
a{color:#2156a5;text-decoration:underline;line-height:inherit}
a:hover,a:focus{color:#1d4b8f}
a img{border:0}
p{line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
p aside{font-size:.875em;line-height:1.35;font-style:italic}
h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em}
h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0}
h1{font-size:2.125em}
h2{font-size:1.6875em}
h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
h4,h5{font-size:1.125em}
h6{font-size:1em}
hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em}
em,i{font-style:italic;line-height:inherit}
strong,b{font-weight:bold;line-height:inherit}
small{font-size:60%;line-height:inherit}
code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
ul,ol,dl{line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
ul,ol{margin-left:1.5em}
ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0}
ul.circle{list-style-type:circle}
ul.disc{list-style-type:disc}
ul.square{list-style-type:square}
ul.circle ul:not([class]),ul.disc ul:not([class]),ul.square ul:not([class]){list-style:inherit}
ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
dl dt{margin-bottom:.3125em;font-weight:bold}
dl dd{margin-bottom:1.25em}
blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
@media screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
h1{font-size:2.75em}
h2{font-size:2.3125em}
h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
h4{font-size:1.4375em}}
table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede;word-wrap:normal}
table thead,table tfoot{background:#f7f8f7}
table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left}
table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
table tr.even,table tr.alt{background:#f8f8f7}
table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{line-height:1.6}
h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
.center{margin-left:auto;margin-right:auto}
.stretch{width:100%}
.clearfix::before,.clearfix::after,.float-group::before,.float-group::after{content:" ";display:table}
.clearfix::after,.float-group::after{clear:both}
:not(pre).nobreak{word-wrap:normal}
:not(pre).nowrap{white-space:nowrap}
:not(pre).pre-wrap{white-space:pre-wrap}
:not(pre):not([class^=L])>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background:#f7f7f8;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed}
pre{color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;line-height:1.45;text-rendering:optimizeSpeed}
pre code,pre pre{color:inherit;font-size:inherit;line-height:inherit}
pre>code{display:block}
pre.nowrap,pre.nowrap pre{white-space:pre;word-wrap:normal}
em em{font-style:normal}
strong strong{font-weight:400}
.keyseq{color:rgba(51,51,51,.8)}
kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 0 rgba(0,0,0,.2),inset 0 0 0 .1em #fff;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
.keyseq kbd:first-child{margin-left:0}
.keyseq kbd:last-child{margin-right:0}
.menuseq,.menuref{color:#000}
.menuseq b:not(.caret),.menuref{font-weight:inherit}
.menuseq{word-spacing:-.02em}
.menuseq b.caret{font-size:1.25em;line-height:.8}
.menuseq i.caret{font-weight:bold;text-align:center;width:.45em}
b.button::before,b.button::after{position:relative;top:-1px;font-weight:400}
b.button::before{content:"[";padding:0 3px 0 2px}
b.button::after{content:"]";padding:0 2px 0 3px}
p a>code:hover{color:rgba(0,0,0,.9)}
#header,#content,#footnotes,#footer{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
#header::before,#header::after,#content::before,#content::after,#footnotes::before,#footnotes::after,#footer::before,#footer::after{content:" ";display:table}
#header::after,#content::after,#footnotes::after,#footer::after{clear:both}
#content{margin-top:1.25em}
#content::before{content:none}
#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}
#header>h1:only-child{border-bottom:1px solid #dddddf;padding-bottom:8px}
#header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:flex;flex-flow:row wrap}
#header .details span:first-child{margin-left:-.125em}
#header .details span.email a{color:rgba(0,0,0,.85)}
#header .details br{display:none}
#header .details br+span::before{content:"\00a0\2013\00a0"}
#header .details br+span.author::before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
#header .details br+span#revremark::before{content:"\00a0|\00a0"}
#header #revnumber{text-transform:capitalize}
#header #revnumber::after{content:"\00a0"}
#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
#toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}
#toc>ul{margin-left:.125em}
#toc ul.sectlevel0>li>a{font-style:italic}
#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
#toc li{line-height:1.3334;margin-top:.3334em}
#toc a{text-decoration:none}
#toc a:active{text-decoration:underline}
#toctitle{color:#7a2518;font-size:1.2em}
@media screen and (min-width:768px){#toctitle{font-size:1.375em}
body.toc2{padding-left:15em;padding-right:0}
body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}
#toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
#toc.toc2>ul{font-size:.9em;margin-bottom:0}
#toc.toc2 ul ul{margin-left:0;padding-left:1em}
#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
body.toc2.toc-right{padding-left:0;padding-right:15em}
body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}
@media screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
#toc.toc2{width:20em}
#toc.toc2 #toctitle{font-size:1.375em}
#toc.toc2>ul{font-size:.95em}
#toc.toc2 ul ul{padding-left:1.25em}
body.toc2.toc-right{padding-left:0;padding-right:20em}}
#content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}
#content #toc>:first-child{margin-top:0}
#content #toc>:last-child{margin-bottom:0}
#footer{max-width:none;background:rgba(0,0,0,.8);padding:1.25em}
#footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}
#content{margin-bottom:.625em}
.sect1{padding-bottom:.625em}
@media screen and (min-width:768px){#content{margin-bottom:1.25em}
.sect1{padding-bottom:1.25em}}
.sect1:last-child{padding-bottom:0}
.sect1+.sect1{border-top:1px solid #e7e7e9}
#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400}
#content h1>a.anchor::before,h2>a.anchor::before,h3>a.anchor::before,#toctitle>a.anchor::before,.sidebarblock>.content>.title>a.anchor::before,h4>a.anchor::before,h5>a.anchor::before,h6>a.anchor::before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em}
#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible}
#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none}
#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221}
details,.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
details{margin-left:1.25rem}
details>summary{cursor:pointer;display:block;position:relative;line-height:1.6;margin-bottom:.625rem;outline:none;-webkit-tap-highlight-color:transparent}
details>summary::-webkit-details-marker{display:none}
details>summary::before{content:"";border:solid transparent;border-left:solid;border-width:.3em 0 .3em .5em;position:absolute;top:.5em;left:-1.25rem;transform:translateX(15%)}
details[open]>summary::before{border:solid transparent;border-top:solid;border-width:.5em .3em 0;transform:translateY(15%)}
details>summary::after{content:"";width:1.25rem;height:1em;position:absolute;top:.3em;left:-1.25rem}
.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic}
table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}
.paragraph.lead>p,#preamble>.sectionbody>[class=paragraph]:first-of-type p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)}
.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
.admonitionblock>table td.icon{text-align:center;width:80px}
.admonitionblock>table td.icon img{max-width:none}
.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #dddddf;color:rgba(0,0,0,.6);word-wrap:anywhere}
.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
.exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}
.sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}
.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
.exampleblock>.content>:first-child,.sidebarblock>.content>:first-child{margin-top:0}
.exampleblock>.content>:last-child,.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0}
.literalblock pre,.listingblock>.content>pre{border-radius:4px;overflow-x:auto;padding:1em;font-size:.8125em}
@media screen and (min-width:768px){.literalblock pre,.listingblock>.content>pre{font-size:.90625em}}
@media screen and (min-width:1280px){.literalblock pre,.listingblock>.content>pre{font-size:1em}}
.literalblock pre,.listingblock>.content>pre:not(.highlight),.listingblock>.content>pre[class=highlight],.listingblock>.content>pre[class^="highlight "]{background:#f7f7f8}
.literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}
.listingblock>.content{position:relative}
.listingblock code[data-lang]::before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:inherit;opacity:.5}
.listingblock:hover code[data-lang]::before{display:block}
.listingblock.terminal pre .command::before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}
.listingblock.terminal pre .command:not([data-prompt])::before{content:"$"}
.listingblock pre.highlightjs{padding:0}
.listingblock pre.highlightjs>code{padding:1em;border-radius:4px}
.listingblock pre.prettyprint{border-width:0}
.prettyprint{background:#f7f7f8}
pre.prettyprint .linenums{line-height:1.45;margin-left:2em}
pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}
pre.prettyprint li code[data-lang]::before{opacity:1}
pre.prettyprint li:not(:first-child) code[data-lang]::before{display:none}
table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}
table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}
table.linenotable td.code{padding-left:.75em}
table.linenotable td.linenos,pre.pygments .linenos{border-right:1px solid;opacity:.35;padding-right:.5em;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
pre.pygments span.linenos{display:inline-block;margin-right:.75em}
.quoteblock{margin:0 1em 1.25em 1.5em;display:table}
.quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}
.quoteblock blockquote,.quoteblock p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify}
.quoteblock blockquote{margin:0;padding:0;border:0}
.quoteblock blockquote::before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)}
.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
.quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}
.verseblock{margin:0 1em 1.25em}
.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans-serif;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility}
.verseblock pre strong{font-weight:400}
.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
.quoteblock .attribution br,.verseblock .attribution br{display:none}
.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
.quoteblock.abstract blockquote::before,.quoteblock.excerpt blockquote::before,.quoteblock .quoteblock blockquote::before{display:none}
.quoteblock.abstract blockquote,.quoteblock.abstract p,.quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{line-height:1.6;word-spacing:0}
.quoteblock.abstract{margin:0 1em 1.25em;display:block}
.quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}
.quoteblock.excerpt>blockquote,.quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}
.quoteblock.excerpt,.quoteblock .quoteblock{margin-left:0}
.quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}
.quoteblock.excerpt .attribution,.quoteblock .quoteblock .attribution{color:inherit;font-size:.85rem;text-align:left;margin-right:0}
p.tableblock:last-child{margin-bottom:0}
td.tableblock>.content{margin-bottom:1.25em;word-wrap:anywhere}
td.tableblock>.content>:last-child{margin-bottom:-1.25em}
table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
table.grid-all>*>tr>*{border-width:1px}
table.grid-cols>*>tr>*{border-width:0 1px}
table.grid-rows>*>tr>*{border-width:1px 0}
table.frame-all{border-width:1px}
table.frame-ends{border-width:1px 0}
table.frame-sides{border-width:0 1px}
table.frame-none>colgroup+*>:first-child>*,table.frame-sides>colgroup+*>:first-child>*{border-top-width:0}
table.frame-none>:last-child>:last-child>*,table.frame-sides>:last-child>:last-child>*{border-bottom-width:0}
table.frame-none>*>tr>:first-child,table.frame-ends>*>tr>:first-child{border-left-width:0}
table.frame-none>*>tr>:last-child,table.frame-ends>*>tr>:last-child{border-right-width:0}
table.stripes-all>*>tr,table.stripes-odd>*>tr:nth-of-type(odd),table.stripes-even>*>tr:nth-of-type(even),table.stripes-hover>*>tr:hover{background:#f8f8f7}
th.halign-left,td.halign-left{text-align:left}
th.halign-right,td.halign-right{text-align:right}
th.halign-center,td.halign-center{text-align:center}
th.valign-top,td.valign-top{vertical-align:top}
th.valign-bottom,td.valign-bottom{vertical-align:bottom}
th.valign-middle,td.valign-middle{vertical-align:middle}
table thead th,table tfoot th{font-weight:bold}
tbody tr th{background:#f7f8f7}
tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
p.tableblock>code:only-child{background:none;padding:0}
p.tableblock{font-size:1em}
ol{margin-left:1.75em}
ul li ol{margin-left:1.5em}
dl dd{margin-left:1.125em}
dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
ul.checklist,ul.none,ol.none,ul.no-bullet,ol.no-bullet,ol.unnumbered,ul.unstyled,ol.unstyled{list-style-type:none}
ul.no-bullet,ol.no-bullet,ol.unnumbered{margin-left:.625em}
ul.unstyled,ol.unstyled{margin-left:0}
li>p:empty:only-child::before{content:"";display:inline-block}
ul.checklist>li>p:first-child{margin-left:-1em}
ul.checklist>li>p:first-child>.fa-square-o:first-child,ul.checklist>li>p:first-child>.fa-check-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em}
ul.checklist>li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}
ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}
ul.inline>li{margin-left:1.25em}
.unstyled dl dt{font-weight:400;font-style:normal}
ol.arabic{list-style-type:decimal}
ol.decimal{list-style-type:decimal-leading-zero}
ol.loweralpha{list-style-type:lower-alpha}
ol.upperalpha{list-style-type:upper-alpha}
ol.lowerroman{list-style-type:lower-roman}
ol.upperroman{list-style-type:upper-roman}
ol.lowergreek{list-style-type:lower-greek}
.hdlist>table,.colist>table{border:0;background:none}
.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
td.hdlist1{font-weight:bold;padding-bottom:1.25em}
td.hdlist2{word-wrap:anywhere}
.literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
.colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}
.colist td:not([class]):first-child img{max-width:none}
.colist td:not([class]):last-child{padding:.25em 0}
.thumb,.th{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}
.imageblock.left{margin:.25em .625em 1.25em 0}
.imageblock.right{margin:.25em 0 1.25em .625em}
.imageblock>.title{margin-bottom:0}
.imageblock.thumb,.imageblock.th{border-width:6px}
.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
.image.left{margin-right:.625em}
.image.right{margin-left:.625em}
a.image{text-decoration:none;display:inline-block}
a.image object{pointer-events:none}
sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
sup.footnote a,sup.footnoteref a{text-decoration:none}
sup.footnote a:active,sup.footnoteref a:active,#footnotes .footnote a:first-of-type:active{text-decoration:underline}
#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}
#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}
#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none;margin-left:-1.05em}
#footnotes .footnote:last-of-type{margin-bottom:0}
#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
div.unbreakable{page-break-inside:avoid}
.big{font-size:larger}
.small{font-size:smaller}
.underline{text-decoration:underline}
.overline{text-decoration:overline}
.line-through{text-decoration:line-through}
.aqua{color:#00bfbf}
.aqua-background{background:#00fafa}
.black{color:#000}
.black-background{background:#000}
.blue{color:#0000bf}
.blue-background{background:#0000fa}
.fuchsia{color:#bf00bf}
.fuchsia-background{background:#fa00fa}
.gray{color:#606060}
.gray-background{background:#7d7d7d}
.green{color:#006000}
.green-background{background:#007d00}
.lime{color:#00bf00}
.lime-background{background:#00fa00}
.maroon{color:#600000}
.maroon-background{background:#7d0000}
.navy{color:#000060}
.navy-background{background:#00007d}
.olive{color:#606000}
.olive-background{background:#7d7d00}
.purple{color:#600060}
.purple-background{background:#7d007d}
.red{color:#bf0000}
.red-background{background:#fa0000}
.silver{color:#909090}
.silver-background{background:#bcbcbc}
.teal{color:#006060}
.teal-background{background:#007d7d}
.white{color:#bfbfbf}
.white-background{background:#fafafa}
.yellow{color:#bfbf00}
.yellow-background{background:#fafa00}
span.icon>.fa{cursor:default}
a span.icon>.fa{cursor:inherit}
.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
.admonitionblock td.icon .icon-note::before{content:"\f05a";color:#19407c}
.admonitionblock td.icon .icon-tip::before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
.admonitionblock td.icon .icon-warning::before{content:"\f071";color:#bf6900}
.admonitionblock td.icon .icon-caution::before{content:"\f06d";color:#bf3400}
.admonitionblock td.icon .icon-important::before{content:"\f06a";color:#bf0000}
.conum[data-value]{display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);border-radius:50%;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
.conum[data-value] *{color:#fff!important}
.conum[data-value]+b{display:none}
.conum[data-value]::after{content:attr(data-value)}
pre .conum[data-value]{position:relative;top:-.125em}
b.conum *{color:inherit!important}
.conum:not([data-value]):empty{display:none}
dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
h1,h2,p,td.content,span.alt,summary{letter-spacing:-.01em}
p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
p,blockquote,dt,td.content,td.hdlist1,span.alt,summary{font-size:1.0625rem}
p{margin-bottom:1.25rem}
.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
.exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}
.print-only{display:none!important}
@page{margin:1.25cm .75cm}
@media print{*{box-shadow:none!important;text-shadow:none!important}
html{font-size:80%}
a{color:inherit!important;text-decoration:underline!important}
a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
a[href^="http:"]:not(.bare)::after,a[href^="https:"]:not(.bare)::after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
abbr[title]{border-bottom:1px dotted}
abbr[title]::after{content:" (" attr(title) ")"}
pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
thead{display:table-header-group}
svg{max-width:100%}
p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
#header,#content,#footnotes,#footer{max-width:none}
#toc,.sidebarblock,.exampleblock>.content{background:none!important}
#toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}
body.book #header{text-align:center}
body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}
body.book #header .details{border:0!important;display:block;padding:0!important}
body.book #header .details span:first-child{margin-left:0!important}
body.book #header .details br{display:block}
body.book #header .details br+span::before{content:none!important}
body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
.listingblock code[data-lang]::before{display:block}
#footer{padding:0 .9375em}
.hide-on-print{display:none!important}
.print-only{display:block!important}
.hide-for-print{display:none!important}
.show-for-print{display:inherit!important}}
@media amzn-kf8,print{#header>h1:first-child{margin-top:1.25rem}
.sect1{padding:0!important}
.sect1+.sect1{border:0}
#footer{background:none}
#footer-text{color:rgba(0,0,0,.6);font-size:.9em}}
@media amzn-kf8{#header,#content,#footnotes,#footer{padding:0}}
</style>
<style>
pre>code {
   display: inline;
}
</style>
</head>
<body class="manpage">
<div id="header">
<h1>git-diff(1) Manual Page</h1>
<h2 id="_name">NAME</h2>
<div class="sectionbody">
<p>git-diff - Show changes between commits, commit and working tree, etc</p>
</div>
</div>
<div id="content">
<div class="sect1">
<h2 id="_synopsis">SYNOPSIS</h2>
<div class="sectionbody">
<div class="verseblock">
<pre class="content"><code>git</code> <code>diff</code> [<em>&lt;options&gt;</em>] [<em>&lt;commit&gt;</em>] [<code>--</code>] [<em>&lt;path&gt;</em>&#8230;&#8203;]
<code>git</code> <code>diff</code> [<em>&lt;options&gt;</em>] <code>--cached</code> [<code>--merge-base</code>] [<em>&lt;commit&gt;</em>] [<code>--</code>] [<em>&lt;path&gt;</em>&#8230;&#8203;]
<code>git</code> <code>diff</code> [<em>&lt;options&gt;</em>] [<code>--merge-base</code>] <em>&lt;commit&gt;</em> [<em>&lt;commit&gt;</em>&#8230;&#8203;] <em>&lt;commit&gt;</em> [<code>--</code>] [<em>&lt;path&gt;</em>&#8230;&#8203;]
<code>git</code> <code>diff</code> [<em>&lt;options&gt;</em>] <em>&lt;commit&gt;</em><code>...</code><em>&lt;commit&gt;</em> [<code>--</code>] [<em>&lt;path&gt;</em>&#8230;&#8203;]
<code>git</code> <code>diff</code> [<em>&lt;options&gt;</em>] <em>&lt;blob&gt;</em> <em>&lt;blob&gt;</em>
<code>git</code> <code>diff</code> [<em>&lt;options&gt;</em>] <code>--no-index</code> [<code>--</code>] <em>&lt;path&gt;</em> <em>&lt;path&gt;</em> [<em>&lt;pathspec&gt;</em>&#8230;&#8203;]</pre>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_description">DESCRIPTION</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Show changes between the working tree and the index or a tree, changes
between the index and a tree, changes between two trees, changes resulting
from a merge, changes between two blob objects, or changes between two
files on disk.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><code>git</code> <code>diff</code> [<em>&lt;options&gt;</em>] [<code>--</code>] [<em>&lt;path&gt;</em>...]</dt>
<dd>
<p>This form is to view the changes you made relative to
the index (staging area for the next commit).  In other
words, the differences are what you <em>could</em> tell Git to
further add to the index but you still haven&#8217;t.  You can
stage these changes by using <a href="git-add.html">git-add(1)</a>.</p>
</dd>
<dt class="hdlist1"><code>git</code> <code>diff</code> [<em>&lt;options&gt;</em>] <code>--no-index</code> [<code>--</code>] <em>&lt;path&gt;</em> <em>&lt;path&gt;</em> [<em>&lt;pathspec&gt;</em>...]</dt>
<dd>
<p>This form is to compare the given two paths on the
filesystem.  You can omit the <code>--no-index</code> option when
running the command in a working tree controlled by Git and
at least one of the paths points outside the working tree,
or when running the command outside a working tree
controlled by Git. This form implies <code>--exit-code</code>. If both
paths point to directories, additional pathspecs may be
provided. These will limit the files included in the
difference. All such pathspecs must be relative as they
apply to both sides of the diff.</p>
</dd>
<dt class="hdlist1"><code>git</code> <code>diff</code> [<em>&lt;options&gt;</em>] <code>--cached</code> [<code>--merge-base</code>] [<em>&lt;commit&gt;</em>] [<code>--</code>] [<em>&lt;path&gt;</em>...]</dt>
<dd>
<p>This form is to view the changes you staged for the next
commit relative to the named <em>&lt;commit&gt;</em>.  Typically you
would want comparison with the latest commit, so if you
do not give <em>&lt;commit&gt;</em>, it defaults to <code>HEAD</code>.
If <code>HEAD</code> does not exist (e.g. unborn branches) and
<em>&lt;commit&gt;</em> is not given, it shows all staged changes.
<code>--staged</code> is a synonym of <code>--cached</code>.</p>
<div class="paragraph">
<p>If <code>--merge-base</code> is given, instead of using <em>&lt;commit&gt;</em>, use the merge base
of <em>&lt;commit&gt;</em> and <code>HEAD</code>.  <code>git</code> <code>diff</code> <code>--cached</code> <code>--merge-base</code> <code>A</code> is equivalent to
<code>git</code> <code>diff</code> <code>--cached</code> <code>$</code>(<code>git</code> <code>merge-base</code> <code>A</code> <code>HEAD</code>).</p>
</div>
</dd>
<dt class="hdlist1"><code>git</code> <code>diff</code> [<em>&lt;options&gt;</em>] [<code>--merge-base</code>] <em>&lt;commit&gt;</em> [<code>--</code>] [<em>&lt;path&gt;</em>...]</dt>
<dd>
<p>This form is to view the changes you have in your
working tree relative to the named <em>&lt;commit&gt;</em>.  You can
use <code>HEAD</code> to compare it with the latest commit, or a
branch name to compare with the tip of a different
branch.</p>
<div class="paragraph">
<p>If <code>--merge-base</code> is given, instead of using <em>&lt;commit&gt;</em>, use the merge base
of <em>&lt;commit&gt;</em> and <code>HEAD</code>.  <code>git</code> <code>diff</code> <code>--merge-base</code> <code>A</code> is equivalent to
<code>git</code> <code>diff</code> <code>$</code>(<code>git</code> <code>merge-base</code> <code>A</code> <code>HEAD</code>).</p>
</div>
</dd>
<dt class="hdlist1"><code>git</code> <code>diff</code> [<em>&lt;options&gt;</em>] [<code>--merge-base</code>] <em>&lt;commit&gt;</em> <em>&lt;commit&gt;</em> [<code>--</code>] [<em>&lt;path&gt;</em>...]</dt>
<dd>
<p>This is to view the changes between two arbitrary
<em>&lt;commit&gt;</em>.</p>
<div class="paragraph">
<p>If <code>--merge-base</code> is given, use the merge base of the two commits for the
"before" side.  <code>git</code> <code>diff</code> <code>--merge-base</code> <code>A</code> <code>B</code> is equivalent to
<code>git</code> <code>diff</code> <code>$</code>(<code>git</code> <code>merge-base</code> <code>A</code> <code>B</code>) <code>B</code>.</p>
</div>
</dd>
<dt class="hdlist1"><code>git</code> <code>diff</code> [<em>&lt;options&gt;</em>] <em>&lt;commit&gt;</em> <em>&lt;commit&gt;</em><code>...</code><em>&lt;commit&gt;</em> [<code>--</code>] [<em>&lt;path&gt;</em>...]</dt>
<dd>
<p>This form is to view the results of a merge commit.  The first
listed <em>&lt;commit&gt;</em> must be the merge itself; the remaining two or
more commits should be its parents.  Convenient ways to produce
the desired set of revisions are to use the suffixes <code>@</code> and
<code>^</code>!.  If <code>A</code> is a merge commit, then <code>git</code> <code>diff</code> <code>A</code> <code>A^@</code>,
<code>git</code> <code>diff</code> <code>A^</code>! and <code>git</code> <code>show</code> <code>A</code> all give the same combined diff.</p>
</dd>
<dt class="hdlist1"><code>git</code> <code>diff</code> [<em>&lt;options&gt;</em>] <em>&lt;commit&gt;</em><code>..</code><em>&lt;commit&gt;</em> [<code>--</code>] [<em>&lt;path&gt;</em>...]</dt>
<dd>
<p>This is synonymous to the earlier form (without the <code>..</code>) for
viewing the changes between two arbitrary <em>&lt;commit&gt;</em>.  If <em>&lt;commit&gt;</em> on
one side is omitted, it will have the same effect as
using <code>HEAD</code> instead.</p>
</dd>
<dt class="hdlist1"><code>git</code> <code>diff</code> [<em>&lt;options&gt;</em>] <em>&lt;commit&gt;</em><code>...</code><em>&lt;commit&gt;</em> [<code>--</code>] [<em>&lt;path&gt;</em>...]</dt>
<dd>
<p>This form is to view the changes on the branch containing
and up to the second <em>&lt;commit&gt;</em>, starting at a common ancestor
of both <em>&lt;commit&gt;</em>.  <code>git</code> <code>diff</code> <code>A</code><code>...</code><code>B</code> is equivalent to
<code>git</code> <code>diff</code> <code>$</code>(<code>git</code> <code>merge-base</code> <code>A</code> <code>B</code>) <code>B</code>.  You can omit any one
of <em>&lt;commit&gt;</em>, which has the same effect as using <code>HEAD</code> instead.</p>
</dd>
</dl>
</div>
<div class="paragraph">
<p>Just in case you are doing something exotic, it should be
noted that all of the <em>&lt;commit&gt;</em> in the above description, except
in the <code>--merge-base</code> case and in the last two forms that use <code>..</code>
notations, can be any <em>&lt;tree&gt;</em>. A tree of interest is the one pointed to
by the ref named <code>AUTO_MERGE</code>, which is written by the <code>ort</code> merge
strategy upon hitting merge conflicts (see <a href="git-merge.html">git-merge(1)</a>).
Comparing the working tree with <code>AUTO_MERGE</code> shows changes you&#8217;ve made
so far to resolve textual conflicts (see the examples below).</p>
</div>
<div class="paragraph">
<p>For a more complete list of ways to spell <em>&lt;commit&gt;</em>, see
"SPECIFYING REVISIONS" section in <a href="gitrevisions.html">gitrevisions(7)</a>.
However, <code>diff</code> is about comparing two <em>endpoints</em>, not ranges,
and the range notations (<em>&lt;commit&gt;</em><code>..</code><em>&lt;commit&gt;</em> and <em>&lt;commit&gt;</em><code>...</code><em>&lt;commit&gt;</em>)
do not mean a range as defined in the
"SPECIFYING RANGES" section in <a href="gitrevisions.html">gitrevisions(7)</a>.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><code>git</code> <code>diff</code> [<em>&lt;options&gt;</em>] <em>&lt;blob&gt;</em> <em>&lt;blob&gt;</em></dt>
<dd>
<p>This form is to view the differences between the raw
contents of two blob objects.</p>
</dd>
</dl>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_options">OPTIONS</h2>
<div class="sectionbody">
<div class="dlist">
<dl>
<dt class="hdlist1"><code>-p</code></dt>
<dt class="hdlist1"><code>-u</code></dt>
<dt class="hdlist1"><code>--patch</code></dt>
<dd>
<p>Generate patch (see <a href="#generate_patch_text_with_p">Generating patch text with -p</a>).
This is the default.</p>
</dd>
<dt class="hdlist1"><code>-s</code></dt>
<dt class="hdlist1"><code>--no-patch</code></dt>
<dd>
<p>Suppress all output from the diff machinery.  Useful for
commands like <code>git</code> <code>show</code> that show the patch by default to
squelch their output, or to cancel the effect of options like
<code>--patch</code>, <code>--stat</code> earlier on the command line in an alias.</p>
</dd>
<dt class="hdlist1"><code>-U</code><em>&lt;n&gt;</em></dt>
<dt class="hdlist1"><code>--unified=</code><em>&lt;n&gt;</em></dt>
<dd>
<p>Generate diffs with <em>&lt;n&gt;</em> lines of context instead of
the usual three.
Implies <code>--patch</code>.</p>
</dd>
<dt class="hdlist1"><code>--output=</code><em>&lt;file&gt;</em></dt>
<dd>
<p>Output to a specific file instead of stdout.</p>
</dd>
<dt class="hdlist1"><code>--output-indicator-new=</code><em>&lt;char&gt;</em></dt>
<dt class="hdlist1"><code>--output-indicator-old=</code><em>&lt;char&gt;</em></dt>
<dt class="hdlist1"><code>--output-indicator-context=</code><em>&lt;char&gt;</em></dt>
<dd>
<p>Specify the character used to indicate new, old or context
lines in the generated patch. Normally they are <code>+</code>, <code>-</code> and
' ' respectively.</p>
</dd>
<dt class="hdlist1"><code>--raw</code></dt>
<dd>
<p>Generate the diff in raw format.</p>
</dd>
<dt class="hdlist1"><code>--patch-with-raw</code></dt>
<dd>
<p>Synonym for <code>-p</code> <code>--raw</code>.</p>
</dd>
<dt class="hdlist1"><code>--indent-heuristic</code></dt>
<dd>
<p>Enable the heuristic that shifts diff hunk boundaries to make patches
easier to read. This is the default.</p>
</dd>
<dt class="hdlist1"><code>--no-indent-heuristic</code></dt>
<dd>
<p>Disable the indent heuristic.</p>
</dd>
<dt class="hdlist1"><code>--minimal</code></dt>
<dd>
<p>Spend extra time to make sure the smallest possible
diff is produced.</p>
</dd>
<dt class="hdlist1"><code>--patience</code></dt>
<dd>
<p>Generate a diff using the "patience diff" algorithm.</p>
</dd>
<dt class="hdlist1"><code>--histogram</code></dt>
<dd>
<p>Generate a diff using the "histogram diff" algorithm.</p>
</dd>
<dt class="hdlist1"><code>--anchored=</code><em>&lt;text&gt;</em></dt>
<dd>
<p>Generate a diff using the "anchored diff" algorithm.</p>
<div class="paragraph">
<p>This option may be specified more than once.</p>
</div>
<div class="paragraph">
<p>If a line exists in both the source and destination, exists only once,
and starts with <em>&lt;text&gt;</em>, this algorithm attempts to prevent it from
appearing as a deletion or addition in the output. It uses the "patience
diff" algorithm internally.</p>
</div>
</dd>
<dt class="hdlist1"><code>--diff-algorithm=</code>(<code>patience</code>|<code>minimal</code>|<code>histogram</code>|<code>myers</code>)</dt>
<dd>
<p>Choose a diff algorithm. The variants are as follows:</p>
<div class="openblock">
<div class="content">
<div class="dlist">
<dl>
<dt class="hdlist1"><code>default</code></dt>
<dt class="hdlist1"><code>myers</code></dt>
<dd>
<p>The basic greedy diff algorithm. Currently, this is the default.</p>
</dd>
<dt class="hdlist1"><code>minimal</code></dt>
<dd>
<p>Spend extra time to make sure the smallest possible diff is
produced.</p>
</dd>
<dt class="hdlist1"><code>patience</code></dt>
<dd>
<p>Use "patience diff" algorithm when generating patches.</p>
</dd>
<dt class="hdlist1"><code>histogram</code></dt>
<dd>
<p>This algorithm extends the patience algorithm to "support
low-occurrence common elements".</p>
</dd>
</dl>
</div>
</div>
</div>
<div class="paragraph">
<p>For instance, if you configured the <code>diff.algorithm</code> variable to a
non-default value and want to use the default one, then you
have to use <code>--diff-algorithm=default</code> option.</p>
</div>
</dd>
<dt class="hdlist1"><code>--stat</code>[<code>=</code><em>&lt;width&gt;</em>[<code>,</code><em>&lt;name-width&gt;</em>[<code>,</code><em>&lt;count&gt;</em>]]]</dt>
<dd>
<p>Generate a diffstat. By default, as much space as necessary
will be used for the filename part, and the rest for the graph
part. Maximum width defaults to terminal width, or 80 columns
if not connected to a terminal, and can be overridden by
<em>&lt;width&gt;</em>. The width of the filename part can be limited by
giving another width <em>&lt;name-width&gt;</em> after a comma or by setting
<code>diff.statNameWidth=</code><em>&lt;name-width&gt;</em>. The width of the graph part can be
limited by using <code>--stat-graph-width=</code><em>&lt;graph-width&gt;</em> or by setting
<code>diff.statGraphWidth=</code><em>&lt;graph-width&gt;</em>. Using <code>--stat</code> or
<code>--stat-graph-width</code> affects all commands generating a stat graph,
while setting <code>diff.statNameWidth</code> or <code>diff.statGraphWidth</code>
does not affect <code>git</code> <code>format-patch</code>.
By giving a third parameter <em>&lt;count&gt;</em>, you can limit the output to
the first <em>&lt;count&gt;</em> lines, followed by <code>...</code> if there are more.</p>
<div class="paragraph">
<p>These parameters can also be set individually with <code>--stat-width=</code><em>&lt;width&gt;</em>,
<code>--stat-name-width=</code><em>&lt;name-width&gt;</em> and <code>--stat-count=</code><em>&lt;count&gt;</em>.</p>
</div>
</dd>
<dt class="hdlist1"><code>--compact-summary</code></dt>
<dd>
<p>Output a condensed summary of extended header information such
as file creations or deletions ("new" or "gone", optionally <code>+l</code>
if it&#8217;s a symlink) and mode changes (<code>+x</code> or <code>-x</code> for adding
or removing executable bit respectively) in diffstat. The
information is put between the filename part and the graph
part. Implies <code>--stat</code>.</p>
</dd>
<dt class="hdlist1"><code>--numstat</code></dt>
<dd>
<p>Similar to <code>--stat</code>, but shows number of added and
deleted lines in decimal notation and pathname without
abbreviation, to make it more machine friendly.  For
binary files, outputs two <code>-</code> instead of saying
<code>0</code> <code>0</code>.</p>
</dd>
<dt class="hdlist1"><code>--shortstat</code></dt>
<dd>
<p>Output only the last line of the <code>--stat</code> format containing total
number of modified files, as well as number of added and deleted
lines.</p>
</dd>
<dt class="hdlist1"><code>-X</code> [<em>&lt;param&gt;</em><code>,..</code>.]</dt>
<dt class="hdlist1"><code>--dirstat</code>[<code>=</code><em>&lt;param&gt;</em><code>,..</code>.]</dt>
<dd>
<p>Output the distribution of relative amount of changes for each
sub-directory. The behavior of <code>--dirstat</code> can be customized by
passing it a comma separated list of parameters.
The defaults are controlled by the <code>diff.dirstat</code> configuration
variable (see <a href="git-config.html">git-config(1)</a>).
The following parameters are available:</p>
<div class="openblock">
<div class="content">
<div class="dlist">
<dl>
<dt class="hdlist1"><code>changes</code></dt>
<dd>
<p>Compute the dirstat numbers by counting the lines that have been
removed from the source, or added to the destination. This ignores
the amount of pure code movements within a file.  In other words,
rearranging lines in a file is not counted as much as other changes.
This is the default behavior when no parameter is given.</p>
</dd>
<dt class="hdlist1"><code>lines</code></dt>
<dd>
<p>Compute the dirstat numbers by doing the regular line-based diff
analysis, and summing the removed/added line counts. (For binary
files, count 64-byte chunks instead, since binary files have no
natural concept of lines). This is a more expensive <code>--dirstat</code>
behavior than the <code>changes</code> behavior, but it does count rearranged
lines within a file as much as other changes. The resulting output
is consistent with what you get from the other <code>--*stat</code> options.</p>
</dd>
<dt class="hdlist1"><code>files</code></dt>
<dd>
<p>Compute the dirstat numbers by counting the number of files changed.
Each changed file counts equally in the dirstat analysis. This is
the computationally cheapest <code>--dirstat</code> behavior, since it does
not have to look at the file contents at all.</p>
</dd>
<dt class="hdlist1"><code>cumulative</code></dt>
<dd>
<p>Count changes in a child directory for the parent directory as well.
Note that when using <code>cumulative</code>, the sum of the percentages
reported may exceed 100%. The default (non-cumulative) behavior can
be specified with the <code>noncumulative</code> parameter.</p>
</dd>
<dt class="hdlist1"><em>&lt;limit&gt;</em></dt>
<dd>
<p>An integer parameter specifies a cut-off percent (3% by default).
Directories contributing less than this percentage of the changes
are not shown in the output.</p>
</dd>
</dl>
</div>
</div>
</div>
<div class="paragraph">
<p>Example: The following will count changed files, while ignoring
directories with less than 10% of the total amount of changed files,
and accumulating child directory counts in the parent directories:
<code>--dirstat=files,10,cumulative</code>.</p>
</div>
</dd>
<dt class="hdlist1"><code>--cumulative</code></dt>
<dd>
<p>Synonym for <code>--dirstat=cumulative</code>.</p>
</dd>
<dt class="hdlist1"><code>--dirstat-by-file</code>[<code>=</code><em>&lt;param&gt;</em><code>,..</code>.]</dt>
<dd>
<p>Synonym for <code>--dirstat=files,</code><em>&lt;param&gt;</em><code>,..</code>..</p>
</dd>
<dt class="hdlist1"><code>--summary</code></dt>
<dd>
<p>Output a condensed summary of extended header information
such as creations, renames and mode changes.</p>
</dd>
<dt class="hdlist1"><code>--patch-with-stat</code></dt>
<dd>
<p>Synonym for <code>-p</code> <code>--stat</code>.</p>
</dd>
<dt class="hdlist1"><code>-z</code></dt>
<dd>
<p>When <code>--raw</code>, <code>--numstat</code>, <code>--name-only</code> or <code>--name-status</code> has been
given, do not munge pathnames and use NULs as output field terminators.</p>
<div class="paragraph">
<p>Without this option, pathnames with "unusual" characters are quoted as
explained for the configuration variable <code>core.quotePath</code> (see
<a href="git-config.html">git-config(1)</a>).</p>
</div>
</dd>
<dt class="hdlist1"><code>--name-only</code></dt>
<dd>
<p>Show only the name of each changed file in the post-image tree.
The file names are often encoded in UTF-8.
For more information see the discussion about encoding in the <a href="git-log.html">git-log(1)</a>
manual page.</p>
</dd>
<dt class="hdlist1"><code>--name-status</code></dt>
<dd>
<p>Show only the name(s) and status of each changed file. See the description
of the <code>--diff-filter</code> option on what the status letters mean.
Just like <code>--name-only</code> the file names are often encoded in UTF-8.</p>
</dd>
<dt class="hdlist1"><code>--submodule</code>[<code>=</code><em>&lt;format&gt;</em>]</dt>
<dd>
<p>Specify how differences in submodules are shown.  When specifying
<code>--submodule=short</code> the <code>short</code> format is used.  This format just
shows the names of the commits at the beginning and end of the range.
When <code>--submodule</code> or <code>--submodule=log</code> is specified, the <code>log</code>
format is used.  This format lists the commits in the range like
<a href="git-submodule.html">git-submodule(1)</a> <code>summary</code> does.  When <code>--submodule=diff</code>
is specified, the <code>diff</code> format is used.  This format shows an
inline diff of the changes in the submodule contents between the
commit range.  Defaults to <code>diff.submodule</code> or the <code>short</code> format
if the config option is unset.</p>
</dd>
<dt class="hdlist1"><code>--color</code>[<code>=</code><em>&lt;when&gt;</em>]</dt>
<dd>
<p>Show colored diff.
<code>--color</code> (i.e. without <code>=</code><em>&lt;when&gt;</em>) is the same as <code>--color=always</code>.
<em>&lt;when&gt;</em> can be one of <code>always</code>, <code>never</code>, or <code>auto</code>.
It can be changed by the <code>color.ui</code> and <code>color.diff</code>
configuration settings.</p>
</dd>
<dt class="hdlist1"><code>--no-color</code></dt>
<dd>
<p>Turn off colored diff.
This can be used to override configuration settings.
It is the same as <code>--color=never</code>.</p>
</dd>
<dt class="hdlist1"><code>--color-moved</code>[<code>=</code><em>&lt;mode&gt;</em>]</dt>
<dd>
<p>Moved lines of code are colored differently.
It can be changed by the <code>diff.colorMoved</code> configuration setting.
The <em>&lt;mode&gt;</em> defaults to <code>no</code> if the option is not given
and to <code>zebra</code> if the option with no mode is given.
The mode must be one of:</p>
<div class="openblock">
<div class="content">
<div class="dlist">
<dl>
<dt class="hdlist1"><code>no</code></dt>
<dd>
<p>Moved lines are not highlighted.</p>
</dd>
<dt class="hdlist1"><code>default</code></dt>
<dd>
<p>Is a synonym for <code>zebra</code>. This may change to a more sensible mode
in the future.</p>
</dd>
<dt class="hdlist1"><code>plain</code></dt>
<dd>
<p>Any line that is added in one location and was removed
in another location will be colored with <code>color.diff.newMoved</code>.
Similarly <code>color.diff.oldMoved</code> will be used for removed lines
that are added somewhere else in the diff. This mode picks up any
moved line, but it is not very useful in a review to determine
if a block of code was moved without permutation.</p>
</dd>
<dt class="hdlist1"><code>blocks</code></dt>
<dd>
<p>Blocks of moved text of at least 20 alphanumeric characters
are detected greedily. The detected blocks are
painted using either the <code>color.diff.</code>(<code>old</code>|<code>new</code>)<code>Moved</code> color.
Adjacent blocks cannot be told apart.</p>
</dd>
<dt class="hdlist1"><code>zebra</code></dt>
<dd>
<p>Blocks of moved text are detected as in <code>blocks</code> mode. The blocks
are painted using either the <code>color.diff.</code>(<code>old</code>|<code>new</code>)<code>Moved</code> color or
<code>color.diff.</code>(<code>old</code>|<code>new</code>)<code>MovedAlternative</code>. The change between
the two colors indicates that a new block was detected.</p>
</dd>
<dt class="hdlist1"><code>dimmed-zebra</code></dt>
<dd>
<p>Similar to <code>zebra</code>, but additional dimming of uninteresting parts
of moved code is performed. The bordering lines of two adjacent
blocks are considered interesting, the rest is uninteresting.
<code>dimmed_zebra</code> is a deprecated synonym.</p>
</dd>
</dl>
</div>
</div>
</div>
</dd>
<dt class="hdlist1"><code>--no-color-moved</code></dt>
<dd>
<p>Turn off move detection. This can be used to override configuration
settings. It is the same as <code>--color-moved=no</code>.</p>
</dd>
<dt class="hdlist1"><code>--color-moved-ws=</code><em>&lt;mode&gt;</em><code>,..</code>.</dt>
<dd>
<p>This configures how whitespace is ignored when performing the
move detection for <code>--color-moved</code>.
It can be set by the <code>diff.colorMovedWS</code> configuration setting.
These modes can be given as a comma separated list:</p>
<div class="openblock">
<div class="content">
<div class="dlist">
<dl>
<dt class="hdlist1"><code>no</code></dt>
<dd>
<p>Do not ignore whitespace when performing move detection.</p>
</dd>
<dt class="hdlist1"><code>ignore-space-at-eol</code></dt>
<dd>
<p>Ignore changes in whitespace at EOL.</p>
</dd>
<dt class="hdlist1"><code>ignore-space-change</code></dt>
<dd>
<p>Ignore changes in amount of whitespace.  This ignores whitespace
at line end, and considers all other sequences of one or
more whitespace characters to be equivalent.</p>
</dd>
<dt class="hdlist1"><code>ignore-all-space</code></dt>
<dd>
<p>Ignore whitespace when comparing lines. This ignores differences
even if one line has whitespace where the other line has none.</p>
</dd>
<dt class="hdlist1"><code>allow-indentation-change</code></dt>
<dd>
<p>Initially ignore any whitespace in the move detection, then
group the moved code blocks only into a block if the change in
whitespace is the same per line. This is incompatible with the
other modes.</p>
</dd>
</dl>
</div>
</div>
</div>
</dd>
<dt class="hdlist1"><code>--no-color-moved-ws</code></dt>
<dd>
<p>Do not ignore whitespace when performing move detection. This can be
used to override configuration settings. It is the same as
<code>--color-moved-ws=no</code>.</p>
</dd>
<dt class="hdlist1"><code>--word-diff</code>[<code>=</code><em>&lt;mode&gt;</em>]</dt>
<dd>
<p>By default, words are delimited by whitespace; see
<code>--word-diff-regex</code> below.  The <em>&lt;mode&gt;</em> defaults to <code>plain</code>, and
must be one of:</p>
<div class="openblock">
<div class="content">
<div class="dlist">
<dl>
<dt class="hdlist1"><code>color</code></dt>
<dd>
<p>Highlight changed words using only colors.  Implies <code>--color</code>.</p>
</dd>
<dt class="hdlist1"><code>plain</code></dt>
<dd>
<p>Show words as [<code>-removed-</code>] and {<code>added</code>}.  Makes no
attempts to escape the delimiters if they appear in the input,
so the output may be ambiguous.</p>
</dd>
<dt class="hdlist1"><code>porcelain</code></dt>
<dd>
<p>Use a special line-based format intended for script
consumption.  Added/removed/unchanged runs are printed in the
usual unified diff format, starting with a <code>+</code>/<code>-</code>/` `
character at the beginning of the line and extending to the
end of the line.  Newlines in the input are represented by a
tilde <code>~</code> on a line of its own.</p>
</dd>
<dt class="hdlist1"><code>none</code></dt>
<dd>
<p>Disable word diff again.</p>
</dd>
</dl>
</div>
</div>
</div>
<div class="paragraph">
<p>Note that despite the name of the first mode, color is used to
highlight the changed parts in all modes if enabled.</p>
</div>
</dd>
<dt class="hdlist1"><code>--word-diff-regex=</code><em>&lt;regex&gt;</em></dt>
<dd>
<p>Use <em>&lt;regex&gt;</em> to decide what a word is, instead of considering
runs of non-whitespace to be a word.  Also implies
<code>--word-diff</code> unless it was already enabled.</p>
<div class="paragraph">
<p>Every non-overlapping match of the
<em>&lt;regex&gt;</em> is considered a word.  Anything between these matches is
considered whitespace and ignored(!) for the purposes of finding
differences.  You may want to append |[<code>^</code>[<code>:space:</code>]] to your regular
expression to make sure that it matches all non-whitespace characters.
A match that contains a newline is silently truncated(!) at the
newline.</p>
</div>
<div class="paragraph">
<p>For example, <code>--word-diff-regex=.</code> will treat each character as a word
and, correspondingly, show differences character by character.</p>
</div>
<div class="paragraph">
<p>The regex can also be set via a diff driver or configuration option, see
<a href="gitattributes.html">gitattributes(5)</a> or <a href="git-config.html">git-config(1)</a>.  Giving it explicitly
overrides any diff driver or configuration setting.  Diff drivers
override configuration settings.</p>
</div>
</dd>
<dt class="hdlist1"><code>--color-words</code>[<code>=</code><em>&lt;regex&gt;</em>]</dt>
<dd>
<p>Equivalent to <code>--word-diff=color</code> plus (if a regex was
specified) <code>--word-diff-regex=</code><em>&lt;regex&gt;</em>.</p>
</dd>
<dt class="hdlist1"><code>--no-renames</code></dt>
<dd>
<p>Turn off rename detection, even when the configuration
file gives the default to do so.</p>
</dd>
<dt class="hdlist1"><code>--rename-empty</code></dt>
<dt class="hdlist1"><code>--no-rename-empty</code></dt>
<dd>
<p>Whether to use empty blobs as rename source.</p>
</dd>
<dt class="hdlist1"><code>--check</code></dt>
<dd>
<p>Warn if changes introduce conflict markers or whitespace errors.
What are considered whitespace errors is controlled by <code>core.whitespace</code>
configuration.  By default, trailing whitespaces (including
lines that consist solely of whitespaces) and a space character
that is immediately followed by a tab character inside the
initial indent of the line are considered whitespace errors.
Exits with non-zero status if problems are found. Not compatible
with <code>--exit-code</code>.</p>
</dd>
<dt class="hdlist1"><code>--ws-error-highlight=</code><em>&lt;kind&gt;</em></dt>
<dd>
<p>Highlight whitespace errors in the <code>context</code>, <code>old</code> or <code>new</code>
lines of the diff.  Multiple values are separated by comma,
<code>none</code> resets previous values, <code>default</code> reset the list to
<code>new</code> and <code>all</code> is a shorthand for <code>old,new,context</code>.  When
this option is not given, and the configuration variable
<code>diff.wsErrorHighlight</code> is not set, only whitespace errors in
<code>new</code> lines are highlighted. The whitespace errors are colored
with <code>color.diff.whitespace</code>.</p>
</dd>
<dt class="hdlist1"><code>--full-index</code></dt>
<dd>
<p>Instead of the first handful of characters, show the full
pre- and post-image blob object names on the "index"
line when generating patch format output.</p>
</dd>
<dt class="hdlist1"><code>--binary</code></dt>
<dd>
<p>In addition to <code>--full-index</code>, output a binary diff that
can be applied with <code>git-apply</code>.
Implies <code>--patch</code>.</p>
</dd>
<dt class="hdlist1"><code>--abbrev</code>[<code>=</code><em>&lt;n&gt;</em>]</dt>
<dd>
<p>Instead of showing the full 40-byte hexadecimal object
name in diff-raw format output and diff-tree header
lines, show the shortest prefix that is at least <em>&lt;n&gt;</em>
hexdigits long that uniquely refers the object.
In diff-patch output format, <code>--full-index</code> takes higher
precedence, i.e. if <code>--full-index</code> is specified, full blob
names will be shown regardless of <code>--abbrev</code>.
Non default number of digits can be specified with <code>--abbrev=</code><em>&lt;n&gt;</em>.</p>
</dd>
<dt class="hdlist1"><code>-B</code>[<em>&lt;n&gt;</em>][<code>/</code><em>&lt;m&gt;</em>]</dt>
<dt class="hdlist1"><code>--break-rewrites</code>[<code>=</code>[<em>&lt;n&gt;</em>][<code>/</code><em>&lt;m&gt;</em>]]</dt>
<dd>
<p>Break complete rewrite changes into pairs of delete and
create. This serves two purposes:</p>
<div class="paragraph">
<p>It affects the way a change that amounts to a total rewrite of a file
not as a series of deletion and insertion mixed together with a very
few lines that happen to match textually as the context, but as a
single deletion of everything old followed by a single insertion of
everything new, and the number <em>&lt;m&gt;</em> controls this aspect of the <code>-B</code>
option (defaults to 60%). <code>-B/70%</code> specifies that less than 30% of the
original should remain in the result for Git to consider it a total
rewrite (i.e. otherwise the resulting patch will be a series of
deletion and insertion mixed together with context lines).</p>
</div>
<div class="paragraph">
<p>When used with <code>-M</code>, a totally-rewritten file is also considered as the
source of a rename (usually <code>-M</code> only considers a file that disappeared
as the source of a rename), and the number <em>&lt;n&gt;</em> controls this aspect of
the <code>-B</code> option (defaults to 50%). <code>-B20%</code> specifies that a change with
addition and deletion compared to 20% or more of the file&#8217;s size are
eligible for being picked up as a possible source of a rename to
another file.</p>
</div>
</dd>
<dt class="hdlist1"><code>-M</code>[<em>&lt;n&gt;</em>]</dt>
<dt class="hdlist1"><code>--find-renames</code>[<code>=</code><em>&lt;n&gt;</em>]</dt>
<dd>
<p>Detect renames.
If <em>&lt;n&gt;</em> is specified, it is a threshold on the similarity
index (i.e. amount of addition/deletions compared to the
file&#8217;s size). For example, <code>-M90%</code> means Git should consider a
delete/add pair to be a rename if more than 90% of the file
hasn&#8217;t changed.  Without a <code>%</code> sign, the number is to be read as
a fraction, with a decimal point before it.  I.e., <code>-M5</code> becomes
0.5, and is thus the same as <code>-M50%</code>.  Similarly, <code>-M05</code> is
the same as <code>-M5%</code>.  To limit detection to exact renames, use
<code>-M100%</code>.  The default similarity index is 50%.</p>
</dd>
<dt class="hdlist1"><code>-C</code>[<em>&lt;n&gt;</em>]</dt>
<dt class="hdlist1"><code>--find-copies</code>[<code>=</code><em>&lt;n&gt;</em>]</dt>
<dd>
<p>Detect copies as well as renames.  See also <code>--find-copies-harder</code>.
If <em>&lt;n&gt;</em> is specified, it has the same meaning as for <code>-M</code><em>&lt;n&gt;</em>.</p>
</dd>
<dt class="hdlist1"><code>--find-copies-harder</code></dt>
<dd>
<p>For performance reasons, by default, <code>-C</code> option finds copies only
if the original file of the copy was modified in the same
changeset.  This flag makes the command
inspect unmodified files as candidates for the source of
copy.  This is a very expensive operation for large
projects, so use it with caution.  Giving more than one
<code>-C</code> option has the same effect.</p>
</dd>
<dt class="hdlist1"><code>-D</code></dt>
<dt class="hdlist1"><code>--irreversible-delete</code></dt>
<dd>
<p>Omit the preimage for deletes, i.e. print only the header but not
the diff between the preimage and <code>/dev/null</code>. The resulting patch
is not meant to be applied with <code>patch</code> or <code>git</code> <code>apply</code>; this is
solely for people who want to just concentrate on reviewing the
text after the change. In addition, the output obviously lacks
enough information to apply such a patch in reverse, even manually,
hence the name of the option.</p>
<div class="paragraph">
<p>When used together with <code>-B</code>, omit also the preimage in the deletion part
of a delete/create pair.</p>
</div>
</dd>
<dt class="hdlist1"><code>-l</code><em>&lt;num&gt;</em></dt>
<dd>
<p>The <code>-M</code> and <code>-C</code> options involve some preliminary steps that
can detect subsets of renames/copies cheaply, followed by an
exhaustive fallback portion that compares all remaining
unpaired destinations to all relevant sources.  (For renames,
only remaining unpaired sources are relevant; for copies, all
original sources are relevant.)  For N sources and
destinations, this exhaustive check is O(N^2).  This option
prevents the exhaustive portion of rename/copy detection from
running if the number of source/destination files involved
exceeds the specified number.  Defaults to <code>diff.renameLimit</code>.
Note that a value of 0 is treated as unlimited.</p>
</dd>
<dt class="hdlist1"><code>--diff-filter=</code>[(<code>A</code>|<code>C</code>|<code>D</code>|<code>M</code>|<code>R</code>|<code>T</code>|<code>U</code>|<code>X</code>|<code>B</code>)<code>...</code>[<code>*</code>]]</dt>
<dd>
<p>Select only files that are Added (<code>A</code>), Copied (<code>C</code>),
Deleted (<code>D</code>), Modified (<code>M</code>), Renamed (<code>R</code>), have their
type (i.e. regular file, symlink, submodule, &#8230;&#8203;) changed (<code>T</code>),
are Unmerged (<code>U</code>), are
Unknown (<code>X</code>), or have had their pairing Broken (<code>B</code>).
Any combination of the filter characters (including none) can be used.
When <code>*</code> (All-or-none) is added to the combination, all
paths are selected if there is any file that matches
other criteria in the comparison; if there is no file
that matches other criteria, nothing is selected.</p>
<div class="paragraph">
<p>Also, these upper-case letters can be downcased to exclude.  E.g.
<code>--diff-filter=ad</code> excludes added and deleted paths.</p>
</div>
<div class="paragraph">
<p>Note that not all diffs can feature all types. For instance, copied and
renamed entries cannot appear if detection for those types is disabled.</p>
</div>
</dd>
<dt class="hdlist1"><code>-S</code><em>&lt;string&gt;</em></dt>
<dd>
<p>Look for differences that change the number of occurrences of
the specified <em>&lt;string&gt;</em> (i.e. addition/deletion) in a file.
Intended for the scripter&#8217;s use.</p>
<div class="paragraph">
<p>It is useful when you&#8217;re looking for an exact block of code (like a
struct), and want to know the history of that block since it first
came into being: use the feature iteratively to feed the interesting
block in the preimage back into <code>-S</code>, and keep going until you get the
very first version of the block.</p>
</div>
<div class="paragraph">
<p>Binary files are searched as well.</p>
</div>
</dd>
<dt class="hdlist1"><code>-G</code><em>&lt;regex&gt;</em></dt>
<dd>
<p>Look for differences whose patch text contains added/removed
lines that match <em>&lt;regex&gt;</em>.</p>
<div class="paragraph">
<p>To illustrate the difference between <code>-S</code><em>&lt;regex&gt;</em> <code>--pickaxe-regex</code> and
<code>-G</code><em>&lt;regex&gt;</em>, consider a commit with the following diff in the same
file:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>+    return frotz(nitfol, two-&gt;ptr, 1, 0);
...
-    hit = frotz(nitfol, mf2.ptr, 1, 0);</pre>
</div>
</div>
<div class="paragraph">
<p>While <code>git</code> <code>log</code> <code>-G</code>"frotz\(<code>nitfol</code>" will show this commit, <code>git</code> <code>log</code>
<code>-S</code>"frotz\(<code>nitfol</code>" <code>--pickaxe-regex</code> will not (because the number of
occurrences of that string did not change).</p>
</div>
<div class="paragraph">
<p>Unless <code>--text</code> is supplied patches of binary files without a textconv
filter will be ignored.</p>
</div>
<div class="paragraph">
<p>See the <em>pickaxe</em> entry in <a href="gitdiffcore.html">gitdiffcore(7)</a> for more
information.</p>
</div>
</dd>
<dt class="hdlist1"><code>--find-object=</code><em>&lt;object-id&gt;</em></dt>
<dd>
<p>Look for differences that change the number of occurrences of
the specified object. Similar to <code>-S</code>, just the argument is different
in that it doesn&#8217;t search for a specific string but for a specific
object id.</p>
<div class="paragraph">
<p>The object can be a blob or a submodule commit. It implies the <code>-t</code> option in
<code>git-log</code> to also find trees.</p>
</div>
</dd>
<dt class="hdlist1"><code>--pickaxe-all</code></dt>
<dd>
<p>When <code>-S</code> or <code>-G</code> finds a change, show all the changes in that
changeset, not just the files that contain the change
in <em>&lt;string&gt;</em>.</p>
</dd>
<dt class="hdlist1"><code>--pickaxe-regex</code></dt>
<dd>
<p>Treat the <em>&lt;string&gt;</em> given to <code>-S</code> as an extended POSIX regular
expression to match.</p>
</dd>
<dt class="hdlist1"><code>-O</code><em>&lt;orderfile&gt;</em></dt>
<dd>
<p>Control the order in which files appear in the output.
This overrides the <code>diff.orderFile</code> configuration variable
(see <a href="git-config.html">git-config(1)</a>).  To cancel <code>diff.orderFile</code>,
use <code>-O/dev/null</code>.</p>
<div class="paragraph">
<p>The output order is determined by the order of glob patterns in
<em>&lt;orderfile&gt;</em>.
All files with pathnames that match the first pattern are output
first, all files with pathnames that match the second pattern (but not
the first) are output next, and so on.
All files with pathnames that do not match any pattern are output
last, as if there was an implicit match-all pattern at the end of the
file.
If multiple pathnames have the same rank (they match the same pattern
but no earlier patterns), their output order relative to each other is
the normal order.</p>
</div>
<div class="paragraph">
<p><em>&lt;orderfile&gt;</em> is parsed as follows:</p>
</div>
<div class="openblock">
<div class="content">
<div class="ulist">
<ul>
<li>
<p>Blank lines are ignored, so they can be used as separators for
readability.</p>
</li>
<li>
<p>Lines starting with a hash ("#") are ignored, so they can be used
for comments.  Add a backslash ("<code>\</code>") to the beginning of the
pattern if it starts with a hash.</p>
</li>
<li>
<p>Each other line contains a single pattern.</p>
</li>
</ul>
</div>
</div>
</div>
<div class="paragraph">
<p>Patterns have the same syntax and semantics as patterns used for
<code>fnmatch</code>(3) without the <code>FNM_PATHNAME</code> flag, except a pathname also
matches a pattern if removing any number of the final pathname
components matches the pattern.  For example, the pattern "<code>foo*bar</code>"
matches "<code>fooasdfbar</code>" and "<code>foo/bar/baz/asdf</code>" but not "<code>foobarx</code>".</p>
</div>
</dd>
<dt class="hdlist1"><code>--skip-to=</code><em>&lt;file&gt;</em></dt>
<dt class="hdlist1"><code>--rotate-to=</code><em>&lt;file&gt;</em></dt>
<dd>
<p>Discard the files before the named <em>&lt;file&gt;</em> from the output
(i.e. <em>skip to</em>), or move them to the end of the output
(i.e. <em>rotate to</em>).  These options were invented primarily for the use
of the <code>git</code> <code>difftool</code> command, and may not be very useful
otherwise.</p>
</dd>
<dt class="hdlist1"><code>-R</code></dt>
<dd>
<p>Swap two inputs; that is, show differences from index or
on-disk file to tree contents.</p>
</dd>
<dt class="hdlist1"><code>--relative</code>[<code>=</code><em>&lt;path&gt;</em>]</dt>
<dt class="hdlist1"><code>--no-relative</code></dt>
<dd>
<p>When run from a subdirectory of the project, it can be
told to exclude changes outside the directory and show
pathnames relative to it with this option.  When you are
not in a subdirectory (e.g. in a bare repository), you
can name which subdirectory to make the output relative
to by giving a <em>&lt;path&gt;</em> as an argument.
<code>--no-relative</code> can be used to countermand both <code>diff.relative</code> config
option and previous <code>--relative</code>.</p>
</dd>
<dt class="hdlist1"><code>-a</code></dt>
<dt class="hdlist1"><code>--text</code></dt>
<dd>
<p>Treat all files as text.</p>
</dd>
<dt class="hdlist1"><code>--ignore-cr-at-eol</code></dt>
<dd>
<p>Ignore carriage-return at the end of line when doing a comparison.</p>
</dd>
<dt class="hdlist1"><code>--ignore-space-at-eol</code></dt>
<dd>
<p>Ignore changes in whitespace at EOL.</p>
</dd>
<dt class="hdlist1"><code>-b</code></dt>
<dt class="hdlist1"><code>--ignore-space-change</code></dt>
<dd>
<p>Ignore changes in amount of whitespace.  This ignores whitespace
at line end, and considers all other sequences of one or
more whitespace characters to be equivalent.</p>
</dd>
<dt class="hdlist1"><code>-w</code></dt>
<dt class="hdlist1"><code>--ignore-all-space</code></dt>
<dd>
<p>Ignore whitespace when comparing lines.  This ignores
differences even if one line has whitespace where the other
line has none.</p>
</dd>
<dt class="hdlist1"><code>--ignore-blank-lines</code></dt>
<dd>
<p>Ignore changes whose lines are all blank.</p>
</dd>
<dt class="hdlist1"><code>-I</code><em>&lt;regex&gt;</em></dt>
<dt class="hdlist1"><code>--ignore-matching-lines=</code><em>&lt;regex&gt;</em></dt>
<dd>
<p>Ignore changes whose all lines match <em>&lt;regex&gt;</em>.  This option may
be specified more than once.</p>
</dd>
<dt class="hdlist1"><code>--inter-hunk-context=</code><em>&lt;number&gt;</em></dt>
<dd>
<p>Show the context between diff hunks, up to the specified <em>&lt;number&gt;</em>
of lines, thereby fusing hunks that are close to each other.
Defaults to <code>diff.interHunkContext</code> or 0 if the config option
is unset.</p>
</dd>
<dt class="hdlist1"><code>-W</code></dt>
<dt class="hdlist1"><code>--function-context</code></dt>
<dd>
<p>Show whole function as context lines for each change.
The function names are determined in the same way as
<code>git</code> <code>diff</code> works out patch hunk headers (see "Defining a
custom hunk-header" in <a href="gitattributes.html">gitattributes(5)</a>).</p>
</dd>
<dt class="hdlist1"><code>--exit-code</code></dt>
<dd>
<p>Make the program exit with codes similar to <code>diff</code>(1).
That is, it exits with 1 if there were differences and
0 means no differences.</p>
</dd>
<dt class="hdlist1"><code>--quiet</code></dt>
<dd>
<p>Disable all output of the program. Implies <code>--exit-code</code>.
Disables execution of external diff helpers whose exit code
is not trusted, i.e. their respective configuration option
<code>diff.trustExitCode</code> or <code>diff.</code><em>&lt;driver&gt;</em>.<code>trustExitCode</code> or
environment variable <code>GIT_EXTERNAL_DIFF_TRUST_EXIT_CODE</code> is
false.</p>
</dd>
<dt class="hdlist1"><code>--ext-diff</code></dt>
<dd>
<p>Allow an external diff helper to be executed. If you set an
external diff driver with <a href="gitattributes.html">gitattributes(5)</a>, you need
to use this option with <a href="git-log.html">git-log(1)</a> and friends.</p>
</dd>
<dt class="hdlist1"><code>--no-ext-diff</code></dt>
<dd>
<p>Disallow external diff drivers.</p>
</dd>
<dt class="hdlist1"><code>--textconv</code></dt>
<dt class="hdlist1"><code>--no-textconv</code></dt>
<dd>
<p>Allow (or disallow) external text conversion filters to be run
when comparing binary files. See <a href="gitattributes.html">gitattributes(5)</a> for
details. Because textconv filters are typically a one-way
conversion, the resulting diff is suitable for human
consumption, but cannot be applied. For this reason, textconv
filters are enabled by default only for <a href="git-diff.html">git-diff(1)</a> and
<a href="git-log.html">git-log(1)</a>, but not for <a href="git-format-patch.html">git-format-patch(1)</a> or
diff plumbing commands.</p>
</dd>
<dt class="hdlist1"><code>--ignore-submodules</code>[<code>=</code>(<code>none</code>|<code>untracked</code>|<code>dirty</code>|<code>all</code>)]</dt>
<dd>
<p>Ignore changes to submodules in the diff generation. <code>all</code> is the default.
Using <code>none</code> will consider the submodule modified when it either contains
untracked or modified files or its <code>HEAD</code> differs from the commit recorded
in the superproject and can be used to override any settings of the
<code>ignore</code> option in <a href="git-config.html">git-config(1)</a> or <a href="gitmodules.html">gitmodules(5)</a>. When
<code>untracked</code> is used submodules are not considered dirty when they only
contain untracked content (but they are still scanned for modified
content). Using <code>dirty</code> ignores all changes to the work tree of submodules,
only changes to the commits stored in the superproject are shown (this was
the behavior until 1.7.0). Using <code>all</code> hides all changes to submodules.</p>
</dd>
<dt class="hdlist1"><code>--src-prefix=</code><em>&lt;prefix&gt;</em></dt>
<dd>
<p>Show the given source <em>&lt;prefix&gt;</em> instead of "a/".</p>
</dd>
<dt class="hdlist1"><code>--dst-prefix=</code><em>&lt;prefix&gt;</em></dt>
<dd>
<p>Show the given destination <em>&lt;prefix&gt;</em> instead of "b/".</p>
</dd>
<dt class="hdlist1"><code>--no-prefix</code></dt>
<dd>
<p>Do not show any source or destination prefix.</p>
</dd>
<dt class="hdlist1"><code>--default-prefix</code></dt>
<dd>
<p>Use the default source and destination prefixes ("a/" and "b/").
This overrides configuration variables such as <code>diff.noprefix</code>,
<code>diff.srcPrefix</code>, <code>diff.dstPrefix</code>, and <code>diff.mnemonicPrefix</code>
(see <a href="git-config.html">git-config(1)</a>).</p>
</dd>
<dt class="hdlist1"><code>--line-prefix=</code><em>&lt;prefix&gt;</em></dt>
<dd>
<p>Prepend an additional <em>&lt;prefix&gt;</em> to every line of output.</p>
</dd>
<dt class="hdlist1"><code>--ita-invisible-in-index</code></dt>
<dd>
<p>By default entries added by <code>git</code> <code>add</code> <code>-N</code> appear as an existing
empty file in <code>git</code> <code>diff</code> and a new file in <code>git</code> <code>diff</code> <code>--cached</code>.
This option makes the entry appear as a new file in <code>git</code> <code>diff</code>
and non-existent in <code>git</code> <code>diff</code> <code>--cached</code>. This option could be
reverted with <code>--ita-visible-in-index</code>. Both options are
experimental and could be removed in future.</p>
</dd>
<dt class="hdlist1">--max-depth=&lt;depth&gt;</dt>
<dd>
<p>For each pathspec given on command line, descend at most <em>&lt;depth&gt;</em>
levels of directories. A value of <code>-1</code> means no limit.
Cannot be combined with wildcards in the pathspec.
Given a tree containing <code>foo/bar/baz</code>, the following list shows the
matches generated by each set of options:</p>
<div class="openblock">
<div class="content">
<div class="ulist">
<ul>
<li>
<p><code>--max-depth=0</code> <code>--</code> <code>foo</code>: <code>foo</code></p>
</li>
<li>
<p><code>--max-depth=1</code> <code>--</code> <code>foo</code>: <code>foo/bar</code></p>
</li>
<li>
<p><code>--max-depth=1</code> <code>--</code> <code>foo/bar</code>: <code>foo/bar/baz</code></p>
</li>
<li>
<p><code>--max-depth=1</code> <code>--</code> <code>foo</code> <code>foo/bar</code>: <code>foo/bar/baz</code></p>
</li>
<li>
<p><code>--max-depth=2</code> <code>--</code> <code>foo</code>: <code>foo/bar/baz</code></p>
</li>
</ul>
</div>
</div>
</div>
<div class="paragraph">
<p>If no pathspec is given, the depth is measured as if all
top-level entries were specified. Note that this is different
than measuring from the root, in that <code>--max-depth=0</code> would
still return <code>foo</code>. This allows you to still limit depth while
asking for a subset of the top-level entries.</p>
</div>
<div class="paragraph">
<p>Note that this option is only supported for diffs between tree objects,
not against the index or working tree.</p>
</div>
</dd>
</dl>
</div>
<div class="paragraph">
<p>For more detailed explanation on these common options, see also
<a href="gitdiffcore.html">gitdiffcore(7)</a>.</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><code>-1</code></dt>
<dt class="hdlist1"><code>--base</code></dt>
<dt class="hdlist1"><code>-2</code></dt>
<dt class="hdlist1"><code>--ours</code></dt>
<dt class="hdlist1"><code>-3</code></dt>
<dt class="hdlist1"><code>--theirs</code></dt>
<dd>
<p>Compare the working tree with</p>
<div class="openblock">
<div class="content">
<div class="ulist">
<ul>
<li>
<p>the "base" version (stage #1) when using <code>-1</code> or <code>--base</code>,</p>
</li>
<li>
<p>"our branch" (stage #2) when using <code>-2</code> or <code>--ours</code>, or</p>
</li>
<li>
<p>"their branch" (stage #3) when using <code>-3</code> or <code>--theirs</code>.</p>
</li>
</ul>
</div>
</div>
</div>
<div class="paragraph">
<p>The index contains these stages only for unmerged entries i.e.
while resolving conflicts.  See <a href="git-read-tree.html">git-read-tree(1)</a>
section "3-Way Merge" for detailed information.</p>
</div>
</dd>
<dt class="hdlist1"><code>-0</code></dt>
<dd>
<p>Omit diff output for unmerged entries and just show
"Unmerged".  Can be used only when comparing the working tree
with the index.</p>
</dd>
<dt class="hdlist1"><em>&lt;path&gt;</em>...</dt>
<dd>
<p>The <em>&lt;path&gt;</em> parameters, when given, are used to limit
the diff to the named paths (you can give directory
names and get diff for all files under them).</p>
</dd>
</dl>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_raw_output_format">Raw output format</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The raw output format from <code>git-diff-index</code>, <code>git-diff-tree</code>,
<code>git-diff-files</code> and <code>git</code> <code>diff</code> <code>--raw</code> are very similar.</p>
</div>
<div class="paragraph">
<p>These commands all compare two sets of things; what is
compared differs:</p>
</div>
<div class="dlist">
<dl>
<dt class="hdlist1"><code>git-diff-index</code> <em>&lt;tree-ish&gt;</em></dt>
<dd>
<p>compares the <em>&lt;tree-ish&gt;</em> and the files on the filesystem.</p>
</dd>
<dt class="hdlist1"><code>git-diff-index</code> <code>--cached</code> <em>&lt;tree-ish&gt;</em></dt>
<dd>
<p>compares the <em>&lt;tree-ish&gt;</em> and the index.</p>
</dd>
<dt class="hdlist1"><code>git-diff-tree</code> [<code>-r</code>] <em>&lt;tree-ish-1&gt;</em> <em>&lt;tree-ish-2&gt;</em> [<em>&lt;pattern&gt;</em>...]</dt>
<dd>
<p>compares the trees named by the two arguments.</p>
</dd>
<dt class="hdlist1"><code>git-diff-files</code> [<em>&lt;pattern&gt;</em>...]</dt>
<dd>
<p>compares the index and the files on the filesystem.</p>
</dd>
</dl>
</div>
<div class="paragraph">
<p>The <code>git-diff-tree</code> command begins its output by printing the hash of
what is being compared. After that, all the commands print one output
line per changed file.</p>
</div>
<div class="paragraph">
<p>An output line is formatted this way:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>in-place edit  :100644 100644 bcd1234 0123456 M file0
copy-edit      :100644 100644 abcd123 1234567 C68 file1 file2
rename-edit    :100644 100644 abcd123 1234567 R86 file1 file3
create         :000000 100644 0000000 1234567 A file4
delete         :100644 000000 1234567 0000000 D file5
unmerged       :000000 000000 0000000 0000000 U file6</pre>
</div>
</div>
<div class="paragraph">
<p>That is, from the left to the right:</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>a colon.</p>
</li>
<li>
<p>mode for "src"; 000000 if creation or unmerged.</p>
</li>
<li>
<p>a space.</p>
</li>
<li>
<p>mode for "dst"; 000000 if deletion or unmerged.</p>
</li>
<li>
<p>a space.</p>
</li>
<li>
<p>sha1 for "src"; 0{40} if creation or unmerged.</p>
</li>
<li>
<p>a space.</p>
</li>
<li>
<p>sha1 for "dst"; 0{40} if deletion, unmerged or "work tree out of sync with the index".</p>
</li>
<li>
<p>a space.</p>
</li>
<li>
<p>status, followed by optional "score" number.</p>
</li>
<li>
<p>a tab or a NUL when <code>-z</code> option is used.</p>
</li>
<li>
<p>path for "src"</p>
</li>
<li>
<p>a tab or a NUL when <code>-z</code> option is used; only exists for C or R.</p>
</li>
<li>
<p>path for "dst"; only exists for C or R.</p>
</li>
<li>
<p>an LF or a NUL when <code>-z</code> option is used, to terminate the record.</p>
</li>
</ol>
</div>
<div class="paragraph">
<p>Possible status letters are:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><code>A</code>: addition of a file</p>
</li>
<li>
<p><code>C</code>: copy of a file into a new one</p>
</li>
<li>
<p><code>D</code>: deletion of a file</p>
</li>
<li>
<p><code>M</code>: modification of the contents or mode of a file</p>
</li>
<li>
<p><code>R</code>: renaming of a file</p>
</li>
<li>
<p><code>T</code>: change in the type of the file (regular file, symbolic link or submodule)</p>
</li>
<li>
<p><code>U</code>: file is unmerged (you must complete the merge before it can
be committed)</p>
</li>
<li>
<p><code>X</code>: "unknown" change type (most probably a bug, please report it)</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>Status letters <code>C</code> and <code>R</code> are always followed by a score (denoting the
percentage of similarity between the source and target of the move or
copy).  Status letter <code>M</code> may be followed by a score (denoting the
percentage of dissimilarity) for file rewrites.</p>
</div>
<div class="paragraph">
<p>The sha1 for "dst" is shown as all 0&#8217;s if a file on the filesystem
is out of sync with the index.</p>
</div>
<div class="paragraph">
<p>Example:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>:100644 100644 5be4a4a 0000000 M file.c</pre>
</div>
</div>
<div class="paragraph">
<p>Without the <code>-z</code> option, pathnames with "unusual" characters are
quoted as explained for the configuration variable <code>core.quotePath</code>
(see <a href="git-config.html">git-config(1)</a>).  Using <code>-z</code> the filename is output
verbatim and the line is terminated by a NUL byte.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_diff_format_for_merges">diff format for merges</h2>
<div class="sectionbody">
<div class="paragraph">
<p><code>git-diff-tree</code>, <code>git-diff-files</code> and <code>git-diff</code> <code>--raw</code>
can take <code>-c</code> or <code>--cc</code> option
to generate diff output also for merge commits.  The output differs
from the format described above in the following way:</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>there is a colon for each parent</p>
</li>
<li>
<p>there are more "src" modes and "src" sha1</p>
</li>
<li>
<p>status is concatenated status characters for each parent</p>
</li>
<li>
<p>no optional "score" number</p>
</li>
<li>
<p>tab-separated pathname(s) of the file</p>
</li>
</ol>
</div>
<div class="paragraph">
<p>For <code>-c</code> and <code>--cc</code>, only the destination or final path is shown even
if the file was renamed on any side of history.  With
<code>--combined-all-paths</code>, the name of the path in each parent is shown
followed by the name of the path in the merge commit.</p>
</div>
<div class="paragraph">
<p>Examples for <code>-c</code> and <code>--cc</code> without <code>--combined-all-paths</code>:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>::100644 100644 100644 fabadb8 cc95eb0 4866510 MM       desc.c
::100755 100755 100755 52b7a2d 6d1ac04 d2ac7d7 RM       bar.sh
::100644 100644 100644 e07d6c5 9042e82 ee91881 RR       phooey.c</pre>
</div>
</div>
<div class="paragraph">
<p>Examples when <code>--combined-all-paths</code> added to either <code>-c</code> or <code>--cc</code>:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>::100644 100644 100644 fabadb8 cc95eb0 4866510 MM       desc.c  desc.c  desc.c
::100755 100755 100755 52b7a2d 6d1ac04 d2ac7d7 RM       foo.sh  bar.sh  bar.sh
::100644 100644 100644 e07d6c5 9042e82 ee91881 RR       fooey.c fuey.c  phooey.c</pre>
</div>
</div>
<div class="paragraph">
<p>Note that <em>combined diff</em> lists only files which were modified from
all parents.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="generate_patch_text_with_p">Generating patch text with -p</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Running
<a href="git-diff.html">git-diff(1)</a>,
<a href="git-log.html">git-log(1)</a>,
<a href="git-show.html">git-show(1)</a>,
<a href="git-diff-index.html">git-diff-index(1)</a>,
<a href="git-diff-tree.html">git-diff-tree(1)</a>, or
<a href="git-diff-files.html">git-diff-files(1)</a>
with the <code>-p</code> option produces patch text.
You can customize the creation of patch text via the
<code>GIT_EXTERNAL_DIFF</code> and the <code>GIT_DIFF_OPTS</code> environment variables
(see <a href="git.html">git(1)</a>), and the <code>diff</code> attribute (see <a href="gitattributes.html">gitattributes(5)</a>).</p>
</div>
<div class="paragraph">
<p>What the <code>-p</code> option produces is slightly different from the traditional
diff format:</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>It is preceded by a "git diff" header that looks like this:</p>
<div class="literalblock">
<div class="content">
<pre>diff --git a/file1 b/file2</pre>
</div>
</div>
<div class="paragraph">
<p>The <code>a/</code> and <code>b/</code> filenames are the same unless rename/copy is
involved.  Especially, even for a creation or a deletion,
<code>/dev/null</code> is <em>not</em> used in place of the <code>a/</code> or <code>b/</code> filenames.</p>
</div>
<div class="paragraph">
<p>When a rename/copy is involved, <code>file1</code> and <code>file2</code> show the
name of the source file of the rename/copy and the name of
the file that the rename/copy produces, respectively.</p>
</div>
</li>
<li>
<p>It is followed by one or more extended header lines:</p>
<div class="verseblock">
<pre class="content"><code>old</code> <code>mode</code> <em>&lt;mode&gt;</em>
<code>new</code> <code>mode</code> <em>&lt;mode&gt;</em>
<code>deleted</code> <code>file</code> <code>mode</code> <em>&lt;mode&gt;</em>
<code>new</code> <code>file</code> <code>mode</code> <em>&lt;mode&gt;</em>
<code>copy</code> <code>from</code> <em>&lt;path&gt;</em>
<code>copy</code> <code>to</code> <em>&lt;path&gt;</em>
<code>rename</code> <code>from</code> <em>&lt;path&gt;</em>
<code>rename</code> <code>to</code> <em>&lt;path&gt;</em>
<code>similarity</code> <code>index</code> <em>&lt;number&gt;</em>
<code>dissimilarity</code> <code>index</code> <em>&lt;number&gt;</em>
<code>index</code> <em>&lt;hash&gt;</em><code>..</code><em>&lt;hash&gt;</em> <em>&lt;mode&gt;</em></pre>
</div>
<div class="paragraph">
<p>File modes <em>&lt;mode&gt;</em> are printed as 6-digit octal numbers including the file type
and file permission bits.</p>
</div>
<div class="paragraph">
<p>Path names in extended headers do not include the <code>a/</code> and <code>b/</code> prefixes.</p>
</div>
<div class="paragraph">
<p>The similarity index is the percentage of unchanged lines, and
the dissimilarity index is the percentage of changed lines.  It
is a rounded down integer, followed by a percent sign.  The
similarity index value of 100% is thus reserved for two equal
files, while 100% dissimilarity means that no line from the old
file made it into the new one.</p>
</div>
<div class="paragraph">
<p>The index line includes the blob object names before and after the change.
The <em>&lt;mode&gt;</em> is included if the file mode does not change; otherwise,
separate lines indicate the old and the new mode.</p>
</div>
</li>
<li>
<p>Pathnames with "unusual" characters are quoted as explained for
the configuration variable <code>core.quotePath</code> (see
<a href="git-config.html">git-config(1)</a>).</p>
</li>
<li>
<p>All the <code>file1</code> files in the output refer to files before the
commit, and all the <code>file2</code> files refer to files after the commit.
It is incorrect to apply each change to each file sequentially.  For
example, this patch will swap a and b:</p>
<div class="literalblock">
<div class="content">
<pre>diff --git a/a b/b
rename from a
rename to b
diff --git a/b b/a
rename from b
rename to a</pre>
</div>
</div>
</li>
<li>
<p>Hunk headers mention the name of the function to which the hunk
applies.  See "Defining a custom hunk-header" in
<a href="gitattributes.html">gitattributes(5)</a> for details of how to tailor this to
specific languages.</p>
</li>
</ol>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_combined_diff_format">Combined diff format</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Any diff-generating command can take the <code>-c</code> or <code>--cc</code> option to
produce a <em>combined diff</em> when showing a merge. This is the default
format when showing merges with <a href="git-diff.html">git-diff(1)</a> or
<a href="git-show.html">git-show(1)</a>. Note also that you can give suitable
<code>--diff-merges</code> option to any of these commands to force generation of
diffs in a specific format.</p>
</div>
<div class="paragraph">
<p>A "combined diff" format looks like this:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>diff --combined describe.c
index fabadb8,cc95eb0..4866510
--- a/describe.c
+++ b/describe.c
@@@ -98,20 -98,12 +98,20 @@@
        return (a_date &gt; b_date) ? -1 : (a_date == b_date) ? 0 : 1;
  }

- static void describe(char *arg)
 -static void describe(struct commit *cmit, int last_one)
++static void describe(char *arg, int last_one)
  {
 +      unsigned char sha1[20];
 +      struct commit *cmit;
        struct commit_list *list;
        static int initialized = 0;
        struct commit_name *n;

 +      if (get_sha1(arg, sha1) &lt; 0)
 +              usage(describe_usage);
 +      cmit = lookup_commit_reference(sha1);
 +      if (!cmit)
 +              usage(describe_usage);
 +
        if (!initialized) {
                initialized = 1;
                for_each_ref(get_name);</pre>
</div>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>It is preceded by a "git diff" header, that looks like
this (when the <code>-c</code> option is used):</p>
<div class="literalblock">
<div class="content">
<pre>diff --combined file</pre>
</div>
</div>
<div class="paragraph">
<p>or like this (when the <code>--cc</code> option is used):</p>
</div>
<div class="literalblock">
<div class="content">
<pre>diff --cc file</pre>
</div>
</div>
</li>
<li>
<p>It is followed by one or more extended header lines
(this example shows a merge with two parents):</p>
<div class="verseblock">
<pre class="content"><code>index</code> <em>&lt;hash&gt;</em><code>,</code><em>&lt;hash&gt;</em><code>..</code><em>&lt;hash&gt;</em>
<code>mode</code> <em>&lt;mode&gt;</em><code>,</code><em>&lt;mode&gt;</em><code>..</code><em>&lt;mode&gt;</em>
<code>new</code> <code>file</code> <code>mode</code> <em>&lt;mode&gt;</em>
<code>deleted</code> <code>file</code> <code>mode</code> <em>&lt;mode&gt;</em><code>,</code><em>&lt;mode&gt;</em></pre>
</div>
<div class="paragraph">
<p>The <code>mode</code> <em>&lt;mode&gt;</em><code>,</code><em>&lt;mode&gt;</em><code>..</code><em>&lt;mode&gt;</em> line appears only if at least one of
the &lt;mode&gt; is different from the rest. Extended headers with
information about detected content movement (renames and
copying detection) are designed to work with the diff of two
<em>&lt;tree-ish&gt;</em> and are not used by combined diff format.</p>
</div>
</li>
<li>
<p>It is followed by a two-line from-file/to-file header:</p>
<div class="literalblock">
<div class="content">
<pre>--- a/file
+++ b/file</pre>
</div>
</div>
<div class="paragraph">
<p>Similar to the two-line header for the traditional <em>unified</em> diff
format, <code>/dev/null</code> is used to signal created or deleted
files.</p>
</div>
<div class="paragraph">
<p>However, if the --combined-all-paths option is provided, instead of a
two-line from-file/to-file, you get an N+1 line from-file/to-file header,
where N is the number of parents in the merge commit:</p>
</div>
<div class="literalblock">
<div class="content">
<pre>--- a/file
--- a/file
--- a/file
+++ b/file</pre>
</div>
</div>
<div class="paragraph">
<p>This extended format can be useful if rename or copy detection is
active, to allow you to see the original name of the file in different
parents.</p>
</div>
</li>
<li>
<p>Chunk header format is modified to prevent people from
accidentally feeding it to <code>patch</code> <code>-p1</code>. Combined diff format
was created for review of merge commit changes, and was not
meant to be applied. The change is similar to the change in the
extended <em>index</em> header:</p>
<div class="literalblock">
<div class="content">
<pre>@@@ &lt;from-file-range&gt; &lt;from-file-range&gt; &lt;to-file-range&gt; @@@</pre>
</div>
</div>
<div class="paragraph">
<p>There are (number of parents + 1) <code>@</code> characters in the chunk
header for combined diff format.</p>
</div>
</li>
</ol>
</div>
<div class="paragraph">
<p>Unlike the traditional <em>unified</em> diff format, which shows two
files A and B with a single column that has <code>-</code> (minus&#8201;&#8212;&#8201;appears in A but removed in B), <code>+</code> (plus&#8201;&#8212;&#8201;missing in A but
added to B), or " " (space&#8201;&#8212;&#8201;unchanged) prefix, this format
compares two or more files file1, file2,&#8230;&#8203; with one file X, and
shows how X differs from each of fileN.  One column for each of
fileN is prepended to the output line to note how X&#8217;s line is
different from it.</p>
</div>
<div class="paragraph">
<p>A <code>-</code> character in the column N means that the line appears in
fileN but it does not appear in the result.  A <code>+</code> character
in the column N means that the line appears in the result,
and fileN does not have that line (in other words, the line was
added, from the point of view of that parent).</p>
</div>
<div class="paragraph">
<p>In the above example output, the function signature was changed
from both files (hence two <code>-</code> removals from both file1 and
file2, plus <code>++</code> to mean one line that was added does not appear
in either file1 or file2).  Also, eight other lines are the same
from file1 but do not appear in file2 (hence prefixed with <code>+</code>).</p>
</div>
<div class="paragraph">
<p>When shown by <code>git</code> <code>diff-tree</code> <code>-c</code>, it compares the parents of a
merge commit with the merge result (i.e. file1..fileN are the
parents).  When shown by <code>git</code> <code>diff-files</code> <code>-c</code>, it compares the
two unresolved merge parents with the working tree file
(i.e. file1 is stage 2 aka "our version", file2 is stage 3 aka
"their version").</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_other_diff_formats">other diff formats</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The <code>--summary</code> option describes newly added, deleted, renamed and
copied files.  The <code>--stat</code> option adds <code>diffstat</code>(1) graph to the
output.  These options can be combined with other options, such as
<code>-p</code>, and are meant for human consumption.</p>
</div>
<div class="paragraph">
<p>When showing a change that involves a rename or a copy, <code>--stat</code> output
formats the pathnames compactly by combining common prefix and suffix of
the pathnames.  For example, a change that moves <code>arch/i386/Makefile</code> to
<code>arch/x86/Makefile</code> while modifying 4 lines will be shown like this:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>arch/{i386 =&gt; x86}/Makefile    |   4 +--</pre>
</div>
</div>
<div class="paragraph">
<p>The <code>--numstat</code> option gives the diffstat(1) information but is designed
for easier machine consumption.  An entry in <code>--numstat</code> output looks
like this:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>1       2       README
3       1       arch/{i386 =&gt; x86}/Makefile</pre>
</div>
</div>
<div class="paragraph">
<p>That is, from left to right:</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>the number of added lines;</p>
</li>
<li>
<p>a tab;</p>
</li>
<li>
<p>the number of deleted lines;</p>
</li>
<li>
<p>a tab;</p>
</li>
<li>
<p>pathname (possibly with rename/copy information);</p>
</li>
<li>
<p>a newline.</p>
</li>
</ol>
</div>
<div class="paragraph">
<p>When <code>-z</code> output option is in effect, the output is formatted this way:</p>
</div>
<div class="listingblock">
<div class="content">
<pre>1       2       README NUL
3       1       NUL arch/i386/Makefile NUL arch/x86/Makefile NUL</pre>
</div>
</div>
<div class="paragraph">
<p>That is:</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>the number of added lines;</p>
</li>
<li>
<p>a tab;</p>
</li>
<li>
<p>the number of deleted lines;</p>
</li>
<li>
<p>a tab;</p>
</li>
<li>
<p>a NUL (only exists if renamed/copied);</p>
</li>
<li>
<p>pathname in preimage;</p>
</li>
<li>
<p>a NUL (only exists if renamed/copied);</p>
</li>
<li>
<p>pathname in postimage (only exists if renamed/copied);</p>
</li>
<li>
<p>a NUL.</p>
</li>
</ol>
</div>
<div class="paragraph">
<p>The extra <code>NUL</code> before the preimage path in renamed case is to allow
scripts that read the output to tell if the current record being read is
a single-path record or a rename/copy record without reading ahead.
After reading added and deleted lines, reading up to <code>NUL</code> would yield
the pathname, but if that is <code>NUL</code>, the record will show two paths.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_examples">EXAMPLES</h2>
<div class="sectionbody">
<div class="dlist">
<dl>
<dt class="hdlist1">Various ways to check your working tree</dt>
<dd>
<div class="listingblock">
<div class="content">
<pre>$ git diff            <b class="conum">(1)</b>
$ git diff --cached   <b class="conum">(2)</b>
$ git diff HEAD       <b class="conum">(3)</b>
$ git diff AUTO_MERGE <b class="conum">(4)</b></pre>
</div>
</div>
<div class="colist arabic">
<ol>
<li>
<p>Changes in the working tree not yet staged for the next commit.</p>
</li>
<li>
<p>Changes between the index and your last commit; what you
would be committing if you run <code>git</code> <code>commit</code> without <code>-a</code> option.</p>
</li>
<li>
<p>Changes in the working tree since your last commit; what you
would be committing if you run <code>git</code> <code>commit</code> <code>-a</code></p>
</li>
<li>
<p>Changes in the working tree you&#8217;ve made to resolve textual
conflicts so far.</p>
</li>
</ol>
</div>
</dd>
<dt class="hdlist1">Comparing with arbitrary commits</dt>
<dd>
<div class="listingblock">
<div class="content">
<pre>$ git diff test            <b class="conum">(1)</b>
$ git diff HEAD -- ./test  <b class="conum">(2)</b>
$ git diff HEAD^ HEAD      <b class="conum">(3)</b></pre>
</div>
</div>
<div class="colist arabic">
<ol>
<li>
<p>Instead of using the tip of the current branch, compare with the
tip of "test" branch.</p>
</li>
<li>
<p>Instead of comparing with the tip of "test" branch, compare with
the tip of the current branch, but limit the comparison to the
file "test".</p>
</li>
<li>
<p>Compare the version before the last commit and the last commit.</p>
</li>
</ol>
</div>
</dd>
<dt class="hdlist1">Comparing branches</dt>
<dd>
<div class="listingblock">
<div class="content">
<pre>$ git diff topic master    <b class="conum">(1)</b>
$ git diff topic..master   <b class="conum">(2)</b>
$ git diff topic...master  <b class="conum">(3)</b></pre>
</div>
</div>
<div class="colist arabic">
<ol>
<li>
<p>Changes between the tips of the topic and the master branches.</p>
</li>
<li>
<p>Same as above.</p>
</li>
<li>
<p>Changes that occurred on the master branch since when the topic
branch was started off it.</p>
</li>
</ol>
</div>
</dd>
<dt class="hdlist1">Limiting the diff output</dt>
<dd>
<div class="listingblock">
<div class="content">
<pre>$ git diff --diff-filter=MRC            <b class="conum">(1)</b>
$ git diff --name-status                <b class="conum">(2)</b>
$ git diff arch/i386 include/asm-i386   <b class="conum">(3)</b></pre>
</div>
</div>
<div class="colist arabic">
<ol>
<li>
<p>Show only modification, rename, and copy, but not addition
or deletion.</p>
</li>
<li>
<p>Show only names and the nature of change, but not actual
diff output.</p>
</li>
<li>
<p>Limit diff output to named subtrees.</p>
</li>
</ol>
</div>
</dd>
<dt class="hdlist1">Munging the diff output</dt>
<dd>
<div class="listingblock">
<div class="content">
<pre>$ git diff --find-copies-harder -B -C  <b class="conum">(1)</b>
$ git diff -R                          <b class="conum">(2)</b></pre>
</div>
</div>
<div class="colist arabic">
<ol>
<li>
<p>Spend extra cycles to find renames, copies and complete
rewrites (very expensive).</p>
</li>
<li>
<p>Output diff in reverse.</p>
</li>
</ol>
</div>
</dd>
</dl>
</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"><code>diff.autoRefreshIndex</code></dt>
<dd>
<p>When using <code>git</code> <code>diff</code> to compare with work tree
files, do not consider stat-only changes as changed.
Instead, silently run <code>git</code> <code>update-index</code> <code>--refresh</code> to
update the cached stat information for paths whose
contents in the work tree match the contents in the
index.  This option defaults to <code>true</code>.  Note that this
affects only <code>git</code> <code>diff</code> Porcelain, and not lower level
<code>diff</code> commands such as <code>git</code> <code>diff-files</code>.</p>
</dd>
<dt class="hdlist1"><code>diff.dirstat</code></dt>
<dd>
<p>A comma separated list of <code>--dirstat</code> parameters specifying the
default behavior of the <code>--dirstat</code> option to <code>git</code> <code>diff</code> and friends.
The defaults can be overridden on the command line
(using <code>--dirstat=</code><em>&lt;param&gt;</em><code>,..</code>.). The fallback defaults
(when not changed by <code>diff.dirstat</code>) are <code>changes,noncumulative,3</code>.
The following parameters are available:</p>
<div class="openblock">
<div class="content">
<div class="dlist">
<dl>
<dt class="hdlist1"><code>changes</code></dt>
<dd>
<p>Compute the dirstat numbers by counting the lines that have been
removed from the source, or added to the destination. This ignores
the amount of pure code movements within a file.  In other words,
rearranging lines in a file is not counted as much as other changes.
This is the default behavior when no parameter is given.</p>
</dd>
<dt class="hdlist1"><code>lines</code></dt>
<dd>
<p>Compute the dirstat numbers by doing the regular line-based diff
analysis, and summing the removed/added line counts. (For binary
files, count 64-byte chunks instead, since binary files have no
natural concept of lines). This is a more expensive <code>--dirstat</code>
behavior than the <code>changes</code> behavior, but it does count rearranged
lines within a file as much as other changes. The resulting output
is consistent with what you get from the other <code>--*stat</code> options.</p>
</dd>
<dt class="hdlist1"><code>files</code></dt>
<dd>
<p>Compute the dirstat numbers by counting the number of files changed.
Each changed file counts equally in the dirstat analysis. This is
the computationally cheapest <code>--dirstat</code> behavior, since it does
not have to look at the file contents at all.</p>
</dd>
<dt class="hdlist1"><code>cumulative</code></dt>
<dd>
<p>Count changes in a child directory for the parent directory as well.
Note that when using <code>cumulative</code>, the sum of the percentages
reported may exceed 100%. The default (non-cumulative) behavior can
be specified with the <code>noncumulative</code> parameter.</p>
</dd>
<dt class="hdlist1"><em>&lt;limit&gt;</em></dt>
<dd>
<p>An integer parameter specifies a cut-off percent (3% by default).
Directories contributing less than this percentage of the changes
are not shown in the output.</p>
</dd>
</dl>
</div>
</div>
</div>
<div class="paragraph">
<p>Example: The following will count changed files, while ignoring
directories with less than 10% of the total amount of changed files,
and accumulating child directory counts in the parent directories:
<code>files,10,cumulative</code>.</p>
</div>
</dd>
<dt class="hdlist1"><code>diff.statNameWidth</code></dt>
<dd>
<p>Limit the width of the filename part in <code>--stat</code> output. If set, applies
to all commands generating <code>--stat</code> output except <code>format-patch</code>.</p>
</dd>
<dt class="hdlist1"><code>diff.statGraphWidth</code></dt>
<dd>
<p>Limit the width of the graph part in <code>--stat</code> output. If set, applies
to all commands generating <code>--stat</code> output except <code>format-patch</code>.</p>
</dd>
<dt class="hdlist1"><code>diff.context</code></dt>
<dd>
<p>Generate diffs with <em>&lt;n&gt;</em> lines of context instead of the default
of 3. This value is overridden by the <code>-U</code> option.</p>
</dd>
<dt class="hdlist1"><code>diff.interHunkContext</code></dt>
<dd>
<p>Show the context between diff hunks, up to the specified number
of lines, thereby fusing the hunks that are close to each other.
This value serves as the default for the <code>--inter-hunk-context</code>
command line option.</p>
</dd>
<dt class="hdlist1"><code>diff.external</code></dt>
<dd>
<p>If this config variable is set, diff generation is not
performed using the internal diff machinery, but using the
given command.  Can be overridden with the <code>GIT_EXTERNAL_DIFF</code>
environment variable.  The command is called with parameters
as described under "git Diffs" in <a href="git.html">git(1)</a>.  Note: if
you want to use an external diff program only on a subset of
your files, you might want to use <a href="gitattributes.html">gitattributes(5)</a> instead.</p>
</dd>
<dt class="hdlist1"><code>diff.trustExitCode</code></dt>
<dd>
<p>If this boolean value is set to <code>true</code> then the
<code>diff.external</code> command is expected to return exit code
0 if it considers the input files to be equal or 1 if it
considers them to be different, like <code>diff</code>(1).
If it is set to <code>false</code>, which is the default, then the command
is expected to return exit code <code>0</code> regardless of equality.
Any other exit code causes Git to report a fatal error.</p>
</dd>
<dt class="hdlist1"><code>diff.ignoreSubmodules</code></dt>
<dd>
<p>Sets the default value of <code>--ignore-submodules</code>. Note that this
affects only <code>git</code> <code>diff</code> Porcelain, and not lower level <code>diff</code>
commands such as <code>git</code> <code>diff-files</code>. <code>git</code> <code>checkout</code>
and <code>git</code> <code>switch</code> also honor
this setting when reporting uncommitted changes. Setting it to
<code>all</code> disables the submodule summary normally shown by <code>git</code> <code>commit</code>
and <code>git</code> <code>status</code> when <code>status.submoduleSummary</code> is set unless it is
overridden by using the <code>--ignore-submodules</code> command-line option.
The <code>git</code> <code>submodule</code> commands are not affected by this setting.
By default this is set to untracked so that any untracked
submodules are ignored.</p>
</dd>
<dt class="hdlist1"><code>diff.mnemonicPrefix</code></dt>
<dd>
<p>If set, <code>git</code> <code>diff</code> uses a prefix pair that is different from the
standard <code>a/</code> and <code>b/</code> depending on what is being compared.  When
this configuration is in effect, reverse diff output also swaps
the order of the prefixes:</p>
<div class="dlist">
<dl>
<dt class="hdlist1"><code>git</code> <code>diff</code></dt>
<dd>
<p>compares the (i)ndex and the (w)ork tree;</p>
</dd>
<dt class="hdlist1"><code>git</code> <code>diff</code> <code>HEAD</code></dt>
<dd>
<p>compares a (c)ommit and the (w)ork tree;</p>
</dd>
<dt class="hdlist1"><code>git</code> <code>diff</code> <code>--cached</code></dt>
<dd>
<p>compares a (c)ommit and the (i)ndex;</p>
</dd>
<dt class="hdlist1"><code>git</code> <code>diff</code> <code>HEAD:</code><em>&lt;file1&gt;</em> <em>&lt;file2&gt;</em></dt>
<dd>
<p>compares an (o)bject and a (w)ork tree entity;</p>
</dd>
<dt class="hdlist1"><code>git</code> <code>diff</code> <code>--no-index</code> <em>&lt;a&gt;</em> <em>&lt;b&gt;</em></dt>
<dd>
<p>compares two non-git things <em>&lt;a&gt;</em> and <em>&lt;b&gt;</em>.</p>
</dd>
</dl>
</div>
</dd>
<dt class="hdlist1"><code>diff.noPrefix</code></dt>
<dd>
<p>If set, <code>git</code> <code>diff</code> does not show any source or destination prefix.</p>
</dd>
<dt class="hdlist1"><code>diff.srcPrefix</code></dt>
<dd>
<p>If set, <code>git</code> <code>diff</code> uses this source prefix. Defaults to <code>a/</code>.</p>
</dd>
<dt class="hdlist1"><code>diff.dstPrefix</code></dt>
<dd>
<p>If set, <code>git</code> <code>diff</code> uses this destination prefix. Defaults to <code>b/</code>.</p>
</dd>
<dt class="hdlist1"><code>diff.relative</code></dt>
<dd>
<p>If set to <code>true</code>, <code>git</code> <code>diff</code> does not show changes outside of the directory
and show pathnames relative to the current directory.</p>
</dd>
<dt class="hdlist1"><code>diff.orderFile</code></dt>
<dd>
<p>File indicating how to order files within a diff.
See the <code>-O</code> option for details.
If <code>diff.orderFile</code> is a relative pathname, it is treated as
relative to the top of the working tree.</p>
</dd>
<dt class="hdlist1"><code>diff.renameLimit</code></dt>
<dd>
<p>The number of files to consider in the exhaustive portion of
copy/rename detection; equivalent to the <code>git</code> <code>diff</code> option
<code>-l</code>.  If not set, the default value is currently 1000.  This
setting has no effect if rename detection is turned off.</p>
</dd>
<dt class="hdlist1"><code>diff.renames</code></dt>
<dd>
<p>Whether and how Git detects renames.  If set to <code>false</code>,
rename detection is disabled. If set to <code>true</code>, basic rename
detection is enabled.  If set to <code>copies</code> or <code>copy</code>, Git will
detect copies, as well.  Defaults to <code>true</code>.  Note that this
affects only <code>git</code> <code>diff</code> Porcelain like <a href="git-diff.html">git-diff(1)</a> and
<a href="git-log.html">git-log(1)</a>, and not lower level commands such as
<a href="git-diff-files.html">git-diff-files(1)</a>.</p>
</dd>
<dt class="hdlist1"><code>diff.suppressBlankEmpty</code></dt>
<dd>
<p>A boolean to inhibit the standard behavior of printing a space
before each empty output line. Defaults to <code>false</code>.</p>
</dd>
<dt class="hdlist1"><code>diff.submodule</code></dt>
<dd>
<p>Specify the format in which differences in submodules are
shown.  The <code>short</code> format just shows the names of the commits
at the beginning and end of the range. The <code>log</code> format lists
the commits in the range like <a href="git-submodule.html">git-submodule(1)</a> <code>summary</code>
does. The <code>diff</code> format shows an inline diff of the changed
contents of the submodule. Defaults to <code>short</code>.</p>
</dd>
<dt class="hdlist1"><code>diff.wordRegex</code></dt>
<dd>
<p>A POSIX Extended Regular Expression used to determine what is a "word"
when performing word-by-word difference calculations.  Character
sequences that match the regular expression are "words", all other
characters are <strong>ignorable</strong> whitespace.</p>
</dd>
<dt class="hdlist1"><code>diff.</code><em>&lt;driver&gt;</em><code>.command</code></dt>
<dd>
<p>The custom diff driver command.  See <a href="gitattributes.html">gitattributes(5)</a>
for details.</p>
</dd>
<dt class="hdlist1"><code>diff.</code><em>&lt;driver&gt;</em><code>.trustExitCode</code></dt>
<dd>
<p>If this boolean value is set to <code>true</code> then the
<code>diff.</code><em>&lt;driver&gt;</em><code>.command</code> command is expected to return exit code
0 if it considers the input files to be equal or 1 if it
considers them to be different, like <code>diff</code>(1).
If it is set to <code>false</code>, which is the default, then the command
is expected to return exit code 0 regardless of equality.
Any other exit code causes Git to report a fatal error.</p>
</dd>
<dt class="hdlist1"><code>diff.</code><em>&lt;driver&gt;</em><code>.xfuncname</code></dt>
<dd>
<p>The regular expression that the diff driver should use to
recognize the hunk header.  A built-in pattern may also be used.
See <a href="gitattributes.html">gitattributes(5)</a> for details.</p>
</dd>
<dt class="hdlist1"><code>diff.</code><em>&lt;driver&gt;</em><code>.binary</code></dt>
<dd>
<p>Set this option to <code>true</code> to make the diff driver treat files as
binary.  See <a href="gitattributes.html">gitattributes(5)</a> for details.</p>
</dd>
<dt class="hdlist1"><code>diff.</code><em>&lt;driver&gt;</em><code>.textconv</code></dt>
<dd>
<p>The command that the diff driver should call to generate the
text-converted version of a file.  The result of the
conversion is used to generate a human-readable diff.  See
<a href="gitattributes.html">gitattributes(5)</a> for details.</p>
</dd>
<dt class="hdlist1"><code>diff.</code><em>&lt;driver&gt;</em><code>.wordRegex</code></dt>
<dd>
<p>The regular expression that the diff driver should use to
split words in a line.  See <a href="gitattributes.html">gitattributes(5)</a> for
details.</p>
</dd>
<dt class="hdlist1"><code>diff.</code><em>&lt;driver&gt;</em><code>.cachetextconv</code></dt>
<dd>
<p>Set this option to <code>true</code> to make the diff driver cache the text
conversion outputs.  See <a href="gitattributes.html">gitattributes(5)</a> for details.</p>
</dd>
<dt class="hdlist1"><code>diff.indentHeuristic</code></dt>
<dd>
<p>Set this option to <code>false</code> to disable the default heuristics
that shift diff hunk boundaries to make patches easier to read.</p>
</dd>
<dt class="hdlist1"><code>diff.algorithm</code></dt>
<dd>
<p>Choose a diff algorithm.  The variants are as follows:</p>
<div class="openblock">
<div class="content">
<div class="dlist">
<dl>
<dt class="hdlist1"><code>default</code></dt>
<dt class="hdlist1"><code>myers</code></dt>
<dd>
<p>The basic greedy diff algorithm. Currently, this is the default.</p>
</dd>
<dt class="hdlist1"><code>minimal</code></dt>
<dd>
<p>Spend extra time to make sure the smallest possible diff is
produced.</p>
</dd>
<dt class="hdlist1"><code>patience</code></dt>
<dd>
<p>Use "patience diff" algorithm when generating patches.</p>
</dd>
<dt class="hdlist1"><code>histogram</code></dt>
<dd>
<p>This algorithm extends the patience algorithm to "support
low-occurrence common elements".</p>
</dd>
</dl>
</div>
</div>
</div>
</dd>
<dt class="hdlist1"><code>diff.wsErrorHighlight</code></dt>
<dd>
<p>Highlight whitespace errors in the <code>context</code>, <code>old</code> or <code>new</code>
lines of the diff.  Multiple values are separated by comma,
<code>none</code> resets previous values, <code>default</code> reset the list to
<code>new</code> and <code>all</code> is a shorthand for <code>old,new,context</code>.  The
whitespace errors are colored with <code>color.diff.whitespace</code>.
The command line option <code>--ws-error-highlight=</code><em>&lt;kind&gt;</em>
overrides this setting.</p>
</dd>
<dt class="hdlist1"><code>diff.colorMoved</code></dt>
<dd>
<p>If set to either a valid <em>&lt;mode&gt;</em> or a <code>true</code> value, moved lines
in a diff are colored differently.
For details of valid modes see <code>--color-moved</code>.
If simply set to <code>true</code> the default color mode will be used. When
set to <code>false</code>, moved lines are not colored.</p>
</dd>
<dt class="hdlist1"><code>diff.colorMovedWS</code></dt>
<dd>
<p>When moved lines are colored using e.g. the <code>diff.colorMoved</code> setting,
this option controls the mode how spaces are treated.
For details of valid modes see <code>--color-moved-ws</code> in <a href="git-diff.html">git-diff(1)</a>.</p>
</dd>
</dl>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_see_also">SEE ALSO</h2>
<div class="sectionbody">
<div class="paragraph">
<p><code>diff</code>(1),
<a href="git-difftool.html">git-difftool(1)</a>,
<a href="git-log.html">git-log(1)</a>,
<a href="gitdiffcore.html">gitdiffcore(7)</a>,
<a href="git-format-patch.html">git-format-patch(1)</a>,
<a href="git-apply.html">git-apply(1)</a>,
<a href="git-show.html">git-show(1)</a></p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_git">GIT</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Part of the <a href="git.html">git(1)</a> suite</p>
</div>
</div>
</div>
</div>
<div id="footer">
<div id="footer-text">
Last updated 2025-06-24 11:24:02 -0700
</div>
</div>
</body>
</html>