<!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-files(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-files(1) Manual Page</h1>
<h2 id="_name">NAME</h2>
<div class="sectionbody">
<p>git-diff-files - Compares files in the working tree and the index</p>
</div>
</div>
<div id="content">
<div class="sect1">
<h2 id="_synopsis">SYNOPSIS</h2>
<div class="sectionbody">
<div class="verseblock">
<pre class="content"><em>git diff-files</em> [-q] [-0 | -1 | -2 | -3 | -c | --cc] [&lt;common-diff-options&gt;] [&lt;path&gt;&#8230;&#8203;]</pre>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_description">DESCRIPTION</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Compares the files in the working tree and the index.  When paths
are specified, compares only those named paths.  Otherwise all
entries in the index are compared.  The output format is the
same as for <em>git diff-index</em> and <em>git diff-tree</em>.</p>
</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>).</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.
This is the default.</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>.</p>
</dd>
<dt class="hdlist1"><code>--no-color</code></dt>
<dd>
<p>Turn off colored diff.
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.
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>.
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">-1 --base</dt>
<dt class="hdlist1">-2 --ours</dt>
<dt class="hdlist1">-3 --theirs</dt>
<dt class="hdlist1">-0</dt>
<dd>
<p>Diff against the "base" version, "our branch", or "their
branch" respectively.  With these options, diffs for
merged entries are not shown.</p>
<div class="paragraph">
<p>The default is to diff against our branch (-2) and the
cleanly resolved paths.  The option -0 can be given to
omit diff output for unmerged entries and just show "Unmerged".</p>
</div>
</dd>
<dt class="hdlist1">-c</dt>
<dt class="hdlist1">--cc</dt>
<dd>
<p>This compares stage 2 (our branch), stage 3 (their
branch), and the working tree file and outputs a combined
diff, similar to the way <em>diff-tree</em> shows a merge
commit with these flags.</p>
</dd>
<dt class="hdlist1">-q</dt>
<dd>
<p>Remain silent even for nonexistent files</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="_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-20 18:10:42 -0700
</div>
</div>
</body>
</html>