Autogenerated HTML docs for v2.47.0-rc1
[git-htmldocs.git] / git.html
blob4b5095ff22d2dcddc8c41c192de72686466c50fd
1 <!DOCTYPE html>
2 <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
3 <head>
4 <meta charset="UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
6 <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
7 <meta name="generator" content="Asciidoctor 2.0.20"/>
8 <title>git(1)</title>
9 <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"/>
10 <style>
11 /*! Asciidoctor default stylesheet | MIT License | https://asciidoctor.org */
12 /* Uncomment the following line when using as a custom stylesheet */
13 /* @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"; */
14 html{font-family:sans-serif;-webkit-text-size-adjust:100%}
15 a{background:none}
16 a:focus{outline:thin dotted}
17 a:active,a:hover{outline:0}
18 h1{font-size:2em;margin:.67em 0}
19 b,strong{font-weight:bold}
20 abbr{font-size:.9em}
21 abbr[title]{cursor:help;border-bottom:1px dotted #dddddf;text-decoration:none}
22 dfn{font-style:italic}
23 hr{height:0}
24 mark{background:#ff0;color:#000}
25 code,kbd,pre,samp{font-family:monospace;font-size:1em}
26 pre{white-space:pre-wrap}
27 q{quotes:"\201C" "\201D" "\2018" "\2019"}
28 small{font-size:80%}
29 sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
30 sup{top:-.5em}
31 sub{bottom:-.25em}
32 img{border:0}
33 svg:not(:root){overflow:hidden}
34 figure{margin:0}
35 audio,video{display:inline-block}
36 audio:not([controls]){display:none;height:0}
37 fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
38 legend{border:0;padding:0}
39 button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
40 button,input{line-height:normal}
41 button,select{text-transform:none}
42 button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}
43 button[disabled],html input[disabled]{cursor:default}
44 input[type=checkbox],input[type=radio]{padding:0}
45 button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
46 textarea{overflow:auto;vertical-align:top}
47 table{border-collapse:collapse;border-spacing:0}
48 *,::before,::after{box-sizing:border-box}
49 html,body{font-size:100%}
50 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}
51 a:hover{cursor:pointer}
52 img,object,embed{max-width:100%;height:auto}
53 object,embed{height:100%}
54 img{-ms-interpolation-mode:bicubic}
55 .left{float:left!important}
56 .right{float:right!important}
57 .text-left{text-align:left!important}
58 .text-right{text-align:right!important}
59 .text-center{text-align:center!important}
60 .text-justify{text-align:justify!important}
61 .hide{display:none}
62 img,object,svg{display:inline-block;vertical-align:middle}
63 textarea{height:auto;min-height:50px}
64 select{width:100%}
65 .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}
66 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}
67 a{color:#2156a5;text-decoration:underline;line-height:inherit}
68 a:hover,a:focus{color:#1d4b8f}
69 a img{border:0}
70 p{line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
71 p aside{font-size:.875em;line-height:1.35;font-style:italic}
72 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}
73 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}
74 h1{font-size:2.125em}
75 h2{font-size:1.6875em}
76 h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
77 h4,h5{font-size:1.125em}
78 h6{font-size:1em}
79 hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em}
80 em,i{font-style:italic;line-height:inherit}
81 strong,b{font-weight:bold;line-height:inherit}
82 small{font-size:60%;line-height:inherit}
83 code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
84 ul,ol,dl{line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
85 ul,ol{margin-left:1.5em}
86 ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0}
87 ul.circle{list-style-type:circle}
88 ul.disc{list-style-type:disc}
89 ul.square{list-style-type:square}
90 ul.circle ul:not([class]),ul.disc ul:not([class]),ul.square ul:not([class]){list-style:inherit}
91 ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
92 dl dt{margin-bottom:.3125em;font-weight:bold}
93 dl dd{margin-bottom:1.25em}
94 blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
95 blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)}
96 @media screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2}
97 h1{font-size:2.75em}
98 h2{font-size:2.3125em}
99 h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
100 h4{font-size:1.4375em}}
101 table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede;word-wrap:normal}
102 table thead,table tfoot{background:#f7f8f7}
103 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}
104 table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
105 table tr.even,table tr.alt{background:#f8f8f7}
106 table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{line-height:1.6}
107 h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
108 h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400}
109 .center{margin-left:auto;margin-right:auto}
110 .stretch{width:100%}
111 .clearfix::before,.clearfix::after,.float-group::before,.float-group::after{content:" ";display:table}
112 .clearfix::after,.float-group::after{clear:both}
113 :not(pre).nobreak{word-wrap:normal}
114 :not(pre).nowrap{white-space:nowrap}
115 :not(pre).pre-wrap{white-space:pre-wrap}
116 :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}
117 pre{color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;line-height:1.45;text-rendering:optimizeSpeed}
118 pre code,pre pre{color:inherit;font-size:inherit;line-height:inherit}
119 pre>code{display:block}
120 pre.nowrap,pre.nowrap pre{white-space:pre;word-wrap:normal}
121 em em{font-style:normal}
122 strong strong{font-weight:400}
123 .keyseq{color:rgba(51,51,51,.8)}
124 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}
125 .keyseq kbd:first-child{margin-left:0}
126 .keyseq kbd:last-child{margin-right:0}
127 .menuseq,.menuref{color:#000}
128 .menuseq b:not(.caret),.menuref{font-weight:inherit}
129 .menuseq{word-spacing:-.02em}
130 .menuseq b.caret{font-size:1.25em;line-height:.8}
131 .menuseq i.caret{font-weight:bold;text-align:center;width:.45em}
132 b.button::before,b.button::after{position:relative;top:-1px;font-weight:400}
133 b.button::before{content:"[";padding:0 3px 0 2px}
134 b.button::after{content:"]";padding:0 2px 0 3px}
135 p a>code:hover{color:rgba(0,0,0,.9)}
136 #header,#content,#footnotes,#footer{width:100%;margin:0 auto;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em}
137 #header::before,#header::after,#content::before,#content::after,#footnotes::before,#footnotes::after,#footer::before,#footer::after{content:" ";display:table}
138 #header::after,#content::after,#footnotes::after,#footer::after{clear:both}
139 #content{margin-top:1.25em}
140 #content::before{content:none}
141 #header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0}
142 #header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #dddddf}
143 #header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #dddddf;padding-bottom:8px}
144 #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}
145 #header .details span:first-child{margin-left:-.125em}
146 #header .details span.email a{color:rgba(0,0,0,.85)}
147 #header .details br{display:none}
148 #header .details br+span::before{content:"\00a0\2013\00a0"}
149 #header .details br+span.author::before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)}
150 #header .details br+span#revremark::before{content:"\00a0|\00a0"}
151 #header #revnumber{text-transform:capitalize}
152 #header #revnumber::after{content:"\00a0"}
153 #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}
154 #toc{border-bottom:1px solid #e7e7e9;padding-bottom:.5em}
155 #toc>ul{margin-left:.125em}
156 #toc ul.sectlevel0>li>a{font-style:italic}
157 #toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0}
158 #toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none}
159 #toc li{line-height:1.3334;margin-top:.3334em}
160 #toc a{text-decoration:none}
161 #toc a:active{text-decoration:underline}
162 #toctitle{color:#7a2518;font-size:1.2em}
163 @media screen and (min-width:768px){#toctitle{font-size:1.375em}
164 body.toc2{padding-left:15em;padding-right:0}
165 #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}
166 #toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em}
167 #toc.toc2>ul{font-size:.9em;margin-bottom:0}
168 #toc.toc2 ul ul{margin-left:0;padding-left:1em}
169 #toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em}
170 body.toc2.toc-right{padding-left:0;padding-right:15em}
171 body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #e7e7e9;left:auto;right:0}}
172 @media screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0}
173 #toc.toc2{width:20em}
174 #toc.toc2 #toctitle{font-size:1.375em}
175 #toc.toc2>ul{font-size:.95em}
176 #toc.toc2 ul ul{padding-left:1.25em}
177 body.toc2.toc-right{padding-left:0;padding-right:20em}}
178 #content #toc{border:1px solid #e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;border-radius:4px}
179 #content #toc>:first-child{margin-top:0}
180 #content #toc>:last-child{margin-bottom:0}
181 #footer{max-width:none;background:rgba(0,0,0,.8);padding:1.25em}
182 #footer-text{color:hsla(0,0%,100%,.8);line-height:1.44}
183 #content{margin-bottom:.625em}
184 .sect1{padding-bottom:.625em}
185 @media screen and (min-width:768px){#content{margin-bottom:1.25em}
186 .sect1{padding-bottom:1.25em}}
187 .sect1:last-child{padding-bottom:0}
188 .sect1+.sect1{border-top:1px solid #e7e7e9}
189 #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}
190 #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}
191 #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}
192 #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}
193 #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}
194 details,.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
195 details{margin-left:1.25rem}
196 details>summary{cursor:pointer;display:block;position:relative;line-height:1.6;margin-bottom:.625rem;outline:none;-webkit-tap-highlight-color:transparent}
197 details>summary::-webkit-details-marker{display:none}
198 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%)}
199 details[open]>summary::before{border:solid transparent;border-top:solid;border-width:.5em .3em 0;transform:translateY(15%)}
200 details>summary::after{content:"";width:1.25rem;height:1em;position:absolute;top:.3em;left:-1.25rem}
201 .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}
202 table.tableblock.fit-content>caption.title{white-space:nowrap;width:0}
203 .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)}
204 .admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%}
205 .admonitionblock>table td.icon{text-align:center;width:80px}
206 .admonitionblock>table td.icon img{max-width:none}
207 .admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase}
208 .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}
209 .admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0}
210 .exampleblock>.content{border:1px solid #e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;border-radius:4px}
211 .sidebarblock{border:1px solid #dbdbd6;margin-bottom:1.25em;padding:1.25em;background:#f3f3f2;border-radius:4px}
212 .sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center}
213 .exampleblock>.content>:first-child,.sidebarblock>.content>:first-child{margin-top:0}
214 .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}
215 .literalblock pre,.listingblock>.content>pre{border-radius:4px;overflow-x:auto;padding:1em;font-size:.8125em}
216 @media screen and (min-width:768px){.literalblock pre,.listingblock>.content>pre{font-size:.90625em}}
217 @media screen and (min-width:1280px){.literalblock pre,.listingblock>.content>pre{font-size:1em}}
218 .literalblock pre,.listingblock>.content>pre:not(.highlight),.listingblock>.content>pre[class=highlight],.listingblock>.content>pre[class^="highlight "]{background:#f7f7f8}
219 .literalblock.output pre{color:#f7f7f8;background:rgba(0,0,0,.9)}
220 .listingblock>.content{position:relative}
221 .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}
222 .listingblock:hover code[data-lang]::before{display:block}
223 .listingblock.terminal pre .command::before{content:attr(data-prompt);padding-right:.5em;color:inherit;opacity:.5}
224 .listingblock.terminal pre .command:not([data-prompt])::before{content:"$"}
225 .listingblock pre.highlightjs{padding:0}
226 .listingblock pre.highlightjs>code{padding:1em;border-radius:4px}
227 .listingblock pre.prettyprint{border-width:0}
228 .prettyprint{background:#f7f7f8}
229 pre.prettyprint .linenums{line-height:1.45;margin-left:2em}
230 pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}
231 pre.prettyprint li code[data-lang]::before{opacity:1}
232 pre.prettyprint li:not(:first-child) code[data-lang]::before{display:none}
233 table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}
234 table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}
235 table.linenotable td.code{padding-left:.75em}
236 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}
237 pre.pygments span.linenos{display:inline-block;margin-right:.75em}
238 .quoteblock{margin:0 1em 1.25em 1.5em;display:table}
239 .quoteblock:not(.excerpt)>.title{margin-left:-1.5em;margin-bottom:.75em}
240 .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}
241 .quoteblock blockquote{margin:0;padding:0;border:0}
242 .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)}
243 .quoteblock blockquote>.paragraph:last-child p{margin-bottom:0}
244 .quoteblock .attribution{margin-top:.75em;margin-right:.5ex;text-align:right}
245 .verseblock{margin:0 1em 1.25em}
246 .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}
247 .verseblock pre strong{font-weight:400}
248 .verseblock .attribution{margin-top:1.25rem;margin-left:.5ex}
249 .quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic}
250 .quoteblock .attribution br,.verseblock .attribution br{display:none}
251 .quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)}
252 .quoteblock.abstract blockquote::before,.quoteblock.excerpt blockquote::before,.quoteblock .quoteblock blockquote::before{display:none}
253 .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}
254 .quoteblock.abstract{margin:0 1em 1.25em;display:block}
255 .quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center}
256 .quoteblock.excerpt>blockquote,.quoteblock .quoteblock{padding:0 0 .25em 1em;border-left:.25em solid #dddddf}
257 .quoteblock.excerpt,.quoteblock .quoteblock{margin-left:0}
258 .quoteblock.excerpt blockquote,.quoteblock.excerpt p,.quoteblock .quoteblock blockquote,.quoteblock .quoteblock p{color:inherit;font-size:1.0625rem}
259 .quoteblock.excerpt .attribution,.quoteblock .quoteblock .attribution{color:inherit;font-size:.85rem;text-align:left;margin-right:0}
260 p.tableblock:last-child{margin-bottom:0}
261 td.tableblock>.content{margin-bottom:1.25em;word-wrap:anywhere}
262 td.tableblock>.content>:last-child{margin-bottom:-1.25em}
263 table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
264 table.grid-all>*>tr>*{border-width:1px}
265 table.grid-cols>*>tr>*{border-width:0 1px}
266 table.grid-rows>*>tr>*{border-width:1px 0}
267 table.frame-all{border-width:1px}
268 table.frame-ends{border-width:1px 0}
269 table.frame-sides{border-width:0 1px}
270 table.frame-none>colgroup+*>:first-child>*,table.frame-sides>colgroup+*>:first-child>*{border-top-width:0}
271 table.frame-none>:last-child>:last-child>*,table.frame-sides>:last-child>:last-child>*{border-bottom-width:0}
272 table.frame-none>*>tr>:first-child,table.frame-ends>*>tr>:first-child{border-left-width:0}
273 table.frame-none>*>tr>:last-child,table.frame-ends>*>tr>:last-child{border-right-width:0}
274 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}
275 th.halign-left,td.halign-left{text-align:left}
276 th.halign-right,td.halign-right{text-align:right}
277 th.halign-center,td.halign-center{text-align:center}
278 th.valign-top,td.valign-top{vertical-align:top}
279 th.valign-bottom,td.valign-bottom{vertical-align:bottom}
280 th.valign-middle,td.valign-middle{vertical-align:middle}
281 table thead th,table tfoot th{font-weight:bold}
282 tbody tr th{background:#f7f8f7}
283 tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
284 p.tableblock>code:only-child{background:none;padding:0}
285 p.tableblock{font-size:1em}
286 ol{margin-left:1.75em}
287 ul li ol{margin-left:1.5em}
288 dl dd{margin-left:1.125em}
289 dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
290 li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
291 ul.checklist,ul.none,ol.none,ul.no-bullet,ol.no-bullet,ol.unnumbered,ul.unstyled,ol.unstyled{list-style-type:none}
292 ul.no-bullet,ol.no-bullet,ol.unnumbered{margin-left:.625em}
293 ul.unstyled,ol.unstyled{margin-left:0}
294 li>p:empty:only-child::before{content:"";display:inline-block}
295 ul.checklist>li>p:first-child{margin-left:-1em}
296 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}
297 ul.checklist>li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}
298 ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}
299 ul.inline>li{margin-left:1.25em}
300 .unstyled dl dt{font-weight:400;font-style:normal}
301 ol.arabic{list-style-type:decimal}
302 ol.decimal{list-style-type:decimal-leading-zero}
303 ol.loweralpha{list-style-type:lower-alpha}
304 ol.upperalpha{list-style-type:upper-alpha}
305 ol.lowerroman{list-style-type:lower-roman}
306 ol.upperroman{list-style-type:upper-roman}
307 ol.lowergreek{list-style-type:lower-greek}
308 .hdlist>table,.colist>table{border:0;background:none}
309 .hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
310 td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
311 td.hdlist1{font-weight:bold;padding-bottom:1.25em}
312 td.hdlist2{word-wrap:anywhere}
313 .literalblock+.colist,.listingblock+.colist{margin-top:-.5em}
314 .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}
315 .colist td:not([class]):first-child img{max-width:none}
316 .colist td:not([class]):last-child{padding:.25em 0}
317 .thumb,.th{line-height:0;display:inline-block;border:4px solid #fff;box-shadow:0 0 0 1px #ddd}
318 .imageblock.left{margin:.25em .625em 1.25em 0}
319 .imageblock.right{margin:.25em 0 1.25em .625em}
320 .imageblock>.title{margin-bottom:0}
321 .imageblock.thumb,.imageblock.th{border-width:6px}
322 .imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em}
323 .image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0}
324 .image.left{margin-right:.625em}
325 .image.right{margin-left:.625em}
326 a.image{text-decoration:none;display:inline-block}
327 a.image object{pointer-events:none}
328 sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
329 sup.footnote a,sup.footnoteref a{text-decoration:none}
330 sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline}
331 #footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em}
332 #footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0}
333 #footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em}
334 #footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none;margin-left:-1.05em}
335 #footnotes .footnote:last-of-type{margin-bottom:0}
336 #content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0}
337 div.unbreakable{page-break-inside:avoid}
338 .big{font-size:larger}
339 .small{font-size:smaller}
340 .underline{text-decoration:underline}
341 .overline{text-decoration:overline}
342 .line-through{text-decoration:line-through}
343 .aqua{color:#00bfbf}
344 .aqua-background{background:#00fafa}
345 .black{color:#000}
346 .black-background{background:#000}
347 .blue{color:#0000bf}
348 .blue-background{background:#0000fa}
349 .fuchsia{color:#bf00bf}
350 .fuchsia-background{background:#fa00fa}
351 .gray{color:#606060}
352 .gray-background{background:#7d7d7d}
353 .green{color:#006000}
354 .green-background{background:#007d00}
355 .lime{color:#00bf00}
356 .lime-background{background:#00fa00}
357 .maroon{color:#600000}
358 .maroon-background{background:#7d0000}
359 .navy{color:#000060}
360 .navy-background{background:#00007d}
361 .olive{color:#606000}
362 .olive-background{background:#7d7d00}
363 .purple{color:#600060}
364 .purple-background{background:#7d007d}
365 .red{color:#bf0000}
366 .red-background{background:#fa0000}
367 .silver{color:#909090}
368 .silver-background{background:#bcbcbc}
369 .teal{color:#006060}
370 .teal-background{background:#007d7d}
371 .white{color:#bfbfbf}
372 .white-background{background:#fafafa}
373 .yellow{color:#bfbf00}
374 .yellow-background{background:#fafa00}
375 span.icon>.fa{cursor:default}
376 a span.icon>.fa{cursor:inherit}
377 .admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default}
378 .admonitionblock td.icon .icon-note::before{content:"\f05a";color:#19407c}
379 .admonitionblock td.icon .icon-tip::before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111}
380 .admonitionblock td.icon .icon-warning::before{content:"\f071";color:#bf6900}
381 .admonitionblock td.icon .icon-caution::before{content:"\f06d";color:#bf3400}
382 .admonitionblock td.icon .icon-important::before{content:"\f06a";color:#bf0000}
383 .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}
384 .conum[data-value] *{color:#fff!important}
385 .conum[data-value]+b{display:none}
386 .conum[data-value]::after{content:attr(data-value)}
387 pre .conum[data-value]{position:relative;top:-.125em}
388 b.conum *{color:inherit!important}
389 .conum:not([data-value]):empty{display:none}
390 dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
391 h1,h2,p,td.content,span.alt,summary{letter-spacing:-.01em}
392 p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
393 p,blockquote,dt,td.content,td.hdlist1,span.alt,summary{font-size:1.0625rem}
394 p{margin-bottom:1.25rem}
395 .sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em}
396 .exampleblock>.content{background:#fffef7;border-color:#e0e0dc;box-shadow:0 1px 4px #e0e0dc}
397 .print-only{display:none!important}
398 @page{margin:1.25cm .75cm}
399 @media print{*{box-shadow:none!important;text-shadow:none!important}
400 html{font-size:80%}
401 a{color:inherit!important;text-decoration:underline!important}
402 a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
403 a[href^="http:"]:not(.bare)::after,a[href^="https:"]:not(.bare)::after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
404 abbr[title]{border-bottom:1px dotted}
405 abbr[title]::after{content:" (" attr(title) ")"}
406 pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
407 thead{display:table-header-group}
408 svg{max-width:100%}
409 p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
410 h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid}
411 #header,#content,#footnotes,#footer{max-width:none}
412 #toc,.sidebarblock,.exampleblock>.content{background:none!important}
413 #toc{border-bottom:1px solid #dddddf!important;padding-bottom:0!important}
414 body.book #header{text-align:center}
415 body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}
416 body.book #header .details{border:0!important;display:block;padding:0!important}
417 body.book #header .details span:first-child{margin-left:0!important}
418 body.book #header .details br{display:block}
419 body.book #header .details br+span::before{content:none!important}
420 body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
421 body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always}
422 .listingblock code[data-lang]::before{display:block}
423 #footer{padding:0 .9375em}
424 .hide-on-print{display:none!important}
425 .print-only{display:block!important}
426 .hide-for-print{display:none!important}
427 .show-for-print{display:inherit!important}}
428 @media amzn-kf8,print{#header>h1:first-child{margin-top:1.25rem}
429 .sect1{padding:0!important}
430 .sect1+.sect1{border:0}
431 #footer{background:none}
432 #footer-text{color:rgba(0,0,0,.6);font-size:.9em}}
433 @media amzn-kf8{#header,#content,#footnotes,#footer{padding:0}}
434 </style>
435 <style>
436 pre>code {
437 display: inline;
439 </style>
440 </head>
441 <body class="manpage">
442 <div id="header">
443 <h1>git(1) Manual Page</h1>
444 <h2 id="_name">NAME</h2>
445 <div class="sectionbody">
446 <p>git - the stupid content tracker</p>
447 </div>
448 </div>
449 <div id="content">
450 <div class="sect1">
451 <h2 id="_synopsis">SYNOPSIS</h2>
452 <div class="sectionbody">
453 <div class="verseblock">
454 <pre class="content"><em>git</em> [-v | --version] [-h | --help] [-C &lt;path&gt;] [-c &lt;name&gt;=&lt;value&gt;]
455 [--exec-path[=&lt;path&gt;]] [--html-path] [--man-path] [--info-path]
456 [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--no-lazy-fetch]
457 [--no-optional-locks] [--no-advice] [--bare] [--git-dir=&lt;path&gt;]
458 [--work-tree=&lt;path&gt;] [--namespace=&lt;name&gt;] [--config-env=&lt;name&gt;=&lt;envvar&gt;]
459 &lt;command&gt; [&lt;args&gt;]</pre>
460 </div>
461 </div>
462 </div>
463 <div class="sect1">
464 <h2 id="_description">DESCRIPTION</h2>
465 <div class="sectionbody">
466 <div class="paragraph">
467 <p>Git is a fast, scalable, distributed revision control system with an
468 unusually rich command set that provides both high-level operations
469 and full access to internals.</p>
470 </div>
471 <div class="paragraph">
472 <p>See <a href="gittutorial.html">gittutorial(7)</a> to get started, then see
473 <a href="giteveryday.html">giteveryday(7)</a> for a useful minimum set of
474 commands. The <a href="user-manual.html">Git User&#8217;s Manual</a> has a more
475 in-depth introduction.</p>
476 </div>
477 <div class="paragraph">
478 <p>After you mastered the basic concepts, you can come back to this
479 page to learn what commands Git offers. You can learn more about
480 individual Git commands with "git help command". <a href="gitcli.html">gitcli(7)</a>
481 manual page gives you an overview of the command-line command syntax.</p>
482 </div>
483 <div class="paragraph">
484 <p>A formatted and hyperlinked copy of the latest Git documentation
485 can be viewed at <a href="https://git.github.io/htmldocs/git.html" class="bare">https://git.github.io/htmldocs/git.html</a>
486 or <a href="https://git-scm.com/docs" class="bare">https://git-scm.com/docs</a>.</p>
487 </div>
488 </div>
489 </div>
490 <div class="sect1">
491 <h2 id="_options">OPTIONS</h2>
492 <div class="sectionbody">
493 <div class="dlist">
494 <dl>
495 <dt class="hdlist1">-v</dt>
496 <dt class="hdlist1">--version</dt>
497 <dd>
498 <p>Prints the Git suite version that the <em>git</em> program came from.</p>
499 <div class="paragraph">
500 <p>This option is internally converted to <code>git version ...</code> and accepts
501 the same options as the <a href="git-version.html">git-version(1)</a> command. If <code>--help</code> is
502 also given, it takes precedence over <code>--version</code>.</p>
503 </div>
504 </dd>
505 <dt class="hdlist1">-h</dt>
506 <dt class="hdlist1">--help</dt>
507 <dd>
508 <p>Prints the synopsis and a list of the most commonly used
509 commands. If the option <code>--all</code> or <code>-a</code> is given then all
510 available commands are printed. If a Git command is named this
511 option will bring up the manual page for that command.</p>
512 <div class="paragraph">
513 <p>Other options are available to control how the manual page is
514 displayed. See <a href="git-help.html">git-help(1)</a> for more information,
515 because <code>git --help ...</code> is converted internally into <code>git
516 help ...</code>.</p>
517 </div>
518 </dd>
519 <dt class="hdlist1">-C &lt;path&gt;</dt>
520 <dd>
521 <p>Run as if git was started in <em>&lt;path&gt;</em> instead of the current working
522 directory. When multiple <code>-C</code> options are given, each subsequent
523 non-absolute <code>-C &lt;path&gt;</code> is interpreted relative to the preceding <code>-C
524 &lt;path&gt;</code>. If <em>&lt;path&gt;</em> is present but empty, e.g. <code>-C ""</code>, then the
525 current working directory is left unchanged.</p>
526 <div class="paragraph">
527 <p>This option affects options that expect path name like <code>--git-dir</code> and
528 <code>--work-tree</code> in that their interpretations of the path names would be
529 made relative to the working directory caused by the <code>-C</code> option. For
530 example the following invocations are equivalent:</p>
531 </div>
532 <div class="literalblock">
533 <div class="content">
534 <pre>git --git-dir=a.git --work-tree=b -C c status
535 git --git-dir=c/a.git --work-tree=c/b status</pre>
536 </div>
537 </div>
538 </dd>
539 <dt class="hdlist1">-c &lt;name&gt;=&lt;value&gt;</dt>
540 <dd>
541 <p>Pass a configuration parameter to the command. The value
542 given will override values from configuration files.
543 The &lt;name&gt; is expected in the same format as listed by
544 <em>git config</em> (subkeys separated by dots).</p>
545 <div class="paragraph">
546 <p>Note that omitting the <code>=</code> in <code>git -c foo.bar ...</code> is allowed and sets
547 <code>foo.bar</code> to the boolean true value (just like <code>[foo]bar</code> would in a
548 config file). Including the equals but with an empty value (like <code>git -c
549 foo.bar= ...</code>) sets <code>foo.bar</code> to the empty string which <code>git config
550 --type=bool</code> will convert to <code>false</code>.</p>
551 </div>
552 </dd>
553 <dt class="hdlist1">--config-env=&lt;name&gt;=&lt;envvar&gt;</dt>
554 <dd>
555 <p>Like <code>-c &lt;name&gt;=&lt;value&gt;</code>, give configuration variable
556 <em>&lt;name&gt;</em> a value, where &lt;envvar&gt; is the name of an
557 environment variable from which to retrieve the value. Unlike
558 <code>-c</code> there is no shortcut for directly setting the value to an
559 empty string, instead the environment variable itself must be
560 set to the empty string. It is an error if the <code>&lt;envvar&gt;</code> does not exist
561 in the environment. <code>&lt;envvar&gt;</code> may not contain an equals sign
562 to avoid ambiguity with <code>&lt;name&gt;</code> containing one.</p>
563 <div class="paragraph">
564 <p>This is useful for cases where you want to pass transitory
565 configuration options to git, but are doing so on operating systems
566 where other processes might be able to read your command line
567 (e.g. <code>/proc/self/cmdline</code>), but not your environment
568 (e.g. <code>/proc/self/environ</code>). That behavior is the default on
569 Linux, but may not be on your system.</p>
570 </div>
571 <div class="paragraph">
572 <p>Note that this might add security for variables such as
573 <code>http.extraHeader</code> where the sensitive information is part of
574 the value, but not e.g. <code>url.&lt;base&gt;.insteadOf</code> where the
575 sensitive information can be part of the key.</p>
576 </div>
577 </dd>
578 <dt class="hdlist1">--exec-path[=&lt;path&gt;]</dt>
579 <dd>
580 <p>Path to wherever your core Git programs are installed.
581 This can also be controlled by setting the GIT_EXEC_PATH
582 environment variable. If no path is given, <em>git</em> will print
583 the current setting and then exit.</p>
584 </dd>
585 <dt class="hdlist1">--html-path</dt>
586 <dd>
587 <p>Print the path, without trailing slash, where Git&#8217;s HTML
588 documentation is installed and exit.</p>
589 </dd>
590 <dt class="hdlist1">--man-path</dt>
591 <dd>
592 <p>Print the manpath (see <code>man(1)</code>) for the man pages for
593 this version of Git and exit.</p>
594 </dd>
595 <dt class="hdlist1">--info-path</dt>
596 <dd>
597 <p>Print the path where the Info files documenting this
598 version of Git are installed and exit.</p>
599 </dd>
600 <dt class="hdlist1">-p</dt>
601 <dt class="hdlist1">--paginate</dt>
602 <dd>
603 <p>Pipe all output into <em>less</em> (or if set, $PAGER) if standard
604 output is a terminal. This overrides the <code>pager.&lt;cmd&gt;</code>
605 configuration options (see the "Configuration Mechanism" section
606 below).</p>
607 </dd>
608 <dt class="hdlist1">-P</dt>
609 <dt class="hdlist1">--no-pager</dt>
610 <dd>
611 <p>Do not pipe Git output into a pager.</p>
612 </dd>
613 <dt class="hdlist1">--git-dir=&lt;path&gt;</dt>
614 <dd>
615 <p>Set the path to the repository (".git" directory). This can also be
616 controlled by setting the <code>GIT_DIR</code> environment variable. It can be
617 an absolute path or relative path to current working directory.</p>
618 <div class="paragraph">
619 <p>Specifying the location of the ".git" directory using this
620 option (or <code>GIT_DIR</code> environment variable) turns off the
621 repository discovery that tries to find a directory with
622 ".git" subdirectory (which is how the repository and the
623 top-level of the working tree are discovered), and tells Git
624 that you are at the top level of the working tree. If you
625 are not at the top-level directory of the working tree, you
626 should tell Git where the top-level of the working tree is,
627 with the <code>--work-tree=&lt;path&gt;</code> option (or <code>GIT_WORK_TREE</code>
628 environment variable)</p>
629 </div>
630 <div class="paragraph">
631 <p>If you just want to run git as if it was started in <code>&lt;path&gt;</code> then use
632 <code>git -C &lt;path&gt;</code>.</p>
633 </div>
634 </dd>
635 <dt class="hdlist1">--work-tree=&lt;path&gt;</dt>
636 <dd>
637 <p>Set the path to the working tree. It can be an absolute path
638 or a path relative to the current working directory.
639 This can also be controlled by setting the GIT_WORK_TREE
640 environment variable and the core.worktree configuration
641 variable (see core.worktree in <a href="git-config.html">git-config(1)</a> for a
642 more detailed discussion).</p>
643 </dd>
644 <dt class="hdlist1">--namespace=&lt;path&gt;</dt>
645 <dd>
646 <p>Set the Git namespace. See <a href="gitnamespaces.html">gitnamespaces(7)</a> for more
647 details. Equivalent to setting the <code>GIT_NAMESPACE</code> environment
648 variable.</p>
649 </dd>
650 <dt class="hdlist1">--bare</dt>
651 <dd>
652 <p>Treat the repository as a bare repository. If GIT_DIR
653 environment is not set, it is set to the current working
654 directory.</p>
655 </dd>
656 <dt class="hdlist1">--no-replace-objects</dt>
657 <dd>
658 <p>Do not use replacement refs to replace Git objects.
659 This is equivalent to exporting the <code>GIT_NO_REPLACE_OBJECTS</code>
660 environment variable with any value.
661 See <a href="git-replace.html">git-replace(1)</a> for more information.</p>
662 </dd>
663 <dt class="hdlist1">--no-lazy-fetch</dt>
664 <dd>
665 <p>Do not fetch missing objects from the promisor remote on
666 demand. Useful together with <code>git cat-file -e &lt;object&gt;</code> to
667 see if the object is locally available.
668 This is equivalent to setting the <code>GIT_NO_LAZY_FETCH</code>
669 environment variable to <code>1</code>.</p>
670 </dd>
671 <dt class="hdlist1">--no-optional-locks</dt>
672 <dd>
673 <p>Do not perform optional operations that require locks. This is
674 equivalent to setting the <code>GIT_OPTIONAL_LOCKS</code> to <code>0</code>.</p>
675 </dd>
676 <dt class="hdlist1">--no-advice</dt>
677 <dd>
678 <p>Disable all advice hints from being printed.</p>
679 </dd>
680 <dt class="hdlist1">--literal-pathspecs</dt>
681 <dd>
682 <p>Treat pathspecs literally (i.e. no globbing, no pathspec magic).
683 This is equivalent to setting the <code>GIT_LITERAL_PATHSPECS</code> environment
684 variable to <code>1</code>.</p>
685 </dd>
686 <dt class="hdlist1">--glob-pathspecs</dt>
687 <dd>
688 <p>Add "glob" magic to all pathspec. This is equivalent to setting
689 the <code>GIT_GLOB_PATHSPECS</code> environment variable to <code>1</code>. Disabling
690 globbing on individual pathspecs can be done using pathspec
691 magic ":(literal)"</p>
692 </dd>
693 <dt class="hdlist1">--noglob-pathspecs</dt>
694 <dd>
695 <p>Add "literal" magic to all pathspec. This is equivalent to setting
696 the <code>GIT_NOGLOB_PATHSPECS</code> environment variable to <code>1</code>. Enabling
697 globbing on individual pathspecs can be done using pathspec
698 magic ":(glob)"</p>
699 </dd>
700 <dt class="hdlist1">--icase-pathspecs</dt>
701 <dd>
702 <p>Add "icase" magic to all pathspec. This is equivalent to setting
703 the <code>GIT_ICASE_PATHSPECS</code> environment variable to <code>1</code>.</p>
704 </dd>
705 <dt class="hdlist1">--list-cmds=&lt;group&gt;[,&lt;group&gt;&#8230;&#8203;]</dt>
706 <dd>
707 <p>List commands by group. This is an internal/experimental
708 option and may change or be removed in the future. Supported
709 groups are: builtins, parseopt (builtin commands that use
710 parse-options), main (all commands in libexec directory),
711 others (all other commands in <code>$PATH</code> that have git- prefix),
712 list-&lt;category&gt; (see categories in command-list.txt),
713 nohelpers (exclude helper commands), alias and config
714 (retrieve command list from config variable completion.commands)</p>
715 </dd>
716 <dt class="hdlist1">--attr-source=&lt;tree-ish&gt;</dt>
717 <dd>
718 <p>Read gitattributes from &lt;tree-ish&gt; instead of the worktree. See
719 <a href="gitattributes.html">gitattributes(5)</a>. This is equivalent to setting the
720 <code>GIT_ATTR_SOURCE</code> environment variable.</p>
721 </dd>
722 </dl>
723 </div>
724 </div>
725 </div>
726 <div class="sect1">
727 <h2 id="_git_commands">GIT COMMANDS</h2>
728 <div class="sectionbody">
729 <div class="paragraph">
730 <p>We divide Git into high level ("porcelain") commands and low level
731 ("plumbing") commands.</p>
732 </div>
733 </div>
734 </div>
735 <div class="sect1">
736 <h2 id="_high_level_commands_porcelain">High-level commands (porcelain)</h2>
737 <div class="sectionbody">
738 <div class="paragraph">
739 <p>We separate the porcelain commands into the main commands and some
740 ancillary user utilities.</p>
741 </div>
742 <div class="sect2">
743 <h3 id="_main_porcelain_commands">Main porcelain commands</h3>
744 <div class="dlist">
745 <dl>
746 <dt class="hdlist1"><a href="git-add.html">git-add(1)</a></dt>
747 <dd>
748 <p>Add file contents to the index.</p>
749 </dd>
750 <dt class="hdlist1"><a href="git-am.html">git-am(1)</a></dt>
751 <dd>
752 <p>Apply a series of patches from a mailbox.</p>
753 </dd>
754 <dt class="hdlist1"><a href="git-archive.html">git-archive(1)</a></dt>
755 <dd>
756 <p>Create an archive of files from a named tree.</p>
757 </dd>
758 <dt class="hdlist1"><a href="git-bisect.html">git-bisect(1)</a></dt>
759 <dd>
760 <p>Use binary search to find the commit that introduced a bug.</p>
761 </dd>
762 <dt class="hdlist1"><a href="git-branch.html">git-branch(1)</a></dt>
763 <dd>
764 <p>List, create, or delete branches.</p>
765 </dd>
766 <dt class="hdlist1"><a href="git-bundle.html">git-bundle(1)</a></dt>
767 <dd>
768 <p>Move objects and refs by archive.</p>
769 </dd>
770 <dt class="hdlist1"><a href="git-checkout.html">git-checkout(1)</a></dt>
771 <dd>
772 <p>Switch branches or restore working tree files.</p>
773 </dd>
774 <dt class="hdlist1"><a href="git-cherry-pick.html">git-cherry-pick(1)</a></dt>
775 <dd>
776 <p>Apply the changes introduced by some existing commits.</p>
777 </dd>
778 <dt class="hdlist1"><a href="git-citool.html">git-citool(1)</a></dt>
779 <dd>
780 <p>Graphical alternative to git-commit.</p>
781 </dd>
782 <dt class="hdlist1"><a href="git-clean.html">git-clean(1)</a></dt>
783 <dd>
784 <p>Remove untracked files from the working tree.</p>
785 </dd>
786 <dt class="hdlist1"><a href="git-clone.html">git-clone(1)</a></dt>
787 <dd>
788 <p>Clone a repository into a new directory.</p>
789 </dd>
790 <dt class="hdlist1"><a href="git-commit.html">git-commit(1)</a></dt>
791 <dd>
792 <p>Record changes to the repository.</p>
793 </dd>
794 <dt class="hdlist1"><a href="git-describe.html">git-describe(1)</a></dt>
795 <dd>
796 <p>Give an object a human readable name based on an available ref.</p>
797 </dd>
798 <dt class="hdlist1"><a href="git-diff.html">git-diff(1)</a></dt>
799 <dd>
800 <p>Show changes between commits, commit and working tree, etc.</p>
801 </dd>
802 <dt class="hdlist1"><a href="git-fetch.html">git-fetch(1)</a></dt>
803 <dd>
804 <p>Download objects and refs from another repository.</p>
805 </dd>
806 <dt class="hdlist1"><a href="git-format-patch.html">git-format-patch(1)</a></dt>
807 <dd>
808 <p>Prepare patches for e-mail submission.</p>
809 </dd>
810 <dt class="hdlist1"><a href="git-gc.html">git-gc(1)</a></dt>
811 <dd>
812 <p>Cleanup unnecessary files and optimize the local repository.</p>
813 </dd>
814 <dt class="hdlist1"><a href="git-grep.html">git-grep(1)</a></dt>
815 <dd>
816 <p>Print lines matching a pattern.</p>
817 </dd>
818 <dt class="hdlist1"><a href="git-gui.html">git-gui(1)</a></dt>
819 <dd>
820 <p>A portable graphical interface to Git.</p>
821 </dd>
822 <dt class="hdlist1"><a href="git-init.html">git-init(1)</a></dt>
823 <dd>
824 <p>Create an empty Git repository or reinitialize an existing one.</p>
825 </dd>
826 <dt class="hdlist1"><a href="git-log.html">git-log(1)</a></dt>
827 <dd>
828 <p>Show commit logs.</p>
829 </dd>
830 <dt class="hdlist1"><a href="git-maintenance.html">git-maintenance(1)</a></dt>
831 <dd>
832 <p>Run tasks to optimize Git repository data.</p>
833 </dd>
834 <dt class="hdlist1"><a href="git-merge.html">git-merge(1)</a></dt>
835 <dd>
836 <p>Join two or more development histories together.</p>
837 </dd>
838 <dt class="hdlist1"><a href="git-mv.html">git-mv(1)</a></dt>
839 <dd>
840 <p>Move or rename a file, a directory, or a symlink.</p>
841 </dd>
842 <dt class="hdlist1"><a href="git-notes.html">git-notes(1)</a></dt>
843 <dd>
844 <p>Add or inspect object notes.</p>
845 </dd>
846 <dt class="hdlist1"><a href="git-pull.html">git-pull(1)</a></dt>
847 <dd>
848 <p>Fetch from and integrate with another repository or a local branch.</p>
849 </dd>
850 <dt class="hdlist1"><a href="git-push.html">git-push(1)</a></dt>
851 <dd>
852 <p>Update remote refs along with associated objects.</p>
853 </dd>
854 <dt class="hdlist1"><a href="git-range-diff.html">git-range-diff(1)</a></dt>
855 <dd>
856 <p>Compare two commit ranges (e.g. two versions of a branch).</p>
857 </dd>
858 <dt class="hdlist1"><a href="git-rebase.html">git-rebase(1)</a></dt>
859 <dd>
860 <p>Reapply commits on top of another base tip.</p>
861 </dd>
862 <dt class="hdlist1"><a href="git-reset.html">git-reset(1)</a></dt>
863 <dd>
864 <p>Reset current HEAD to the specified state.</p>
865 </dd>
866 <dt class="hdlist1"><a href="git-restore.html">git-restore(1)</a></dt>
867 <dd>
868 <p>Restore working tree files.</p>
869 </dd>
870 <dt class="hdlist1"><a href="git-revert.html">git-revert(1)</a></dt>
871 <dd>
872 <p>Revert some existing commits.</p>
873 </dd>
874 <dt class="hdlist1"><a href="git-rm.html">git-rm(1)</a></dt>
875 <dd>
876 <p>Remove files from the working tree and from the index.</p>
877 </dd>
878 <dt class="hdlist1"><a href="git-shortlog.html">git-shortlog(1)</a></dt>
879 <dd>
880 <p>Summarize <em>git log</em> output.</p>
881 </dd>
882 <dt class="hdlist1"><a href="git-show.html">git-show(1)</a></dt>
883 <dd>
884 <p>Show various types of objects.</p>
885 </dd>
886 <dt class="hdlist1"><a href="git-sparse-checkout.html">git-sparse-checkout(1)</a></dt>
887 <dd>
888 <p>Reduce your working tree to a subset of tracked files.</p>
889 </dd>
890 <dt class="hdlist1"><a href="git-stash.html">git-stash(1)</a></dt>
891 <dd>
892 <p>Stash the changes in a dirty working directory away.</p>
893 </dd>
894 <dt class="hdlist1"><a href="git-status.html">git-status(1)</a></dt>
895 <dd>
896 <p>Show the working tree status.</p>
897 </dd>
898 <dt class="hdlist1"><a href="git-submodule.html">git-submodule(1)</a></dt>
899 <dd>
900 <p>Initialize, update or inspect submodules.</p>
901 </dd>
902 <dt class="hdlist1"><a href="git-switch.html">git-switch(1)</a></dt>
903 <dd>
904 <p>Switch branches.</p>
905 </dd>
906 <dt class="hdlist1"><a href="git-tag.html">git-tag(1)</a></dt>
907 <dd>
908 <p>Create, list, delete or verify a tag object signed with GPG.</p>
909 </dd>
910 <dt class="hdlist1"><a href="git-worktree.html">git-worktree(1)</a></dt>
911 <dd>
912 <p>Manage multiple working trees.</p>
913 </dd>
914 <dt class="hdlist1"><a href="gitk.html">gitk(1)</a></dt>
915 <dd>
916 <p>The Git repository browser.</p>
917 </dd>
918 <dt class="hdlist1"><a href="scalar.html">scalar(1)</a></dt>
919 <dd>
920 <p>A tool for managing large Git repositories.</p>
921 </dd>
922 </dl>
923 </div>
924 </div>
925 <div class="sect2">
926 <h3 id="_ancillary_commands">Ancillary Commands</h3>
927 <div class="paragraph">
928 <p>Manipulators:</p>
929 </div>
930 <div class="dlist">
931 <dl>
932 <dt class="hdlist1"><a href="git-config.html">git-config(1)</a></dt>
933 <dd>
934 <p>Get and set repository or global options.</p>
935 </dd>
936 <dt class="hdlist1"><a href="git-fast-export.html">git-fast-export(1)</a></dt>
937 <dd>
938 <p>Git data exporter.</p>
939 </dd>
940 <dt class="hdlist1"><a href="git-fast-import.html">git-fast-import(1)</a></dt>
941 <dd>
942 <p>Backend for fast Git data importers.</p>
943 </dd>
944 <dt class="hdlist1"><a href="git-filter-branch.html">git-filter-branch(1)</a></dt>
945 <dd>
946 <p>Rewrite branches.</p>
947 </dd>
948 <dt class="hdlist1"><a href="git-mergetool.html">git-mergetool(1)</a></dt>
949 <dd>
950 <p>Run merge conflict resolution tools to resolve merge conflicts.</p>
951 </dd>
952 <dt class="hdlist1"><a href="git-pack-refs.html">git-pack-refs(1)</a></dt>
953 <dd>
954 <p>Pack heads and tags for efficient repository access.</p>
955 </dd>
956 <dt class="hdlist1"><a href="git-prune.html">git-prune(1)</a></dt>
957 <dd>
958 <p>Prune all unreachable objects from the object database.</p>
959 </dd>
960 <dt class="hdlist1"><a href="git-reflog.html">git-reflog(1)</a></dt>
961 <dd>
962 <p>Manage reflog information.</p>
963 </dd>
964 <dt class="hdlist1"><a href="git-refs.html">git-refs(1)</a></dt>
965 <dd>
966 <p>Low-level access to refs.</p>
967 </dd>
968 <dt class="hdlist1"><a href="git-remote.html">git-remote(1)</a></dt>
969 <dd>
970 <p>Manage set of tracked repositories.</p>
971 </dd>
972 <dt class="hdlist1"><a href="git-repack.html">git-repack(1)</a></dt>
973 <dd>
974 <p>Pack unpacked objects in a repository.</p>
975 </dd>
976 <dt class="hdlist1"><a href="git-replace.html">git-replace(1)</a></dt>
977 <dd>
978 <p>Create, list, delete refs to replace objects.</p>
979 </dd>
980 </dl>
981 </div>
982 <div class="paragraph">
983 <p>Interrogators:</p>
984 </div>
985 <div class="dlist">
986 <dl>
987 <dt class="hdlist1"><a href="git-annotate.html">git-annotate(1)</a></dt>
988 <dd>
989 <p>Annotate file lines with commit information.</p>
990 </dd>
991 <dt class="hdlist1"><a href="git-blame.html">git-blame(1)</a></dt>
992 <dd>
993 <p>Show what revision and author last modified each line of a file.</p>
994 </dd>
995 <dt class="hdlist1"><a href="git-bugreport.html">git-bugreport(1)</a></dt>
996 <dd>
997 <p>Collect information for user to file a bug report.</p>
998 </dd>
999 <dt class="hdlist1"><a href="git-count-objects.html">git-count-objects(1)</a></dt>
1000 <dd>
1001 <p>Count unpacked number of objects and their disk consumption.</p>
1002 </dd>
1003 <dt class="hdlist1"><a href="git-diagnose.html">git-diagnose(1)</a></dt>
1004 <dd>
1005 <p>Generate a zip archive of diagnostic information.</p>
1006 </dd>
1007 <dt class="hdlist1"><a href="git-difftool.html">git-difftool(1)</a></dt>
1008 <dd>
1009 <p>Show changes using common diff tools.</p>
1010 </dd>
1011 <dt class="hdlist1"><a href="git-fsck.html">git-fsck(1)</a></dt>
1012 <dd>
1013 <p>Verifies the connectivity and validity of the objects in the database.</p>
1014 </dd>
1015 <dt class="hdlist1"><a href="git-help.html">git-help(1)</a></dt>
1016 <dd>
1017 <p>Display help information about Git.</p>
1018 </dd>
1019 <dt class="hdlist1"><a href="git-instaweb.html">git-instaweb(1)</a></dt>
1020 <dd>
1021 <p>Instantly browse your working repository in gitweb.</p>
1022 </dd>
1023 <dt class="hdlist1"><a href="git-merge-tree.html">git-merge-tree(1)</a></dt>
1024 <dd>
1025 <p>Perform merge without touching index or working tree.</p>
1026 </dd>
1027 <dt class="hdlist1"><a href="git-rerere.html">git-rerere(1)</a></dt>
1028 <dd>
1029 <p>Reuse recorded resolution of conflicted merges.</p>
1030 </dd>
1031 <dt class="hdlist1"><a href="git-show-branch.html">git-show-branch(1)</a></dt>
1032 <dd>
1033 <p>Show branches and their commits.</p>
1034 </dd>
1035 <dt class="hdlist1"><a href="git-verify-commit.html">git-verify-commit(1)</a></dt>
1036 <dd>
1037 <p>Check the GPG signature of commits.</p>
1038 </dd>
1039 <dt class="hdlist1"><a href="git-verify-tag.html">git-verify-tag(1)</a></dt>
1040 <dd>
1041 <p>Check the GPG signature of tags.</p>
1042 </dd>
1043 <dt class="hdlist1"><a href="git-version.html">git-version(1)</a></dt>
1044 <dd>
1045 <p>Display version information about Git.</p>
1046 </dd>
1047 <dt class="hdlist1"><a href="git-whatchanged.html">git-whatchanged(1)</a></dt>
1048 <dd>
1049 <p>Show logs with differences each commit introduces.</p>
1050 </dd>
1051 <dt class="hdlist1"><a href="gitweb.html">gitweb(1)</a></dt>
1052 <dd>
1053 <p>Git web interface (web frontend to Git repositories).</p>
1054 </dd>
1055 </dl>
1056 </div>
1057 </div>
1058 <div class="sect2">
1059 <h3 id="_interacting_with_others">Interacting with Others</h3>
1060 <div class="paragraph">
1061 <p>These commands are to interact with foreign SCM and with other
1062 people via patch over e-mail.</p>
1063 </div>
1064 <div class="dlist">
1065 <dl>
1066 <dt class="hdlist1"><a href="git-archimport.html">git-archimport(1)</a></dt>
1067 <dd>
1068 <p>Import a GNU Arch repository into Git.</p>
1069 </dd>
1070 <dt class="hdlist1"><a href="git-cvsexportcommit.html">git-cvsexportcommit(1)</a></dt>
1071 <dd>
1072 <p>Export a single commit to a CVS checkout.</p>
1073 </dd>
1074 <dt class="hdlist1"><a href="git-cvsimport.html">git-cvsimport(1)</a></dt>
1075 <dd>
1076 <p>Salvage your data out of another SCM people love to hate.</p>
1077 </dd>
1078 <dt class="hdlist1"><a href="git-cvsserver.html">git-cvsserver(1)</a></dt>
1079 <dd>
1080 <p>A CVS server emulator for Git.</p>
1081 </dd>
1082 <dt class="hdlist1"><a href="git-imap-send.html">git-imap-send(1)</a></dt>
1083 <dd>
1084 <p>Send a collection of patches from stdin to an IMAP folder.</p>
1085 </dd>
1086 <dt class="hdlist1"><a href="git-p4.html">git-p4(1)</a></dt>
1087 <dd>
1088 <p>Import from and submit to Perforce repositories.</p>
1089 </dd>
1090 <dt class="hdlist1"><a href="git-quiltimport.html">git-quiltimport(1)</a></dt>
1091 <dd>
1092 <p>Applies a quilt patchset onto the current branch.</p>
1093 </dd>
1094 <dt class="hdlist1"><a href="git-request-pull.html">git-request-pull(1)</a></dt>
1095 <dd>
1096 <p>Generates a summary of pending changes.</p>
1097 </dd>
1098 <dt class="hdlist1"><a href="git-send-email.html">git-send-email(1)</a></dt>
1099 <dd>
1100 <p>Send a collection of patches as emails.</p>
1101 </dd>
1102 <dt class="hdlist1"><a href="git-svn.html">git-svn(1)</a></dt>
1103 <dd>
1104 <p>Bidirectional operation between a Subversion repository and Git.</p>
1105 </dd>
1106 </dl>
1107 </div>
1108 </div>
1109 <div class="sect2">
1110 <h3 id="_reset_restore_and_revert">Reset, restore and revert</h3>
1111 <div class="paragraph">
1112 <p>There are three commands with similar names: <code>git reset</code>,
1113 <code>git restore</code> and <code>git revert</code>.</p>
1114 </div>
1115 <div class="ulist">
1116 <ul>
1117 <li>
1118 <p><a href="git-revert.html">git-revert(1)</a> is about making a new commit that reverts the
1119 changes made by other commits.</p>
1120 </li>
1121 <li>
1122 <p><a href="git-restore.html">git-restore(1)</a> is about restoring files in the working tree
1123 from either the index or another commit. This command does not
1124 update your branch. The command can also be used to restore files in
1125 the index from another commit.</p>
1126 </li>
1127 <li>
1128 <p><a href="git-reset.html">git-reset(1)</a> is about updating your branch, moving the tip
1129 in order to add or remove commits from the branch. This operation
1130 changes the commit history.</p>
1131 <div class="paragraph">
1132 <p><code>git reset</code> can also be used to restore the index, overlapping with
1133 <code>git restore</code>.</p>
1134 </div>
1135 </li>
1136 </ul>
1137 </div>
1138 </div>
1139 </div>
1140 </div>
1141 <div class="sect1">
1142 <h2 id="_low_level_commands_plumbing">Low-level commands (plumbing)</h2>
1143 <div class="sectionbody">
1144 <div class="paragraph">
1145 <p>Although Git includes its
1146 own porcelain layer, its low-level commands are sufficient to support
1147 development of alternative porcelains. Developers of such porcelains
1148 might start by reading about <a href="git-update-index.html">git-update-index(1)</a> and
1149 <a href="git-read-tree.html">git-read-tree(1)</a>.</p>
1150 </div>
1151 <div class="paragraph">
1152 <p>The interface (input, output, set of options and the semantics)
1153 to these low-level commands are meant to be a lot more stable
1154 than Porcelain level commands, because these commands are
1155 primarily for scripted use. The interface to Porcelain commands
1156 on the other hand are subject to change in order to improve the
1157 end user experience.</p>
1158 </div>
1159 <div class="paragraph">
1160 <p>The following description divides
1161 the low-level commands into commands that manipulate objects (in
1162 the repository, index, and working tree), commands that interrogate and
1163 compare objects, and commands that move objects and references between
1164 repositories.</p>
1165 </div>
1166 <div class="sect2">
1167 <h3 id="_manipulation_commands">Manipulation commands</h3>
1168 <div class="dlist">
1169 <dl>
1170 <dt class="hdlist1"><a href="git-apply.html">git-apply(1)</a></dt>
1171 <dd>
1172 <p>Apply a patch to files and/or to the index.</p>
1173 </dd>
1174 <dt class="hdlist1"><a href="git-checkout-index.html">git-checkout-index(1)</a></dt>
1175 <dd>
1176 <p>Copy files from the index to the working tree.</p>
1177 </dd>
1178 <dt class="hdlist1"><a href="git-commit-graph.html">git-commit-graph(1)</a></dt>
1179 <dd>
1180 <p>Write and verify Git commit-graph files.</p>
1181 </dd>
1182 <dt class="hdlist1"><a href="git-commit-tree.html">git-commit-tree(1)</a></dt>
1183 <dd>
1184 <p>Create a new commit object.</p>
1185 </dd>
1186 <dt class="hdlist1"><a href="git-hash-object.html">git-hash-object(1)</a></dt>
1187 <dd>
1188 <p>Compute object ID and optionally create an object from a file.</p>
1189 </dd>
1190 <dt class="hdlist1"><a href="git-index-pack.html">git-index-pack(1)</a></dt>
1191 <dd>
1192 <p>Build pack index file for an existing packed archive.</p>
1193 </dd>
1194 <dt class="hdlist1"><a href="git-merge-file.html">git-merge-file(1)</a></dt>
1195 <dd>
1196 <p>Run a three-way file merge.</p>
1197 </dd>
1198 <dt class="hdlist1"><a href="git-merge-index.html">git-merge-index(1)</a></dt>
1199 <dd>
1200 <p>Run a merge for files needing merging.</p>
1201 </dd>
1202 <dt class="hdlist1"><a href="git-mktag.html">git-mktag(1)</a></dt>
1203 <dd>
1204 <p>Creates a tag object with extra validation.</p>
1205 </dd>
1206 <dt class="hdlist1"><a href="git-mktree.html">git-mktree(1)</a></dt>
1207 <dd>
1208 <p>Build a tree-object from ls-tree formatted text.</p>
1209 </dd>
1210 <dt class="hdlist1"><a href="git-multi-pack-index.html">git-multi-pack-index(1)</a></dt>
1211 <dd>
1212 <p>Write and verify multi-pack-indexes.</p>
1213 </dd>
1214 <dt class="hdlist1"><a href="git-pack-objects.html">git-pack-objects(1)</a></dt>
1215 <dd>
1216 <p>Create a packed archive of objects.</p>
1217 </dd>
1218 <dt class="hdlist1"><a href="git-prune-packed.html">git-prune-packed(1)</a></dt>
1219 <dd>
1220 <p>Remove extra objects that are already in pack files.</p>
1221 </dd>
1222 <dt class="hdlist1"><a href="git-read-tree.html">git-read-tree(1)</a></dt>
1223 <dd>
1224 <p>Reads tree information into the index.</p>
1225 </dd>
1226 <dt class="hdlist1"><a href="git-replay.html">git-replay(1)</a></dt>
1227 <dd>
1228 <p>EXPERIMENTAL: Replay commits on a new base, works with bare repos too.</p>
1229 </dd>
1230 <dt class="hdlist1"><a href="git-symbolic-ref.html">git-symbolic-ref(1)</a></dt>
1231 <dd>
1232 <p>Read, modify and delete symbolic refs.</p>
1233 </dd>
1234 <dt class="hdlist1"><a href="git-unpack-objects.html">git-unpack-objects(1)</a></dt>
1235 <dd>
1236 <p>Unpack objects from a packed archive.</p>
1237 </dd>
1238 <dt class="hdlist1"><a href="git-update-index.html">git-update-index(1)</a></dt>
1239 <dd>
1240 <p>Register file contents in the working tree to the index.</p>
1241 </dd>
1242 <dt class="hdlist1"><a href="git-update-ref.html">git-update-ref(1)</a></dt>
1243 <dd>
1244 <p>Update the object name stored in a ref safely.</p>
1245 </dd>
1246 <dt class="hdlist1"><a href="git-write-tree.html">git-write-tree(1)</a></dt>
1247 <dd>
1248 <p>Create a tree object from the current index.</p>
1249 </dd>
1250 </dl>
1251 </div>
1252 </div>
1253 <div class="sect2">
1254 <h3 id="_interrogation_commands">Interrogation commands</h3>
1255 <div class="dlist">
1256 <dl>
1257 <dt class="hdlist1"><a href="git-cat-file.html">git-cat-file(1)</a></dt>
1258 <dd>
1259 <p>Provide contents or details of repository objects.</p>
1260 </dd>
1261 <dt class="hdlist1"><a href="git-cherry.html">git-cherry(1)</a></dt>
1262 <dd>
1263 <p>Find commits yet to be applied to upstream.</p>
1264 </dd>
1265 <dt class="hdlist1"><a href="git-diff-files.html">git-diff-files(1)</a></dt>
1266 <dd>
1267 <p>Compares files in the working tree and the index.</p>
1268 </dd>
1269 <dt class="hdlist1"><a href="git-diff-index.html">git-diff-index(1)</a></dt>
1270 <dd>
1271 <p>Compare a tree to the working tree or index.</p>
1272 </dd>
1273 <dt class="hdlist1"><a href="git-diff-tree.html">git-diff-tree(1)</a></dt>
1274 <dd>
1275 <p>Compares the content and mode of blobs found via two tree objects.</p>
1276 </dd>
1277 <dt class="hdlist1"><a href="git-for-each-ref.html">git-for-each-ref(1)</a></dt>
1278 <dd>
1279 <p>Output information on each ref.</p>
1280 </dd>
1281 <dt class="hdlist1"><a href="git-for-each-repo.html">git-for-each-repo(1)</a></dt>
1282 <dd>
1283 <p>Run a Git command on a list of repositories.</p>
1284 </dd>
1285 <dt class="hdlist1"><a href="git-get-tar-commit-id.html">git-get-tar-commit-id(1)</a></dt>
1286 <dd>
1287 <p>Extract commit ID from an archive created using git-archive.</p>
1288 </dd>
1289 <dt class="hdlist1"><a href="git-ls-files.html">git-ls-files(1)</a></dt>
1290 <dd>
1291 <p>Show information about files in the index and the working tree.</p>
1292 </dd>
1293 <dt class="hdlist1"><a href="git-ls-remote.html">git-ls-remote(1)</a></dt>
1294 <dd>
1295 <p>List references in a remote repository.</p>
1296 </dd>
1297 <dt class="hdlist1"><a href="git-ls-tree.html">git-ls-tree(1)</a></dt>
1298 <dd>
1299 <p>List the contents of a tree object.</p>
1300 </dd>
1301 <dt class="hdlist1"><a href="git-merge-base.html">git-merge-base(1)</a></dt>
1302 <dd>
1303 <p>Find as good common ancestors as possible for a merge.</p>
1304 </dd>
1305 <dt class="hdlist1"><a href="git-name-rev.html">git-name-rev(1)</a></dt>
1306 <dd>
1307 <p>Find symbolic names for given revs.</p>
1308 </dd>
1309 <dt class="hdlist1"><a href="git-pack-redundant.html">git-pack-redundant(1)</a></dt>
1310 <dd>
1311 <p>Find redundant pack files.</p>
1312 </dd>
1313 <dt class="hdlist1"><a href="git-rev-list.html">git-rev-list(1)</a></dt>
1314 <dd>
1315 <p>Lists commit objects in reverse chronological order.</p>
1316 </dd>
1317 <dt class="hdlist1"><a href="git-rev-parse.html">git-rev-parse(1)</a></dt>
1318 <dd>
1319 <p>Pick out and massage parameters.</p>
1320 </dd>
1321 <dt class="hdlist1"><a href="git-show-index.html">git-show-index(1)</a></dt>
1322 <dd>
1323 <p>Show packed archive index.</p>
1324 </dd>
1325 <dt class="hdlist1"><a href="git-show-ref.html">git-show-ref(1)</a></dt>
1326 <dd>
1327 <p>List references in a local repository.</p>
1328 </dd>
1329 <dt class="hdlist1"><a href="git-unpack-file.html">git-unpack-file(1)</a></dt>
1330 <dd>
1331 <p>Creates a temporary file with a blob&#8217;s contents.</p>
1332 </dd>
1333 <dt class="hdlist1"><a href="git-var.html">git-var(1)</a></dt>
1334 <dd>
1335 <p>Show a Git logical variable.</p>
1336 </dd>
1337 <dt class="hdlist1"><a href="git-verify-pack.html">git-verify-pack(1)</a></dt>
1338 <dd>
1339 <p>Validate packed Git archive files.</p>
1340 </dd>
1341 </dl>
1342 </div>
1343 <div class="paragraph">
1344 <p>In general, the interrogate commands do not touch the files in
1345 the working tree.</p>
1346 </div>
1347 </div>
1348 <div class="sect2">
1349 <h3 id="_syncing_repositories">Syncing repositories</h3>
1350 <div class="dlist">
1351 <dl>
1352 <dt class="hdlist1"><a href="git-daemon.html">git-daemon(1)</a></dt>
1353 <dd>
1354 <p>A really simple server for Git repositories.</p>
1355 </dd>
1356 <dt class="hdlist1"><a href="git-fetch-pack.html">git-fetch-pack(1)</a></dt>
1357 <dd>
1358 <p>Receive missing objects from another repository.</p>
1359 </dd>
1360 <dt class="hdlist1"><a href="git-http-backend.html">git-http-backend(1)</a></dt>
1361 <dd>
1362 <p>Server side implementation of Git over HTTP.</p>
1363 </dd>
1364 <dt class="hdlist1"><a href="git-send-pack.html">git-send-pack(1)</a></dt>
1365 <dd>
1366 <p>Push objects over Git protocol to another repository.</p>
1367 </dd>
1368 <dt class="hdlist1"><a href="git-update-server-info.html">git-update-server-info(1)</a></dt>
1369 <dd>
1370 <p>Update auxiliary info file to help dumb servers.</p>
1371 </dd>
1372 </dl>
1373 </div>
1374 <div class="paragraph">
1375 <p>The following are helper commands used by the above; end users
1376 typically do not use them directly.</p>
1377 </div>
1378 <div class="dlist">
1379 <dl>
1380 <dt class="hdlist1"><a href="git-http-fetch.html">git-http-fetch(1)</a></dt>
1381 <dd>
1382 <p>Download from a remote Git repository via HTTP.</p>
1383 </dd>
1384 <dt class="hdlist1"><a href="git-http-push.html">git-http-push(1)</a></dt>
1385 <dd>
1386 <p>Push objects over HTTP/DAV to another repository.</p>
1387 </dd>
1388 <dt class="hdlist1"><a href="git-receive-pack.html">git-receive-pack(1)</a></dt>
1389 <dd>
1390 <p>Receive what is pushed into the repository.</p>
1391 </dd>
1392 <dt class="hdlist1"><a href="git-shell.html">git-shell(1)</a></dt>
1393 <dd>
1394 <p>Restricted login shell for Git-only SSH access.</p>
1395 </dd>
1396 <dt class="hdlist1"><a href="git-upload-archive.html">git-upload-archive(1)</a></dt>
1397 <dd>
1398 <p>Send archive back to git-archive.</p>
1399 </dd>
1400 <dt class="hdlist1"><a href="git-upload-pack.html">git-upload-pack(1)</a></dt>
1401 <dd>
1402 <p>Send objects packed back to git-fetch-pack.</p>
1403 </dd>
1404 </dl>
1405 </div>
1406 </div>
1407 <div class="sect2">
1408 <h3 id="_internal_helper_commands">Internal helper commands</h3>
1409 <div class="paragraph">
1410 <p>These are internal helper commands used by other commands; end
1411 users typically do not use them directly.</p>
1412 </div>
1413 <div class="dlist">
1414 <dl>
1415 <dt class="hdlist1"><a href="git-check-attr.html">git-check-attr(1)</a></dt>
1416 <dd>
1417 <p>Display gitattributes information.</p>
1418 </dd>
1419 <dt class="hdlist1"><a href="git-check-ignore.html">git-check-ignore(1)</a></dt>
1420 <dd>
1421 <p>Debug gitignore / exclude files.</p>
1422 </dd>
1423 <dt class="hdlist1"><a href="git-check-mailmap.html">git-check-mailmap(1)</a></dt>
1424 <dd>
1425 <p>Show canonical names and email addresses of contacts.</p>
1426 </dd>
1427 <dt class="hdlist1"><a href="git-check-ref-format.html">git-check-ref-format(1)</a></dt>
1428 <dd>
1429 <p>Ensures that a reference name is well formed.</p>
1430 </dd>
1431 <dt class="hdlist1"><a href="git-column.html">git-column(1)</a></dt>
1432 <dd>
1433 <p>Display data in columns.</p>
1434 </dd>
1435 <dt class="hdlist1"><a href="git-credential.html">git-credential(1)</a></dt>
1436 <dd>
1437 <p>Retrieve and store user credentials.</p>
1438 </dd>
1439 <dt class="hdlist1"><a href="git-credential-cache.html">git-credential-cache(1)</a></dt>
1440 <dd>
1441 <p>Helper to temporarily store passwords in memory.</p>
1442 </dd>
1443 <dt class="hdlist1"><a href="git-credential-store.html">git-credential-store(1)</a></dt>
1444 <dd>
1445 <p>Helper to store credentials on disk.</p>
1446 </dd>
1447 <dt class="hdlist1"><a href="git-fmt-merge-msg.html">git-fmt-merge-msg(1)</a></dt>
1448 <dd>
1449 <p>Produce a merge commit message.</p>
1450 </dd>
1451 <dt class="hdlist1"><a href="git-hook.html">git-hook(1)</a></dt>
1452 <dd>
1453 <p>Run git hooks.</p>
1454 </dd>
1455 <dt class="hdlist1"><a href="git-interpret-trailers.html">git-interpret-trailers(1)</a></dt>
1456 <dd>
1457 <p>Add or parse structured information in commit messages.</p>
1458 </dd>
1459 <dt class="hdlist1"><a href="git-mailinfo.html">git-mailinfo(1)</a></dt>
1460 <dd>
1461 <p>Extracts patch and authorship from a single e-mail message.</p>
1462 </dd>
1463 <dt class="hdlist1"><a href="git-mailsplit.html">git-mailsplit(1)</a></dt>
1464 <dd>
1465 <p>Simple UNIX mbox splitter program.</p>
1466 </dd>
1467 <dt class="hdlist1"><a href="git-merge-one-file.html">git-merge-one-file(1)</a></dt>
1468 <dd>
1469 <p>The standard helper program to use with git-merge-index.</p>
1470 </dd>
1471 <dt class="hdlist1"><a href="git-patch-id.html">git-patch-id(1)</a></dt>
1472 <dd>
1473 <p>Compute unique ID for a patch.</p>
1474 </dd>
1475 <dt class="hdlist1"><a href="git-sh-i18n.html">git-sh-i18n(1)</a></dt>
1476 <dd>
1477 <p>Git&#8217;s i18n setup code for shell scripts.</p>
1478 </dd>
1479 <dt class="hdlist1"><a href="git-sh-setup.html">git-sh-setup(1)</a></dt>
1480 <dd>
1481 <p>Common Git shell script setup code.</p>
1482 </dd>
1483 <dt class="hdlist1"><a href="git-stripspace.html">git-stripspace(1)</a></dt>
1484 <dd>
1485 <p>Remove unnecessary whitespace.</p>
1486 </dd>
1487 </dl>
1488 </div>
1489 </div>
1490 </div>
1491 </div>
1492 <div class="sect1">
1493 <h2 id="_guides">Guides</h2>
1494 <div class="sectionbody">
1495 <div class="paragraph">
1496 <p>The following documentation pages are guides about Git concepts.</p>
1497 </div>
1498 <div class="dlist">
1499 <dl>
1500 <dt class="hdlist1"><a href="gitcore-tutorial.html">gitcore-tutorial(7)</a></dt>
1501 <dd>
1502 <p>A Git core tutorial for developers.</p>
1503 </dd>
1504 <dt class="hdlist1"><a href="gitcredentials.html">gitcredentials(7)</a></dt>
1505 <dd>
1506 <p>Providing usernames and passwords to Git.</p>
1507 </dd>
1508 <dt class="hdlist1"><a href="gitcvs-migration.html">gitcvs-migration(7)</a></dt>
1509 <dd>
1510 <p>Git for CVS users.</p>
1511 </dd>
1512 <dt class="hdlist1"><a href="gitdiffcore.html">gitdiffcore(7)</a></dt>
1513 <dd>
1514 <p>Tweaking diff output.</p>
1515 </dd>
1516 <dt class="hdlist1"><a href="giteveryday.html">giteveryday(7)</a></dt>
1517 <dd>
1518 <p>A useful minimum set of commands for Everyday Git.</p>
1519 </dd>
1520 <dt class="hdlist1"><a href="gitfaq.html">gitfaq(7)</a></dt>
1521 <dd>
1522 <p>Frequently asked questions about using Git.</p>
1523 </dd>
1524 <dt class="hdlist1"><a href="gitglossary.html">gitglossary(7)</a></dt>
1525 <dd>
1526 <p>A Git Glossary.</p>
1527 </dd>
1528 <dt class="hdlist1"><a href="gitnamespaces.html">gitnamespaces(7)</a></dt>
1529 <dd>
1530 <p>Git namespaces.</p>
1531 </dd>
1532 <dt class="hdlist1"><a href="gitremote-helpers.html">gitremote-helpers(7)</a></dt>
1533 <dd>
1534 <p>Helper programs to interact with remote repositories.</p>
1535 </dd>
1536 <dt class="hdlist1"><a href="gitsubmodules.html">gitsubmodules(7)</a></dt>
1537 <dd>
1538 <p>Mounting one repository inside another.</p>
1539 </dd>
1540 <dt class="hdlist1"><a href="gittutorial.html">gittutorial(7)</a></dt>
1541 <dd>
1542 <p>A tutorial introduction to Git.</p>
1543 </dd>
1544 <dt class="hdlist1"><a href="gittutorial-2.html">gittutorial-2(7)</a></dt>
1545 <dd>
1546 <p>A tutorial introduction to Git: part two.</p>
1547 </dd>
1548 <dt class="hdlist1"><a href="gitworkflows.html">gitworkflows(7)</a></dt>
1549 <dd>
1550 <p>An overview of recommended workflows with Git.</p>
1551 </dd>
1552 </dl>
1553 </div>
1554 </div>
1555 </div>
1556 <div class="sect1">
1557 <h2 id="_repository_command_and_file_interfaces">Repository, command and file interfaces</h2>
1558 <div class="sectionbody">
1559 <div class="paragraph">
1560 <p>This documentation discusses repository and command interfaces which
1561 users are expected to interact with directly. See <code>--user-formats</code> in
1562 <a href="git-help.html">git-help(1)</a> for more details on the criteria.</p>
1563 </div>
1564 <div class="dlist">
1565 <dl>
1566 <dt class="hdlist1"><a href="gitattributes.html">gitattributes(5)</a></dt>
1567 <dd>
1568 <p>Defining attributes per path.</p>
1569 </dd>
1570 <dt class="hdlist1"><a href="gitcli.html">gitcli(7)</a></dt>
1571 <dd>
1572 <p>Git command-line interface and conventions.</p>
1573 </dd>
1574 <dt class="hdlist1"><a href="githooks.html">githooks(5)</a></dt>
1575 <dd>
1576 <p>Hooks used by Git.</p>
1577 </dd>
1578 <dt class="hdlist1"><a href="gitignore.html">gitignore(5)</a></dt>
1579 <dd>
1580 <p>Specifies intentionally untracked files to ignore.</p>
1581 </dd>
1582 <dt class="hdlist1"><a href="gitmailmap.html">gitmailmap(5)</a></dt>
1583 <dd>
1584 <p>Map author/committer names and/or E-Mail addresses.</p>
1585 </dd>
1586 <dt class="hdlist1"><a href="gitmodules.html">gitmodules(5)</a></dt>
1587 <dd>
1588 <p>Defining submodule properties.</p>
1589 </dd>
1590 <dt class="hdlist1"><a href="gitrepository-layout.html">gitrepository-layout(5)</a></dt>
1591 <dd>
1592 <p>Git Repository Layout.</p>
1593 </dd>
1594 <dt class="hdlist1"><a href="gitrevisions.html">gitrevisions(7)</a></dt>
1595 <dd>
1596 <p>Specifying revisions and ranges for Git.</p>
1597 </dd>
1598 </dl>
1599 </div>
1600 </div>
1601 </div>
1602 <div class="sect1">
1603 <h2 id="_file_formats_protocols_and_other_developer_interfaces">File formats, protocols and other developer interfaces</h2>
1604 <div class="sectionbody">
1605 <div class="paragraph">
1606 <p>This documentation discusses file formats, over-the-wire protocols and
1607 other git developer interfaces. See <code>--developer-interfaces</code> in
1608 <a href="git-help.html">git-help(1)</a>.</p>
1609 </div>
1610 <div class="dlist">
1611 <dl>
1612 <dt class="hdlist1"><a href="gitformat-bundle.html">gitformat-bundle(5)</a></dt>
1613 <dd>
1614 <p>The bundle file format.</p>
1615 </dd>
1616 <dt class="hdlist1"><a href="gitformat-chunk.html">gitformat-chunk(5)</a></dt>
1617 <dd>
1618 <p>Chunk-based file formats.</p>
1619 </dd>
1620 <dt class="hdlist1"><a href="gitformat-commit-graph.html">gitformat-commit-graph(5)</a></dt>
1621 <dd>
1622 <p>Git commit-graph format.</p>
1623 </dd>
1624 <dt class="hdlist1"><a href="gitformat-index.html">gitformat-index(5)</a></dt>
1625 <dd>
1626 <p>Git index format.</p>
1627 </dd>
1628 <dt class="hdlist1"><a href="gitformat-pack.html">gitformat-pack(5)</a></dt>
1629 <dd>
1630 <p>Git pack format.</p>
1631 </dd>
1632 <dt class="hdlist1"><a href="gitformat-signature.html">gitformat-signature(5)</a></dt>
1633 <dd>
1634 <p>Git cryptographic signature formats.</p>
1635 </dd>
1636 <dt class="hdlist1"><a href="gitprotocol-capabilities.html">gitprotocol-capabilities(5)</a></dt>
1637 <dd>
1638 <p>Protocol v0 and v1 capabilities.</p>
1639 </dd>
1640 <dt class="hdlist1"><a href="gitprotocol-common.html">gitprotocol-common(5)</a></dt>
1641 <dd>
1642 <p>Things common to various protocols.</p>
1643 </dd>
1644 <dt class="hdlist1"><a href="gitprotocol-http.html">gitprotocol-http(5)</a></dt>
1645 <dd>
1646 <p>Git HTTP-based protocols.</p>
1647 </dd>
1648 <dt class="hdlist1"><a href="gitprotocol-pack.html">gitprotocol-pack(5)</a></dt>
1649 <dd>
1650 <p>How packs are transferred over-the-wire.</p>
1651 </dd>
1652 <dt class="hdlist1"><a href="gitprotocol-v2.html">gitprotocol-v2(5)</a></dt>
1653 <dd>
1654 <p>Git Wire Protocol, Version 2.</p>
1655 </dd>
1656 </dl>
1657 </div>
1658 </div>
1659 </div>
1660 <div class="sect1">
1661 <h2 id="_configuration_mechanism">Configuration Mechanism</h2>
1662 <div class="sectionbody">
1663 <div class="paragraph">
1664 <p>Git uses a simple text format to store customizations that are per
1665 repository and are per user. Such a configuration file may look
1666 like this:</p>
1667 </div>
1668 <div class="listingblock">
1669 <div class="content">
1670 <pre>#
1671 # A '#' or ';' character indicates a comment.
1674 ; core variables
1675 [core]
1676 ; Don't trust file modes
1677 filemode = false
1679 ; user identity
1680 [user]
1681 name = "Junio C Hamano"
1682 email = "gitster@pobox.com"</pre>
1683 </div>
1684 </div>
1685 <div class="paragraph">
1686 <p>Various commands read from the configuration file and adjust
1687 their operation accordingly. See <a href="git-config.html">git-config(1)</a> for a
1688 list and more details about the configuration mechanism.</p>
1689 </div>
1690 </div>
1691 </div>
1692 <div class="sect1">
1693 <h2 id="_identifier_terminology">Identifier Terminology</h2>
1694 <div class="sectionbody">
1695 <div class="dlist">
1696 <dl>
1697 <dt class="hdlist1">&lt;object&gt;</dt>
1698 <dd>
1699 <p>Indicates the object name for any type of object.</p>
1700 </dd>
1701 <dt class="hdlist1">&lt;blob&gt;</dt>
1702 <dd>
1703 <p>Indicates a blob object name.</p>
1704 </dd>
1705 <dt class="hdlist1">&lt;tree&gt;</dt>
1706 <dd>
1707 <p>Indicates a tree object name.</p>
1708 </dd>
1709 <dt class="hdlist1">&lt;commit&gt;</dt>
1710 <dd>
1711 <p>Indicates a commit object name.</p>
1712 </dd>
1713 <dt class="hdlist1">&lt;tree-ish&gt;</dt>
1714 <dd>
1715 <p>Indicates a tree, commit or tag object name. A
1716 command that takes a &lt;tree-ish&gt; argument ultimately wants to
1717 operate on a &lt;tree&gt; object but automatically dereferences
1718 &lt;commit&gt; and &lt;tag&gt; objects that point at a &lt;tree&gt;.</p>
1719 </dd>
1720 <dt class="hdlist1">&lt;commit-ish&gt;</dt>
1721 <dd>
1722 <p>Indicates a commit or tag object name. A
1723 command that takes a &lt;commit-ish&gt; argument ultimately wants to
1724 operate on a &lt;commit&gt; object but automatically dereferences
1725 &lt;tag&gt; objects that point at a &lt;commit&gt;.</p>
1726 </dd>
1727 <dt class="hdlist1">&lt;type&gt;</dt>
1728 <dd>
1729 <p>Indicates that an object type is required.
1730 Currently one of: <code>blob</code>, <code>tree</code>, <code>commit</code>, or <code>tag</code>.</p>
1731 </dd>
1732 <dt class="hdlist1">&lt;file&gt;</dt>
1733 <dd>
1734 <p>Indicates a filename - almost always relative to the
1735 root of the tree structure <code>GIT_INDEX_FILE</code> describes.</p>
1736 </dd>
1737 </dl>
1738 </div>
1739 </div>
1740 </div>
1741 <div class="sect1">
1742 <h2 id="_symbolic_identifiers">Symbolic Identifiers</h2>
1743 <div class="sectionbody">
1744 <div class="paragraph">
1745 <p>Any Git command accepting any &lt;object&gt; can also use the following
1746 symbolic notation:</p>
1747 </div>
1748 <div class="dlist">
1749 <dl>
1750 <dt class="hdlist1">HEAD</dt>
1751 <dd>
1752 <p>indicates the head of the current branch.</p>
1753 </dd>
1754 <dt class="hdlist1">&lt;tag&gt;</dt>
1755 <dd>
1756 <p>a valid tag <em>name</em>
1757 (i.e. a <code>refs/tags/&lt;tag&gt;</code> reference).</p>
1758 </dd>
1759 <dt class="hdlist1">&lt;head&gt;</dt>
1760 <dd>
1761 <p>a valid head <em>name</em>
1762 (i.e. a <code>refs/heads/&lt;head&gt;</code> reference).</p>
1763 </dd>
1764 </dl>
1765 </div>
1766 <div class="paragraph">
1767 <p>For a more complete list of ways to spell object names, see
1768 "SPECIFYING REVISIONS" section in <a href="gitrevisions.html">gitrevisions(7)</a>.</p>
1769 </div>
1770 </div>
1771 </div>
1772 <div class="sect1">
1773 <h2 id="_filedirectory_structure">File/Directory Structure</h2>
1774 <div class="sectionbody">
1775 <div class="paragraph">
1776 <p>Please see the <a href="gitrepository-layout.html">gitrepository-layout(5)</a> document.</p>
1777 </div>
1778 <div class="paragraph">
1779 <p>Read <a href="githooks.html">githooks(5)</a> for more details about each hook.</p>
1780 </div>
1781 <div class="paragraph">
1782 <p>Higher level SCMs may provide and manage additional information in the
1783 <code>$GIT_DIR</code>.</p>
1784 </div>
1785 </div>
1786 </div>
1787 <div class="sect1">
1788 <h2 id="_terminology">Terminology</h2>
1789 <div class="sectionbody">
1790 <div class="paragraph">
1791 <p>Please see <a href="gitglossary.html">gitglossary(7)</a>.</p>
1792 </div>
1793 </div>
1794 </div>
1795 <div class="sect1">
1796 <h2 id="_environment_variables">Environment Variables</h2>
1797 <div class="sectionbody">
1798 <div class="paragraph">
1799 <p>Various Git commands pay attention to environment variables and change
1800 their behavior. The environment variables marked as "Boolean" take
1801 their values the same way as Boolean valued configuration variables, e.g.
1802 "true", "yes", "on" and positive numbers are taken as "yes".</p>
1803 </div>
1804 <div class="paragraph">
1805 <p>Here are the variables:</p>
1806 </div>
1807 <div class="sect2">
1808 <h3 id="_the_git_repository">The Git Repository</h3>
1809 <div class="paragraph">
1810 <p>These environment variables apply to <em>all</em> core Git commands. Nb: it
1811 is worth noting that they may be used/overridden by SCMS sitting above
1812 Git so take care if using a foreign front-end.</p>
1813 </div>
1814 <div class="dlist">
1815 <dl>
1816 <dt class="hdlist1"><code>GIT_INDEX_FILE</code></dt>
1817 <dd>
1818 <p>This environment variable specifies an alternate
1819 index file. If not specified, the default of <code>$GIT_DIR/index</code>
1820 is used.</p>
1821 </dd>
1822 <dt class="hdlist1"><code>GIT_INDEX_VERSION</code></dt>
1823 <dd>
1824 <p>This environment variable specifies what index version is used
1825 when writing the index file out. It won&#8217;t affect existing index
1826 files. By default index file version 2 or 3 is used. See
1827 <a href="git-update-index.html">git-update-index(1)</a> for more information.</p>
1828 </dd>
1829 <dt class="hdlist1"><code>GIT_OBJECT_DIRECTORY</code></dt>
1830 <dd>
1831 <p>If the object storage directory is specified via this
1832 environment variable then the sha1 directories are created
1833 underneath - otherwise the default <code>$GIT_DIR/objects</code>
1834 directory is used.</p>
1835 </dd>
1836 <dt class="hdlist1"><code>GIT_ALTERNATE_OBJECT_DIRECTORIES</code></dt>
1837 <dd>
1838 <p>Due to the immutable nature of Git objects, old objects can be
1839 archived into shared, read-only directories. This variable
1840 specifies a ":" separated (on Windows ";" separated) list
1841 of Git object directories which can be used to search for Git
1842 objects. New objects will not be written to these directories.</p>
1843 <div class="paragraph">
1844 <p>Entries that begin with <code>"</code> (double-quote) will be interpreted
1845 as C-style quoted paths, removing leading and trailing
1846 double-quotes and respecting backslash escapes. E.g., the value
1847 <code>"path-with-\"-and-:-in-it":vanilla-path</code> has two paths:
1848 <code>path-with-"-and-:-in-it</code> and <code>vanilla-path</code>.</p>
1849 </div>
1850 </dd>
1851 <dt class="hdlist1"><code>GIT_DIR</code></dt>
1852 <dd>
1853 <p>If the <code>GIT_DIR</code> environment variable is set then it
1854 specifies a path to use instead of the default <code>.git</code>
1855 for the base of the repository.
1856 The <code>--git-dir</code> command-line option also sets this value.</p>
1857 </dd>
1858 <dt class="hdlist1"><code>GIT_WORK_TREE</code></dt>
1859 <dd>
1860 <p>Set the path to the root of the working tree.
1861 This can also be controlled by the <code>--work-tree</code> command-line
1862 option and the core.worktree configuration variable.</p>
1863 </dd>
1864 <dt class="hdlist1"><code>GIT_NAMESPACE</code></dt>
1865 <dd>
1866 <p>Set the Git namespace; see <a href="gitnamespaces.html">gitnamespaces(7)</a> for details.
1867 The <code>--namespace</code> command-line option also sets this value.</p>
1868 </dd>
1869 <dt class="hdlist1"><code>GIT_CEILING_DIRECTORIES</code></dt>
1870 <dd>
1871 <p>This should be a colon-separated list of absolute paths. If
1872 set, it is a list of directories that Git should not chdir up
1873 into while looking for a repository directory (useful for
1874 excluding slow-loading network directories). It will not
1875 exclude the current working directory or a GIT_DIR set on the
1876 command line or in the environment. Normally, Git has to read
1877 the entries in this list and resolve any symlink that
1878 might be present in order to compare them with the current
1879 directory. However, if even this access is slow, you
1880 can add an empty entry to the list to tell Git that the
1881 subsequent entries are not symlinks and needn&#8217;t be resolved;
1882 e.g.,
1883 <code>GIT_CEILING_DIRECTORIES=/maybe/symlink::/very/slow/non/symlink</code>.</p>
1884 </dd>
1885 <dt class="hdlist1"><code>GIT_DISCOVERY_ACROSS_FILESYSTEM</code></dt>
1886 <dd>
1887 <p>When run in a directory that does not have ".git" repository
1888 directory, Git tries to find such a directory in the parent
1889 directories to find the top of the working tree, but by default it
1890 does not cross filesystem boundaries. This Boolean environment variable
1891 can be set to true to tell Git not to stop at filesystem
1892 boundaries. Like <code>GIT_CEILING_DIRECTORIES</code>, this will not affect
1893 an explicit repository directory set via <code>GIT_DIR</code> or on the
1894 command line.</p>
1895 </dd>
1896 <dt class="hdlist1"><code>GIT_COMMON_DIR</code></dt>
1897 <dd>
1898 <p>If this variable is set to a path, non-worktree files that are
1899 normally in $GIT_DIR will be taken from this path
1900 instead. Worktree-specific files such as HEAD or index are
1901 taken from $GIT_DIR. See <a href="gitrepository-layout.html">gitrepository-layout(5)</a> and
1902 <a href="git-worktree.html">git-worktree(1)</a> for
1903 details. This variable has lower precedence than other path
1904 variables such as GIT_INDEX_FILE, GIT_OBJECT_DIRECTORY&#8230;&#8203;</p>
1905 </dd>
1906 <dt class="hdlist1"><code>GIT_DEFAULT_HASH</code></dt>
1907 <dd>
1908 <p>If this variable is set, the default hash algorithm for new
1909 repositories will be set to this value. This value is
1910 ignored when cloning and the setting of the remote repository
1911 is always used. The default is "sha1".
1912 See <code>--object-format</code> in <a href="git-init.html">git-init(1)</a>.</p>
1913 </dd>
1914 <dt class="hdlist1"><code>GIT_DEFAULT_REF_FORMAT</code></dt>
1915 <dd>
1916 <p>If this variable is set, the default reference backend format for new
1917 repositories will be set to this value. The default is "files".
1918 See <code>--ref-format</code> in <a href="git-init.html">git-init(1)</a>.</p>
1919 </dd>
1920 </dl>
1921 </div>
1922 </div>
1923 <div class="sect2">
1924 <h3 id="_git_commits">Git Commits</h3>
1925 <div class="dlist">
1926 <dl>
1927 <dt class="hdlist1"><code>GIT_AUTHOR_NAME</code></dt>
1928 <dd>
1929 <p>The human-readable name used in the author identity when creating commit or
1930 tag objects, or when writing reflogs. Overrides the <code>user.name</code> and
1931 <code>author.name</code> configuration settings.</p>
1932 </dd>
1933 <dt class="hdlist1"><code>GIT_AUTHOR_EMAIL</code></dt>
1934 <dd>
1935 <p>The email address used in the author identity when creating commit or
1936 tag objects, or when writing reflogs. Overrides the <code>user.email</code> and
1937 <code>author.email</code> configuration settings.</p>
1938 </dd>
1939 <dt class="hdlist1"><code>GIT_AUTHOR_DATE</code></dt>
1940 <dd>
1941 <p>The date used for the author identity when creating commit or tag objects, or
1942 when writing reflogs. See <a href="git-commit.html">git-commit(1)</a> for valid formats.</p>
1943 </dd>
1944 <dt class="hdlist1"><code>GIT_COMMITTER_NAME</code></dt>
1945 <dd>
1946 <p>The human-readable name used in the committer identity when creating commit or
1947 tag objects, or when writing reflogs. Overrides the <code>user.name</code> and
1948 <code>committer.name</code> configuration settings.</p>
1949 </dd>
1950 <dt class="hdlist1"><code>GIT_COMMITTER_EMAIL</code></dt>
1951 <dd>
1952 <p>The email address used in the author identity when creating commit or
1953 tag objects, or when writing reflogs. Overrides the <code>user.email</code> and
1954 <code>committer.email</code> configuration settings.</p>
1955 </dd>
1956 <dt class="hdlist1"><code>GIT_COMMITTER_DATE</code></dt>
1957 <dd>
1958 <p>The date used for the committer identity when creating commit or tag objects, or
1959 when writing reflogs. See <a href="git-commit.html">git-commit(1)</a> for valid formats.</p>
1960 </dd>
1961 <dt class="hdlist1"><code>EMAIL</code></dt>
1962 <dd>
1963 <p>The email address used in the author and committer identities if no other
1964 relevant environment variable or configuration setting has been set.</p>
1965 </dd>
1966 </dl>
1967 </div>
1968 </div>
1969 <div class="sect2">
1970 <h3 id="_git_diffs">Git Diffs</h3>
1971 <div class="dlist">
1972 <dl>
1973 <dt class="hdlist1"><code>GIT_DIFF_OPTS</code></dt>
1974 <dd>
1975 <p>Only valid setting is "--unified=??" or "-u??" to set the
1976 number of context lines shown when a unified diff is created.
1977 This takes precedence over any "-U" or "--unified" option
1978 value passed on the Git diff command line.</p>
1979 </dd>
1980 <dt class="hdlist1"><code>GIT_EXTERNAL_DIFF</code></dt>
1981 <dd>
1982 <p>When the environment variable <code>GIT_EXTERNAL_DIFF</code> is set, the
1983 program named by it is called to generate diffs, and Git
1984 does not use its builtin diff machinery.
1985 For a path that is added, removed, or modified,
1986 <code>GIT_EXTERNAL_DIFF</code> is called with 7 parameters:</p>
1987 <div class="literalblock">
1988 <div class="content">
1989 <pre>path old-file old-hex old-mode new-file new-hex new-mode</pre>
1990 </div>
1991 </div>
1992 <div class="paragraph">
1993 <p>where:</p>
1994 </div>
1995 </dd>
1996 <dt class="hdlist1">&lt;old|new&gt;-file</dt>
1997 <dd>
1998 <p>are files GIT_EXTERNAL_DIFF can use to read the
1999 contents of &lt;old|new&gt;,</p>
2000 </dd>
2001 <dt class="hdlist1">&lt;old|new&gt;-hex</dt>
2002 <dd>
2003 <p>are the 40-hexdigit SHA-1 hashes,</p>
2004 </dd>
2005 <dt class="hdlist1">&lt;old|new&gt;-mode</dt>
2006 <dd>
2007 <p>are the octal representation of the file modes.</p>
2008 <div class="paragraph">
2009 <p>The file parameters can point at the user&#8217;s working file
2010 (e.g. <code>new-file</code> in "git-diff-files"), <code>/dev/null</code> (e.g. <code>old-file</code>
2011 when a new file is added), or a temporary file (e.g. <code>old-file</code> in the
2012 index). <code>GIT_EXTERNAL_DIFF</code> should not worry about unlinking the
2013 temporary file&#8201;&#8212;&#8201;it is removed when <code>GIT_EXTERNAL_DIFF</code> exits.</p>
2014 </div>
2015 <div class="paragraph">
2016 <p>For a path that is unmerged, <code>GIT_EXTERNAL_DIFF</code> is called with 1
2017 parameter, &lt;path&gt;.</p>
2018 </div>
2019 <div class="paragraph">
2020 <p>For each path <code>GIT_EXTERNAL_DIFF</code> is called, two environment variables,
2021 <code>GIT_DIFF_PATH_COUNTER</code> and <code>GIT_DIFF_PATH_TOTAL</code> are set.</p>
2022 </div>
2023 </dd>
2024 <dt class="hdlist1"><code>GIT_EXTERNAL_DIFF_TRUST_EXIT_CODE</code></dt>
2025 <dd>
2026 <p>If this Boolean environment variable is set to true then the
2027 <code>GIT_EXTERNAL_DIFF</code> command is expected to return exit code
2028 0 if it considers the input files to be equal or 1 if it
2029 considers them to be different, like <code>diff(1)</code>.
2030 If it is set to false, which is the default, then the command
2031 is expected to return exit code 0 regardless of equality.
2032 Any other exit code causes Git to report a fatal error.</p>
2033 </dd>
2034 <dt class="hdlist1"><code>GIT_DIFF_PATH_COUNTER</code></dt>
2035 <dd>
2036 <p>A 1-based counter incremented by one for every path.</p>
2037 </dd>
2038 <dt class="hdlist1"><code>GIT_DIFF_PATH_TOTAL</code></dt>
2039 <dd>
2040 <p>The total number of paths.</p>
2041 </dd>
2042 </dl>
2043 </div>
2044 </div>
2045 <div class="sect2">
2046 <h3 id="_other">other</h3>
2047 <div class="dlist">
2048 <dl>
2049 <dt class="hdlist1"><code>GIT_MERGE_VERBOSITY</code></dt>
2050 <dd>
2051 <p>A number controlling the amount of output shown by
2052 the recursive merge strategy. Overrides merge.verbosity.
2053 See <a href="git-merge.html">git-merge(1)</a></p>
2054 </dd>
2055 <dt class="hdlist1"><code>GIT_PAGER</code></dt>
2056 <dd>
2057 <p>This environment variable overrides <code>$PAGER</code>. If it is set
2058 to an empty string or to the value "cat", Git will not launch
2059 a pager. See also the <code>core.pager</code> option in
2060 <a href="git-config.html">git-config(1)</a>.</p>
2061 </dd>
2062 <dt class="hdlist1"><code>GIT_PROGRESS_DELAY</code></dt>
2063 <dd>
2064 <p>A number controlling how many seconds to delay before showing
2065 optional progress indicators. Defaults to 2.</p>
2066 </dd>
2067 <dt class="hdlist1"><code>GIT_EDITOR</code></dt>
2068 <dd>
2069 <p>This environment variable overrides <code>$EDITOR</code> and <code>$VISUAL</code>.
2070 It is used by several Git commands when, on interactive mode,
2071 an editor is to be launched. See also <a href="git-var.html">git-var(1)</a>
2072 and the <code>core.editor</code> option in <a href="git-config.html">git-config(1)</a>.</p>
2073 </dd>
2074 <dt class="hdlist1"><code>GIT_SEQUENCE_EDITOR</code></dt>
2075 <dd>
2076 <p>This environment variable overrides the configured Git editor
2077 when editing the todo list of an interactive rebase. See also
2078 <a href="git-rebase.html">git-rebase(1)</a> and the <code>sequence.editor</code> option in
2079 <a href="git-config.html">git-config(1)</a>.</p>
2080 </dd>
2081 <dt class="hdlist1"><code>GIT_SSH</code></dt>
2082 <dt class="hdlist1"><code>GIT_SSH_COMMAND</code></dt>
2083 <dd>
2084 <p>If either of these environment variables is set then <em>git fetch</em>
2085 and <em>git push</em> will use the specified command instead of <em>ssh</em>
2086 when they need to connect to a remote system.
2087 The command-line parameters passed to the configured command are
2088 determined by the ssh variant. See <code>ssh.variant</code> option in
2089 <a href="git-config.html">git-config(1)</a> for details.</p>
2090 <div class="paragraph">
2091 <p><code>$GIT_SSH_COMMAND</code> takes precedence over <code>$GIT_SSH</code>, and is interpreted
2092 by the shell, which allows additional arguments to be included.
2093 <code>$GIT_SSH</code> on the other hand must be just the path to a program
2094 (which can be a wrapper shell script, if additional arguments are
2095 needed).</p>
2096 </div>
2097 <div class="paragraph">
2098 <p>Usually it is easier to configure any desired options through your
2099 personal <code>.ssh/config</code> file. Please consult your ssh documentation
2100 for further details.</p>
2101 </div>
2102 </dd>
2103 <dt class="hdlist1"><code>GIT_SSH_VARIANT</code></dt>
2104 <dd>
2105 <p>If this environment variable is set, it overrides Git&#8217;s autodetection
2106 whether <code>GIT_SSH</code>/<code>GIT_SSH_COMMAND</code>/<code>core.sshCommand</code> refer to OpenSSH,
2107 plink or tortoiseplink. This variable overrides the config setting
2108 <code>ssh.variant</code> that serves the same purpose.</p>
2109 </dd>
2110 <dt class="hdlist1"><code>GIT_SSL_NO_VERIFY</code></dt>
2111 <dd>
2112 <p>Setting and exporting this environment variable to any value
2113 tells Git not to verify the SSL certificate when fetching or
2114 pushing over HTTPS.</p>
2115 </dd>
2116 <dt class="hdlist1"><code>GIT_ATTR_SOURCE</code></dt>
2117 <dd>
2118 <p>Sets the treeish that gitattributes will be read from.</p>
2119 </dd>
2120 <dt class="hdlist1"><code>GIT_ASKPASS</code></dt>
2121 <dd>
2122 <p>If this environment variable is set, then Git commands which need to
2123 acquire passwords or passphrases (e.g. for HTTP or IMAP authentication)
2124 will call this program with a suitable prompt as command-line argument
2125 and read the password from its STDOUT. See also the <code>core.askPass</code>
2126 option in <a href="git-config.html">git-config(1)</a>.</p>
2127 </dd>
2128 <dt class="hdlist1"><code>GIT_TERMINAL_PROMPT</code></dt>
2129 <dd>
2130 <p>If this Boolean environment variable is set to false, git will not prompt
2131 on the terminal (e.g., when asking for HTTP authentication).</p>
2132 </dd>
2133 <dt class="hdlist1"><code>GIT_CONFIG_GLOBAL</code></dt>
2134 <dt class="hdlist1"><code>GIT_CONFIG_SYSTEM</code></dt>
2135 <dd>
2136 <p>Take the configuration from the given files instead from global or
2137 system-level configuration files. If <code>GIT_CONFIG_SYSTEM</code> is set, the
2138 system config file defined at build time (usually <code>/etc/gitconfig</code>)
2139 will not be read. Likewise, if <code>GIT_CONFIG_GLOBAL</code> is set, neither
2140 <code>$HOME/.gitconfig</code> nor <code>$XDG_CONFIG_HOME/git/config</code> will be read. Can
2141 be set to <code>/dev/null</code> to skip reading configuration files of the
2142 respective level.</p>
2143 </dd>
2144 <dt class="hdlist1"><code>GIT_CONFIG_NOSYSTEM</code></dt>
2145 <dd>
2146 <p>Whether to skip reading settings from the system-wide
2147 <code>$(prefix)/etc/gitconfig</code> file. This Boolean environment variable can
2148 be used along with <code>$HOME</code> and <code>$XDG_CONFIG_HOME</code> to create a
2149 predictable environment for a picky script, or you can set it
2150 to true to temporarily avoid using a buggy <code>/etc/gitconfig</code> file while
2151 waiting for someone with sufficient permissions to fix it.</p>
2152 </dd>
2153 <dt class="hdlist1"><code>GIT_FLUSH</code></dt>
2154 <dd>
2155 <p>If this Boolean environment variable is set to true, then commands such
2156 as <em>git blame</em> (in incremental mode), <em>git rev-list</em>, <em>git log</em>,
2157 <em>git check-attr</em> and <em>git check-ignore</em> will
2158 force a flush of the output stream after each record have been
2159 flushed. If this
2160 variable is set to false, the output of these commands will be done
2161 using completely buffered I/O. If this environment variable is
2162 not set, Git will choose buffered or record-oriented flushing
2163 based on whether stdout appears to be redirected to a file or not.</p>
2164 </dd>
2165 <dt class="hdlist1"><code>GIT_TRACE</code></dt>
2166 <dd>
2167 <p>Enables general trace messages, e.g. alias expansion, built-in
2168 command execution and external command execution.</p>
2169 <div class="paragraph">
2170 <p>If this variable is set to "1", "2" or "true" (comparison
2171 is case insensitive), trace messages will be printed to
2172 stderr.</p>
2173 </div>
2174 <div class="paragraph">
2175 <p>If the variable is set to an integer value greater than 2
2176 and lower than 10 (strictly) then Git will interpret this
2177 value as an open file descriptor and will try to write the
2178 trace messages into this file descriptor.</p>
2179 </div>
2180 <div class="paragraph">
2181 <p>Alternatively, if the variable is set to an absolute path
2182 (starting with a <em>/</em> character), Git will interpret this
2183 as a file path and will try to append the trace messages
2184 to it.</p>
2185 </div>
2186 <div class="paragraph">
2187 <p>Unsetting the variable, or setting it to empty, "0" or
2188 "false" (case insensitive) disables trace messages.</p>
2189 </div>
2190 </dd>
2191 <dt class="hdlist1"><code>GIT_TRACE_FSMONITOR</code></dt>
2192 <dd>
2193 <p>Enables trace messages for the filesystem monitor extension.
2194 See <code>GIT_TRACE</code> for available trace output options.</p>
2195 </dd>
2196 <dt class="hdlist1"><code>GIT_TRACE_PACK_ACCESS</code></dt>
2197 <dd>
2198 <p>Enables trace messages for all accesses to any packs. For each
2199 access, the pack file name and an offset in the pack is
2200 recorded. This may be helpful for troubleshooting some
2201 pack-related performance problems.
2202 See <code>GIT_TRACE</code> for available trace output options.</p>
2203 </dd>
2204 <dt class="hdlist1"><code>GIT_TRACE_PACKET</code></dt>
2205 <dd>
2206 <p>Enables trace messages for all packets coming in or out of a
2207 given program. This can help with debugging object negotiation
2208 or other protocol issues. Tracing is turned off at a packet
2209 starting with "PACK" (but see <code>GIT_TRACE_PACKFILE</code> below).
2210 See <code>GIT_TRACE</code> for available trace output options.</p>
2211 </dd>
2212 <dt class="hdlist1"><code>GIT_TRACE_PACKFILE</code></dt>
2213 <dd>
2214 <p>Enables tracing of packfiles sent or received by a
2215 given program. Unlike other trace output, this trace is
2216 verbatim: no headers, and no quoting of binary data. You almost
2217 certainly want to direct into a file (e.g.,
2218 <code>GIT_TRACE_PACKFILE=/tmp/my.pack</code>) rather than displaying it on
2219 the terminal or mixing it with other trace output.</p>
2220 <div class="paragraph">
2221 <p>Note that this is currently only implemented for the client side
2222 of clones and fetches.</p>
2223 </div>
2224 </dd>
2225 <dt class="hdlist1"><code>GIT_TRACE_PERFORMANCE</code></dt>
2226 <dd>
2227 <p>Enables performance related trace messages, e.g. total execution
2228 time of each Git command.
2229 See <code>GIT_TRACE</code> for available trace output options.</p>
2230 </dd>
2231 <dt class="hdlist1"><code>GIT_TRACE_REFS</code></dt>
2232 <dd>
2233 <p>Enables trace messages for operations on the ref database.
2234 See <code>GIT_TRACE</code> for available trace output options.</p>
2235 </dd>
2236 <dt class="hdlist1"><code>GIT_TRACE_SETUP</code></dt>
2237 <dd>
2238 <p>Enables trace messages printing the .git, working tree and current
2239 working directory after Git has completed its setup phase.
2240 See <code>GIT_TRACE</code> for available trace output options.</p>
2241 </dd>
2242 <dt class="hdlist1"><code>GIT_TRACE_SHALLOW</code></dt>
2243 <dd>
2244 <p>Enables trace messages that can help debugging fetching /
2245 cloning of shallow repositories.
2246 See <code>GIT_TRACE</code> for available trace output options.</p>
2247 </dd>
2248 <dt class="hdlist1"><code>GIT_TRACE_CURL</code></dt>
2249 <dd>
2250 <p>Enables a curl full trace dump of all incoming and outgoing data,
2251 including descriptive information, of the git transport protocol.
2252 This is similar to doing curl <code>--trace-ascii</code> on the command line.
2253 See <code>GIT_TRACE</code> for available trace output options.</p>
2254 </dd>
2255 <dt class="hdlist1"><code>GIT_TRACE_CURL_NO_DATA</code></dt>
2256 <dd>
2257 <p>When a curl trace is enabled (see <code>GIT_TRACE_CURL</code> above), do not dump
2258 data (that is, only dump info lines and headers).</p>
2259 </dd>
2260 <dt class="hdlist1"><code>GIT_TRACE2</code></dt>
2261 <dd>
2262 <p>Enables more detailed trace messages from the "trace2" library.
2263 Output from <code>GIT_TRACE2</code> is a simple text-based format for human
2264 readability.</p>
2265 <div class="paragraph">
2266 <p>If this variable is set to "1", "2" or "true" (comparison
2267 is case insensitive), trace messages will be printed to
2268 stderr.</p>
2269 </div>
2270 <div class="paragraph">
2271 <p>If the variable is set to an integer value greater than 2
2272 and lower than 10 (strictly) then Git will interpret this
2273 value as an open file descriptor and will try to write the
2274 trace messages into this file descriptor.</p>
2275 </div>
2276 <div class="paragraph">
2277 <p>Alternatively, if the variable is set to an absolute path
2278 (starting with a <em>/</em> character), Git will interpret this
2279 as a file path and will try to append the trace messages
2280 to it. If the path already exists and is a directory, the
2281 trace messages will be written to files (one per process)
2282 in that directory, named according to the last component
2283 of the SID and an optional counter (to avoid filename
2284 collisions).</p>
2285 </div>
2286 <div class="paragraph">
2287 <p>In addition, if the variable is set to
2288 <code>af_unix:[&lt;socket-type&gt;:]&lt;absolute-pathname&gt;</code>, Git will try
2289 to open the path as a Unix Domain Socket. The socket type
2290 can be either <code>stream</code> or <code>dgram</code>.</p>
2291 </div>
2292 <div class="paragraph">
2293 <p>Unsetting the variable, or setting it to empty, "0" or
2294 "false" (case insensitive) disables trace messages.</p>
2295 </div>
2296 <div class="paragraph">
2297 <p>See <a href="technical/api-trace2.html">Trace2 documentation</a>
2298 for full details.</p>
2299 </div>
2300 </dd>
2301 <dt class="hdlist1"><code>GIT_TRACE2_EVENT</code></dt>
2302 <dd>
2303 <p>This setting writes a JSON-based format that is suited for machine
2304 interpretation.
2305 See <code>GIT_TRACE2</code> for available trace output options and
2306 <a href="technical/api-trace2.html">Trace2 documentation</a> for full details.</p>
2307 </dd>
2308 <dt class="hdlist1"><code>GIT_TRACE2_PERF</code></dt>
2309 <dd>
2310 <p>In addition to the text-based messages available in <code>GIT_TRACE2</code>, this
2311 setting writes a column-based format for understanding nesting
2312 regions.
2313 See <code>GIT_TRACE2</code> for available trace output options and
2314 <a href="technical/api-trace2.html">Trace2 documentation</a> for full details.</p>
2315 </dd>
2316 <dt class="hdlist1"><code>GIT_TRACE_REDACT</code></dt>
2317 <dd>
2318 <p>By default, when tracing is activated, Git redacts the values of
2319 cookies, the "Authorization:" header, the "Proxy-Authorization:"
2320 header and packfile URIs. Set this Boolean environment variable to false to prevent this
2321 redaction.</p>
2322 </dd>
2323 <dt class="hdlist1"><code>GIT_NO_REPLACE_OBJECTS</code></dt>
2324 <dd>
2325 <p>Setting and exporting this environment variable tells Git to
2326 ignore replacement refs and do not replace Git objects.</p>
2327 </dd>
2328 <dt class="hdlist1"><code>GIT_LITERAL_PATHSPECS</code></dt>
2329 <dd>
2330 <p>Setting this Boolean environment variable to true will cause Git to treat all
2331 pathspecs literally, rather than as glob patterns. For example,
2332 running <code>GIT_LITERAL_PATHSPECS=1 git log -- '*.c'</code> will search
2333 for commits that touch the path <code>*.c</code>, not any paths that the
2334 glob <code>*.c</code> matches. You might want this if you are feeding
2335 literal paths to Git (e.g., paths previously given to you by
2336 <code>git ls-tree</code>, <code>--raw</code> diff output, etc).</p>
2337 </dd>
2338 <dt class="hdlist1"><code>GIT_GLOB_PATHSPECS</code></dt>
2339 <dd>
2340 <p>Setting this Boolean environment variable to true will cause Git to treat all
2341 pathspecs as glob patterns (aka "glob" magic).</p>
2342 </dd>
2343 <dt class="hdlist1"><code>GIT_NOGLOB_PATHSPECS</code></dt>
2344 <dd>
2345 <p>Setting this Boolean environment variable to true will cause Git to treat all
2346 pathspecs as literal (aka "literal" magic).</p>
2347 </dd>
2348 <dt class="hdlist1"><code>GIT_ICASE_PATHSPECS</code></dt>
2349 <dd>
2350 <p>Setting this Boolean environment variable to true will cause Git to treat all
2351 pathspecs as case-insensitive.</p>
2352 </dd>
2353 <dt class="hdlist1"><code>GIT_NO_LAZY_FETCH</code></dt>
2354 <dd>
2355 <p>Setting this Boolean environment variable to true tells Git
2356 not to lazily fetch missing objects from the promisor remote
2357 on demand.</p>
2358 </dd>
2359 <dt class="hdlist1"><code>GIT_REFLOG_ACTION</code></dt>
2360 <dd>
2361 <p>When a ref is updated, reflog entries are created to keep
2362 track of the reason why the ref was updated (which is
2363 typically the name of the high-level command that updated
2364 the ref), in addition to the old and new values of the ref.
2365 A scripted Porcelain command can use set_reflog_action
2366 helper function in <code>git-sh-setup</code> to set its name to this
2367 variable when it is invoked as the top level command by the
2368 end user, to be recorded in the body of the reflog.</p>
2369 </dd>
2370 <dt class="hdlist1"><code>GIT_REF_PARANOIA</code></dt>
2371 <dd>
2372 <p>If this Boolean environment variable is set to false, ignore broken or badly named refs when iterating
2373 over lists of refs. Normally Git will try to include any such
2374 refs, which may cause some operations to fail. This is usually
2375 preferable, as potentially destructive operations (e.g.,
2376 <a href="git-prune.html">git-prune(1)</a>) are better off aborting rather than
2377 ignoring broken refs (and thus considering the history they
2378 point to as not worth saving). The default value is <code>1</code> (i.e.,
2379 be paranoid about detecting and aborting all operations). You
2380 should not normally need to set this to <code>0</code>, but it may be
2381 useful when trying to salvage data from a corrupted repository.</p>
2382 </dd>
2383 <dt class="hdlist1"><code>GIT_COMMIT_GRAPH_PARANOIA</code></dt>
2384 <dd>
2385 <p>When loading a commit object from the commit-graph, Git performs an
2386 existence check on the object in the object database. This is done to
2387 avoid issues with stale commit-graphs that contain references to
2388 already-deleted commits, but comes with a performance penalty.</p>
2389 <div class="paragraph">
2390 <p>The default is "false", which disables the aforementioned behavior.
2391 Setting this to "true" enables the existence check so that stale commits
2392 will never be returned from the commit-graph at the cost of performance.</p>
2393 </div>
2394 </dd>
2395 <dt class="hdlist1"><code>GIT_ALLOW_PROTOCOL</code></dt>
2396 <dd>
2397 <p>If set to a colon-separated list of protocols, behave as if
2398 <code>protocol.allow</code> is set to <code>never</code>, and each of the listed
2399 protocols has <code>protocol.&lt;name&gt;.allow</code> set to <code>always</code>
2400 (overriding any existing configuration). See the description of
2401 <code>protocol.allow</code> in <a href="git-config.html">git-config(1)</a> for more details.</p>
2402 </dd>
2403 <dt class="hdlist1"><code>GIT_PROTOCOL_FROM_USER</code></dt>
2404 <dd>
2405 <p>Set this Boolean environment variable to false to prevent protocols used by fetch/push/clone which are
2406 configured to the <code>user</code> state. This is useful to restrict recursive
2407 submodule initialization from an untrusted repository or for programs
2408 which feed potentially-untrusted URLS to git commands. See
2409 <a href="git-config.html">git-config(1)</a> for more details.</p>
2410 </dd>
2411 <dt class="hdlist1"><code>GIT_PROTOCOL</code></dt>
2412 <dd>
2413 <p>For internal use only. Used in handshaking the wire protocol.
2414 Contains a colon <em>:</em> separated list of keys with optional values
2415 <em>&lt;key&gt;[=&lt;value&gt;]</em>. Presence of unknown keys and values must be
2416 ignored.</p>
2417 <div class="paragraph">
2418 <p>Note that servers may need to be configured to allow this variable to
2419 pass over some transports. It will be propagated automatically when
2420 accessing local repositories (i.e., <code>file://</code> or a filesystem path), as
2421 well as over the <code>git://</code> protocol. For git-over-http, it should work
2422 automatically in most configurations, but see the discussion in
2423 <a href="git-http-backend.html">git-http-backend(1)</a>. For git-over-ssh, the ssh server may need
2424 to be configured to allow clients to pass this variable (e.g., by using
2425 <code>AcceptEnv GIT_PROTOCOL</code> with OpenSSH).</p>
2426 </div>
2427 <div class="paragraph">
2428 <p>This configuration is optional. If the variable is not propagated, then
2429 clients will fall back to the original "v0" protocol (but may miss out
2430 on some performance improvements or features). This variable currently
2431 only affects clones and fetches; it is not yet used for pushes (but may
2432 be in the future).</p>
2433 </div>
2434 </dd>
2435 <dt class="hdlist1"><code>GIT_OPTIONAL_LOCKS</code></dt>
2436 <dd>
2437 <p>If this Boolean environment variable is set to false, Git will complete any requested operation without
2438 performing any optional sub-operations that require taking a lock.
2439 For example, this will prevent <code>git status</code> from refreshing the
2440 index as a side effect. This is useful for processes running in
2441 the background which do not want to cause lock contention with
2442 other operations on the repository. Defaults to <code>1</code>.</p>
2443 </dd>
2444 <dt class="hdlist1"><code>GIT_REDIRECT_STDIN</code></dt>
2445 <dt class="hdlist1"><code>GIT_REDIRECT_STDOUT</code></dt>
2446 <dt class="hdlist1"><code>GIT_REDIRECT_STDERR</code></dt>
2447 <dd>
2448 <p>Windows-only: allow redirecting the standard input/output/error
2449 handles to paths specified by the environment variables. This is
2450 particularly useful in multi-threaded applications where the
2451 canonical way to pass standard handles via <code>CreateProcess()</code> is
2452 not an option because it would require the handles to be marked
2453 inheritable (and consequently <strong>every</strong> spawned process would
2454 inherit them, possibly blocking regular Git operations). The
2455 primary intended use case is to use named pipes for communication
2456 (e.g. <code>\\.\pipe\my-git-stdin-123</code>).</p>
2457 <div class="paragraph">
2458 <p>Two special values are supported: <code>off</code> will simply close the
2459 corresponding standard handle, and if <code>GIT_REDIRECT_STDERR</code> is
2460 <code>2&gt;&amp;1</code>, standard error will be redirected to the same handle as
2461 standard output.</p>
2462 </div>
2463 </dd>
2464 <dt class="hdlist1"><code>GIT_PRINT_SHA1_ELLIPSIS</code> (deprecated)</dt>
2465 <dd>
2466 <p>If set to <code>yes</code>, print an ellipsis following an
2467 (abbreviated) SHA-1 value. This affects indications of
2468 detached HEADs (<a href="git-checkout.html">git-checkout(1)</a>) and the raw
2469 diff output (<a href="git-diff.html">git-diff(1)</a>). Printing an
2470 ellipsis in the cases mentioned is no longer considered
2471 adequate and support for it is likely to be removed in the
2472 foreseeable future (along with the variable).</p>
2473 </dd>
2474 <dt class="hdlist1"><code>GIT_ADVICE</code></dt>
2475 <dd>
2476 <p>If set to <code>0</code>, then disable all advice messages. These messages are
2477 intended to provide hints to human users that may help them get out of
2478 problematic situations or take advantage of new features. Users can
2479 disable individual messages using the <code>advice.*</code> config keys. These
2480 messages may be disruptive to tools that execute Git processes, so this
2481 variable is available to disable the messages. (The <code>--no-advice</code>
2482 global option is also available, but old Git versions may fail when
2483 this option is not understood. The environment variable will be ignored
2484 by Git versions that do not understand it.)</p>
2485 </dd>
2486 </dl>
2487 </div>
2488 </div>
2489 </div>
2490 </div>
2491 <div class="sect1">
2492 <h2 id="_discussion">Discussion<a id="Discussion"></a></h2>
2493 <div class="sectionbody">
2494 <div class="paragraph">
2495 <p>More detail on the following is available from the
2496 <a href="user-manual.html#git-concepts">Git concepts chapter of the
2497 user-manual</a> and <a href="gitcore-tutorial.html">gitcore-tutorial(7)</a>.</p>
2498 </div>
2499 <div class="paragraph">
2500 <p>A Git project normally consists of a working directory with a ".git"
2501 subdirectory at the top level. The .git directory contains, among other
2502 things, a compressed object database representing the complete history
2503 of the project, an "index" file which links that history to the current
2504 contents of the working tree, and named pointers into that history such
2505 as tags and branch heads.</p>
2506 </div>
2507 <div class="paragraph">
2508 <p>The object database contains objects of three main types: blobs, which
2509 hold file data; trees, which point to blobs and other trees to build up
2510 directory hierarchies; and commits, which each reference a single tree
2511 and some number of parent commits.</p>
2512 </div>
2513 <div class="paragraph">
2514 <p>The commit, equivalent to what other systems call a "changeset" or
2515 "version", represents a step in the project&#8217;s history, and each parent
2516 represents an immediately preceding step. Commits with more than one
2517 parent represent merges of independent lines of development.</p>
2518 </div>
2519 <div class="paragraph">
2520 <p>All objects are named by the SHA-1 hash of their contents, normally
2521 written as a string of 40 hex digits. Such names are globally unique.
2522 The entire history leading up to a commit can be vouched for by signing
2523 just that commit. A fourth object type, the tag, is provided for this
2524 purpose.</p>
2525 </div>
2526 <div class="paragraph">
2527 <p>When first created, objects are stored in individual files, but for
2528 efficiency may later be compressed together into "pack files".</p>
2529 </div>
2530 <div class="paragraph">
2531 <p>Named pointers called refs mark interesting points in history. A ref
2532 may contain the SHA-1 name of an object or the name of another ref (the
2533 latter is called a "symbolic ref").
2534 Refs with names beginning <code>refs/head/</code> contain the SHA-1 name of the most
2535 recent commit (or "head") of a branch under development. SHA-1 names of
2536 tags of interest are stored under <code>refs/tags/</code>. A symbolic ref named
2537 <code>HEAD</code> contains the name of the currently checked-out branch.</p>
2538 </div>
2539 <div class="paragraph">
2540 <p>The index file is initialized with a list of all paths and, for each
2541 path, a blob object and a set of attributes. The blob object represents
2542 the contents of the file as of the head of the current branch. The
2543 attributes (last modified time, size, etc.) are taken from the
2544 corresponding file in the working tree. Subsequent changes to the
2545 working tree can be found by comparing these attributes. The index may
2546 be updated with new content, and new commits may be created from the
2547 content stored in the index.</p>
2548 </div>
2549 <div class="paragraph">
2550 <p>The index is also capable of storing multiple entries (called "stages")
2551 for a given pathname. These stages are used to hold the various
2552 unmerged version of a file when a merge is in progress.</p>
2553 </div>
2554 </div>
2555 </div>
2556 <div class="sect1">
2557 <h2 id="_security">SECURITY</h2>
2558 <div class="sectionbody">
2559 <div class="paragraph">
2560 <p>Some configuration options and hook files may cause Git to run arbitrary
2561 shell commands. Because configuration and hooks are not copied using
2562 <code>git clone</code>, it is generally safe to clone remote repositories with
2563 untrusted content, inspect them with <code>git log</code>, and so on.</p>
2564 </div>
2565 <div class="paragraph">
2566 <p>However, it is not safe to run Git commands in a <code>.git</code> directory (or
2567 the working tree that surrounds it) when that <code>.git</code> directory itself
2568 comes from an untrusted source. The commands in its config and hooks
2569 are executed in the usual way.</p>
2570 </div>
2571 <div class="paragraph">
2572 <p>By default, Git will refuse to run when the repository is owned by
2573 someone other than the user running the command. See the entry for
2574 <code>safe.directory</code> in <a href="git-config.html">git-config(1)</a>. While this can help protect
2575 you in a multi-user environment, note that you can also acquire
2576 untrusted repositories that are owned by you (for example, if you
2577 extract a zip file or tarball from an untrusted source). In such cases,
2578 you&#8217;d need to "sanitize" the untrusted repository first.</p>
2579 </div>
2580 <div class="paragraph">
2581 <p>If you have an untrusted <code>.git</code> directory, you should first clone it
2582 with <code>git clone --no-local</code> to obtain a clean copy. Git does restrict
2583 the set of options and hooks that will be run by <code>upload-pack</code>, which
2584 handles the server side of a clone or fetch, but beware that the
2585 surface area for attack against <code>upload-pack</code> is large, so this does
2586 carry some risk. The safest thing is to serve the repository as an
2587 unprivileged user (either via <a href="git-daemon.html">git-daemon(1)</a>, ssh, or using
2588 other tools to change user ids). See the discussion in the <code>SECURITY</code>
2589 section of <a href="git-upload-pack.html">git-upload-pack(1)</a>.</p>
2590 </div>
2591 </div>
2592 </div>
2593 <div class="sect1">
2594 <h2 id="_further_documentation">FURTHER DOCUMENTATION</h2>
2595 <div class="sectionbody">
2596 <div class="paragraph">
2597 <p>See the references in the "description" section to get started
2598 using Git. The following is probably more detail than necessary
2599 for a first-time user.</p>
2600 </div>
2601 <div class="paragraph">
2602 <p>The <a href="user-manual.html#git-concepts">Git concepts chapter of the
2603 user-manual</a> and <a href="gitcore-tutorial.html">gitcore-tutorial(7)</a> both provide
2604 introductions to the underlying Git architecture.</p>
2605 </div>
2606 <div class="paragraph">
2607 <p>See <a href="gitworkflows.html">gitworkflows(7)</a> for an overview of recommended workflows.</p>
2608 </div>
2609 <div class="paragraph">
2610 <p>See also the <a href="howto-index.html">howto</a> documents for some useful
2611 examples.</p>
2612 </div>
2613 <div class="paragraph">
2614 <p>The internals are documented in the
2615 <a href="technical/api-index.html">Git API documentation</a>.</p>
2616 </div>
2617 <div class="paragraph">
2618 <p>Users migrating from CVS may also want to
2619 read <a href="gitcvs-migration.html">gitcvs-migration(7)</a>.</p>
2620 </div>
2621 </div>
2622 </div>
2623 <div class="sect1">
2624 <h2 id="_authors">Authors</h2>
2625 <div class="sectionbody">
2626 <div class="paragraph">
2627 <p>Git was started by Linus Torvalds, and is currently maintained by Junio
2628 C Hamano. Numerous contributions have come from the Git mailing list
2629 &lt;<a href="mailto:git@vger.kernel.org">git@vger.kernel.org</a>&gt;. <a href="https://openhub.net/p/git/contributors/summary" class="bare">https://openhub.net/p/git/contributors/summary</a>
2630 gives you a more complete list of contributors.</p>
2631 </div>
2632 <div class="paragraph">
2633 <p>If you have a clone of git.git itself, the
2634 output of <a href="git-shortlog.html">git-shortlog(1)</a> and <a href="git-blame.html">git-blame(1)</a> can show you
2635 the authors for specific parts of the project.</p>
2636 </div>
2637 </div>
2638 </div>
2639 <div class="sect1">
2640 <h2 id="_reporting_bugs">Reporting Bugs</h2>
2641 <div class="sectionbody">
2642 <div class="paragraph">
2643 <p>Report bugs to the Git mailing list &lt;<a href="mailto:git@vger.kernel.org">git@vger.kernel.org</a>&gt; where the
2644 development and maintenance is primarily done. You do not have to be
2645 subscribed to the list to send a message there. See the list archive
2646 at <a href="https://lore.kernel.org/git" class="bare">https://lore.kernel.org/git</a> for previous bug reports and other
2647 discussions.</p>
2648 </div>
2649 <div class="paragraph">
2650 <p>Issues which are security relevant should be disclosed privately to
2651 the Git Security mailing list &lt;<a href="mailto:git-security@googlegroups.com">git-security@googlegroups.com</a>&gt;.</p>
2652 </div>
2653 </div>
2654 </div>
2655 <div class="sect1">
2656 <h2 id="_see_also">SEE ALSO</h2>
2657 <div class="sectionbody">
2658 <div class="paragraph">
2659 <p><a href="gittutorial.html">gittutorial(7)</a>, <a href="gittutorial-2.html">gittutorial-2(7)</a>,
2660 <a href="giteveryday.html">giteveryday(7)</a>, <a href="gitcvs-migration.html">gitcvs-migration(7)</a>,
2661 <a href="gitglossary.html">gitglossary(7)</a>, <a href="gitcore-tutorial.html">gitcore-tutorial(7)</a>,
2662 <a href="gitcli.html">gitcli(7)</a>, <a href="user-manual.html">The Git User&#8217;s Manual</a>,
2663 <a href="gitworkflows.html">gitworkflows(7)</a></p>
2664 </div>
2665 </div>
2666 </div>
2667 <div class="sect1">
2668 <h2 id="_git">GIT</h2>
2669 <div class="sectionbody">
2670 <div class="paragraph">
2671 <p>Part of the <a href="git.html">git(1)</a> suite</p>
2672 </div>
2673 </div>
2674 </div>
2675 </div>
2676 <div id="footer">
2677 <div id="footer-text">
2678 Last updated 2024-09-14 09:09:36 -0700
2679 </div>
2680 </div>
2681 </body>
2682 </html>