blob: 578650e20b9f5883ea44fa4f6c456cbbcf391073 [file] [log] [blame]
Junio C Hamanob96f40a2024-08-01 00:57:251<!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>gitcli(7)</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"; */
14html{font-family:sans-serif;-webkit-text-size-adjust:100%}
15a{background:none}
16a:focus{outline:thin dotted}
17a:active,a:hover{outline:0}
18h1{font-size:2em;margin:.67em 0}
19b,strong{font-weight:bold}
20abbr{font-size:.9em}
21abbr[title]{cursor:help;border-bottom:1px dotted #dddddf;text-decoration:none}
22dfn{font-style:italic}
23hr{height:0}
24mark{background:#ff0;color:#000}
25code,kbd,pre,samp{font-family:monospace;font-size:1em}
26pre{white-space:pre-wrap}
27q{quotes:"\201C" "\201D" "\2018" "\2019"}
28small{font-size:80%}
29sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
30sup{top:-.5em}
31sub{bottom:-.25em}
32img{border:0}
33svg:not(:root){overflow:hidden}
34figure{margin:0}
35audio,video{display:inline-block}
36audio:not([controls]){display:none;height:0}
37fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}
38legend{border:0;padding:0}
39button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
40button,input{line-height:normal}
41button,select{text-transform:none}
42button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}
43button[disabled],html input[disabled]{cursor:default}
44input[type=checkbox],input[type=radio]{padding:0}
45button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
46textarea{overflow:auto;vertical-align:top}
47table{border-collapse:collapse;border-spacing:0}
48*,::before,::after{box-sizing:border-box}
49html,body{font-size:100%}
50body{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}
51a:hover{cursor:pointer}
52img,object,embed{max-width:100%;height:auto}
53object,embed{height:100%}
54img{-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}
62img,object,svg{display:inline-block;vertical-align:middle}
63textarea{height:auto;min-height:50px}
64select{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}
66div,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}
67a{color:#2156a5;text-decoration:underline;line-height:inherit}
68a:hover,a:focus{color:#1d4b8f}
69a img{border:0}
70p{line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility}
71p aside{font-size:.875em;line-height:1.35;font-style:italic}
72h1,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}
73h1 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}
74h1{font-size:2.125em}
75h2{font-size:1.6875em}
76h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em}
77h4,h5{font-size:1.125em}
78h6{font-size:1em}
79hr{border:solid #dddddf;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em}
80em,i{font-style:italic;line-height:inherit}
81strong,b{font-weight:bold;line-height:inherit}
82small{font-size:60%;line-height:inherit}
83code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)}
84ul,ol,dl{line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit}
85ul,ol{margin-left:1.5em}
86ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0}
87ul.circle{list-style-type:circle}
88ul.disc{list-style-type:disc}
89ul.square{list-style-type:square}
90ul.circle ul:not([class]),ul.disc ul:not([class]),ul.square ul:not([class]){list-style:inherit}
91ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0}
92dl dt{margin-bottom:.3125em;font-weight:bold}
93dl dd{margin-bottom:1.25em}
94blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd}
95blockquote,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}
97h1{font-size:2.75em}
98h2{font-size:2.3125em}
99h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em}
100h4{font-size:1.4375em}}
101table{background:#fff;margin-bottom:1.25em;border:1px solid #dedede;word-wrap:normal}
102table thead,table tfoot{background:#f7f8f7}
103table 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}
104table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)}
105table tr.even,table tr.alt{background:#f8f8f7}
106table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{line-height:1.6}
107h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em}
108h1 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}
117pre{color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;line-height:1.45;text-rendering:optimizeSpeed}
118pre code,pre pre{color:inherit;font-size:inherit;line-height:inherit}
119pre>code{display:block}
120pre.nowrap,pre.nowrap pre{white-space:pre;word-wrap:normal}
121em em{font-style:normal}
122strong strong{font-weight:400}
123.keyseq{color:rgba(51,51,51,.8)}
124kbd{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}
132b.button::before,b.button::after{position:relative;top:-1px;font-weight:400}
133b.button::before{content:"[";padding:0 3px 0 2px}
134b.button::after{content:"]";padding:0 2px 0 3px}
135p 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}
164body.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}
170body.toc2.toc-right{padding-left:0;padding-right:15em}
171body.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}
177body.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}
194details,.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em}
195details{margin-left:1.25rem}
196details>summary{cursor:pointer;display:block;position:relative;line-height:1.6;margin-bottom:.625rem;outline:none;-webkit-tap-highlight-color:transparent}
197details>summary::-webkit-details-marker{display:none}
198details>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%)}
199details[open]>summary::before{border:solid transparent;border-top:solid;border-width:.5em .3em 0;transform:translateY(15%)}
200details>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}
202table.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}
229pre.prettyprint .linenums{line-height:1.45;margin-left:2em}
230pre.prettyprint li{background:none;list-style-type:inherit;padding-left:0}
231pre.prettyprint li code[data-lang]::before{opacity:1}
232pre.prettyprint li:not(:first-child) code[data-lang]::before{display:none}
233table.linenotable{border-collapse:separate;border:0;margin-bottom:0;background:none}
234table.linenotable td[class]{color:inherit;vertical-align:top;padding:0;line-height:inherit;white-space:normal}
235table.linenotable td.code{padding-left:.75em}
236table.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}
237pre.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}
260p.tableblock:last-child{margin-bottom:0}
261td.tableblock>.content{margin-bottom:1.25em;word-wrap:anywhere}
262td.tableblock>.content>:last-child{margin-bottom:-1.25em}
263table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
264table.grid-all>*>tr>*{border-width:1px}
265table.grid-cols>*>tr>*{border-width:0 1px}
266table.grid-rows>*>tr>*{border-width:1px 0}
267table.frame-all{border-width:1px}
268table.frame-ends{border-width:1px 0}
269table.frame-sides{border-width:0 1px}
270table.frame-none>colgroup+*>:first-child>*,table.frame-sides>colgroup+*>:first-child>*{border-top-width:0}
271table.frame-none>:last-child>:last-child>*,table.frame-sides>:last-child>:last-child>*{border-bottom-width:0}
272table.frame-none>*>tr>:first-child,table.frame-ends>*>tr>:first-child{border-left-width:0}
273table.frame-none>*>tr>:last-child,table.frame-ends>*>tr>:last-child{border-right-width:0}
274table.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}
275th.halign-left,td.halign-left{text-align:left}
276th.halign-right,td.halign-right{text-align:right}
277th.halign-center,td.halign-center{text-align:center}
278th.valign-top,td.valign-top{vertical-align:top}
279th.valign-bottom,td.valign-bottom{vertical-align:bottom}
280th.valign-middle,td.valign-middle{vertical-align:middle}
281table thead th,table tfoot th{font-weight:bold}
282tbody tr th{background:#f7f8f7}
283tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold}
284p.tableblock>code:only-child{background:none;padding:0}
285p.tableblock{font-size:1em}
286ol{margin-left:1.75em}
287ul li ol{margin-left:1.5em}
288dl dd{margin-left:1.125em}
289dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0}
290li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em}
291ul.checklist,ul.none,ol.none,ul.no-bullet,ol.no-bullet,ol.unnumbered,ul.unstyled,ol.unstyled{list-style-type:none}
292ul.no-bullet,ol.no-bullet,ol.unnumbered{margin-left:.625em}
293ul.unstyled,ol.unstyled{margin-left:0}
294li>p:empty:only-child::before{content:"";display:inline-block}
295ul.checklist>li>p:first-child{margin-left:-1em}
296ul.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}
297ul.checklist>li>p:first-child>input[type=checkbox]:first-child{margin-right:.25em}
298ul.inline{display:flex;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em}
299ul.inline>li{margin-left:1.25em}
300.unstyled dl dt{font-weight:400;font-style:normal}
301ol.arabic{list-style-type:decimal}
302ol.decimal{list-style-type:decimal-leading-zero}
303ol.loweralpha{list-style-type:lower-alpha}
304ol.upperalpha{list-style-type:upper-alpha}
305ol.lowerroman{list-style-type:lower-roman}
306ol.upperroman{list-style-type:upper-roman}
307ol.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}
310td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
311td.hdlist1{font-weight:bold;padding-bottom:1.25em}
312td.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}
326a.image{text-decoration:none;display:inline-block}
327a.image object{pointer-events:none}
328sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super}
329sup.footnote a,sup.footnoteref a{text-decoration:none}
330sup.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}
337div.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}
375span.icon>.fa{cursor:default}
376a 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)}
387pre .conum[data-value]{position:relative;top:-.125em}
388b.conum *{color:inherit!important}
389.conum:not([data-value]):empty{display:none}
390dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility}
391h1,h2,p,td.content,span.alt,summary{letter-spacing:-.01em}
392p strong,td.content strong,div.footnote strong{letter-spacing:-.005em}
393p,blockquote,dt,td.content,td.hdlist1,span.alt,summary{font-size:1.0625rem}
394p{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}
400html{font-size:80%}
401a{color:inherit!important;text-decoration:underline!important}
402a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important}
403a[href^="http:"]:not(.bare)::after,a[href^="https:"]:not(.bare)::after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em}
404abbr[title]{border-bottom:1px dotted}
405abbr[title]::after{content:" (" attr(title) ")"}
406pre,blockquote,tr,img,object,svg{page-break-inside:avoid}
407thead{display:table-header-group}
408svg{max-width:100%}
409p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3}
410h2,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}
414body.book #header{text-align:center}
415body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em}
416body.book #header .details{border:0!important;display:block;padding:0!important}
417body.book #header .details span:first-child{margin-left:0!important}
418body.book #header .details br{display:block}
419body.book #header .details br+span::before{content:none!important}
420body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important}
421body.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>
436pre>code {
437 display: inline;
438}
439</style>
440</head>
441<body class="manpage">
442<div id="header">
443<h1>gitcli(7) Manual Page</h1>
444<h2 id="_name">NAME</h2>
445<div class="sectionbody">
446<p>gitcli - Git command-line interface and conventions</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="paragraph">
454<p>gitcli</p>
455</div>
456</div>
457</div>
458<div class="sect1">
459<h2 id="_description">DESCRIPTION</h2>
460<div class="sectionbody">
461<div class="paragraph">
462<p>This manual describes the convention used throughout Git CLI.</p>
463</div>
464<div class="paragraph">
465<p>Many commands take revisions (most often "commits", but sometimes
466"tree-ish", depending on the context and command) and paths as their
467arguments. Here are the rules:</p>
468</div>
469<div class="ulist">
470<ul>
471<li>
472<p>Options come first and then args.
473A subcommand may take dashed options (which may take their own
474arguments, e.g. "--max-parents 2") and arguments. You SHOULD
475give dashed options first and then arguments. Some commands may
476accept dashed options after you have already given non-option
477arguments (which may make the command ambiguous), but you should
478not rely on it (because eventually we may find a way to fix
479these ambiguities by enforcing the "options then args" rule).</p>
480</li>
481<li>
482<p>Revisions come first and then paths.
483E.g. in <code>git diff v1.0 v2.0 arch/x86 include/asm-x86</code>,
484<code>v1.0</code> and <code>v2.0</code> are revisions and <code>arch/x86</code> and <code>include/asm-x86</code>
485are paths.</p>
486</li>
487<li>
488<p>When an argument can be misunderstood as either a revision or a path,
489they can be disambiguated by placing <code>--</code> between them.
490E.g. <code>git diff -- HEAD</code> is, "I have a file called HEAD in my work
491tree. Please show changes between the version I staged in the index
492and what I have in the work tree for that file", not "show the difference
493between the HEAD commit and the work tree as a whole". You can say
494<code>git diff HEAD --</code> to ask for the latter.</p>
495</li>
496<li>
497<p>Without disambiguating <code>--</code>, Git makes a reasonable guess, but errors
498out and asks you to disambiguate when ambiguous. E.g. if you have a
499file called HEAD in your work tree, <code>git diff HEAD</code> is ambiguous, and
500you have to say either <code>git diff HEAD --</code> or <code>git diff -- HEAD</code> to
501disambiguate.</p>
502</li>
503<li>
504<p>Because <code>--</code> disambiguates revisions and paths in some commands, it
505cannot be used for those commands to separate options and revisions.
506You can use <code>--end-of-options</code> for this (it also works for commands
507that do not distinguish between revisions in paths, in which case it
508is simply an alias for <code>--</code>).</p>
509<div class="paragraph">
510<p>When writing a script that is expected to handle random user-input, it is
511a good practice to make it explicit which arguments are which by placing
512disambiguating <code>--</code> at appropriate places.</p>
513</div>
514</li>
515<li>
516<p>Many commands allow wildcards in paths, but you need to protect
517them from getting globbed by the shell. These two mean different
518things:</p>
519<div class="listingblock">
520<div class="content">
521<pre>$ git restore *.c
522$ git restore \*.c</pre>
523</div>
524</div>
525<div class="paragraph">
526<p>The former lets your shell expand the fileglob, and you are asking
527the dot-C files in your working tree to be overwritten with the version
528in the index. The latter passes the <code>*.c</code> to Git, and you are asking
529the paths in the index that match the pattern to be checked out to your
530working tree. After running <code>git add hello.c; rm hello.c</code>, you will <em>not</em>
531see <code>hello.c</code> in your working tree with the former, but with the latter
532you will.</p>
533</div>
534</li>
535<li>
536<p>Just as the filesystem <em>.</em> (period) refers to the current directory,
537using a <em>.</em> as a repository name in Git (a dot-repository) is a relative
538path and means your current repository.</p>
539</li>
540</ul>
541</div>
542<div class="paragraph">
543<p>Here are the rules regarding the "flags" that you should follow when you are
544scripting Git:</p>
545</div>
546<div class="ulist">
547<ul>
548<li>
549<p>Splitting short options to separate words (prefer <code>git foo -a -b</code>
550to <code>git foo -ab</code>, the latter may not even work).</p>
551</li>
552<li>
553<p>When a command-line option takes an argument, use the <em>stuck</em> form. In
554other words, write <code>git foo -oArg</code> instead of <code>git foo -o Arg</code> for short
555options, and <code>git foo --long-opt=Arg</code> instead of <code>git foo --long-opt Arg</code>
556for long options. An option that takes optional option-argument must be
557written in the <em>stuck</em> form.</p>
558</li>
559<li>
560<p>When you give a revision parameter to a command, make sure the parameter is
561not ambiguous with a name of a file in the work tree. E.g. do not write
562<code>git log -1 HEAD</code> but write <code>git log -1 HEAD --</code>; the former will not work
563if you happen to have a file called <code>HEAD</code> in the work tree.</p>
564</li>
565<li>
566<p>Many commands allow a long option <code>--option</code> to be abbreviated
567only to their unique prefix (e.g. if there is no other option
568whose name begins with <code>opt</code>, you may be able to spell <code>--opt</code> to
569invoke the <code>--option</code> flag), but you should fully spell them out
570when writing your scripts; later versions of Git may introduce a
571new option whose name shares the same prefix, e.g. <code>--optimize</code>,
572to make a short prefix that used to be unique no longer unique.</p>
573</li>
574</ul>
575</div>
576</div>
577</div>
578<div class="sect1">
579<h2 id="_enhanced_option_parser">ENHANCED OPTION PARSER</h2>
580<div class="sectionbody">
581<div class="paragraph">
582<p>From the Git 1.5.4 series and further, many Git commands (not all of them at the
583time of the writing though) come with an enhanced option parser.</p>
584</div>
585<div class="paragraph">
586<p>Here is a list of the facilities provided by this option parser.</p>
587</div>
588<div class="sect2">
589<h3 id="_magic_options">Magic Options</h3>
590<div class="paragraph">
591<p>Commands which have the enhanced option parser activated all understand a
592couple of magic command-line options:</p>
593</div>
594<div class="dlist">
595<dl>
596<dt class="hdlist1">-h</dt>
597<dd>
598<p>gives a pretty printed usage of the command.</p>
599<div class="listingblock">
600<div class="content">
601<pre>$ git describe -h
602usage: git describe [&lt;options&gt;] &lt;commit-ish&gt;*
603 or: git describe [&lt;options&gt;] --dirty
604
605 --contains find the tag that comes after the commit
606 --debug debug search strategy on stderr
607 --all use any ref
608 --tags use any tag, even unannotated
609 --long always use long format
610 --abbrev[=&lt;n&gt;] use &lt;n&gt; digits to display SHA-1s</pre>
611</div>
612</div>
613<div class="paragraph">
614<p>Note that some subcommand (e.g. <code>git grep</code>) may behave differently
615when there are things on the command line other than <code>-h</code>, but <code>git
616subcmd -h</code> without anything else on the command line is meant to
617consistently give the usage.</p>
618</div>
619</dd>
620<dt class="hdlist1">--help-all</dt>
621<dd>
622<p>Some Git commands take options that are only used for plumbing or that
623are deprecated, and such options are hidden from the default usage. This
624option gives the full list of options.</p>
625</dd>
626</dl>
627</div>
628</div>
629<div class="sect2">
630<h3 id="_negating_options">Negating options</h3>
631<div class="paragraph">
632<p>Options with long option names can be negated by prefixing <code>--no-</code>. For
633example, <code>git branch</code> has the option <code>--track</code> which is <em>on</em> by default. You
634can use <code>--no-track</code> to override that behaviour. The same goes for <code>--color</code>
635and <code>--no-color</code>.</p>
636</div>
637</div>
638<div class="sect2">
639<h3 id="_aggregating_short_options">Aggregating short options</h3>
640<div class="paragraph">
641<p>Commands that support the enhanced option parser allow you to aggregate short
642options. This means that you can for example use <code>git rm -rf</code> or
643<code>git clean -fdx</code>.</p>
644</div>
645</div>
646<div class="sect2">
647<h3 id="_abbreviating_long_options">Abbreviating long options</h3>
648<div class="paragraph">
649<p>Commands that support the enhanced option parser accepts unique
650prefix of a long option as if it is fully spelled out, but use this
651with a caution. For example, <code>git commit --amen</code> behaves as if you
652typed <code>git commit --amend</code>, but that is true only until a later version
653of Git introduces another option that shares the same prefix,
654e.g. <code>git commit --amenity</code> option.</p>
655</div>
656</div>
657<div class="sect2">
658<h3 id="_separating_argument_from_the_option">Separating argument from the option</h3>
659<div class="paragraph">
660<p>You can write the mandatory option parameter to an option as a separate
661word on the command line. That means that all the following uses work:</p>
662</div>
663<div class="listingblock">
664<div class="content">
665<pre>$ git foo --long-opt=Arg
666$ git foo --long-opt Arg
667$ git foo -oArg
668$ git foo -o Arg</pre>
669</div>
670</div>
671<div class="paragraph">
672<p>However, this is <strong>NOT</strong> allowed for switches with an optional value, where the
673<em>stuck</em> form must be used:</p>
674</div>
675<div class="listingblock">
676<div class="content">
677<pre>$ git describe --abbrev HEAD # correct
678$ git describe --abbrev=10 HEAD # correct
679$ git describe --abbrev 10 HEAD # NOT WHAT YOU MEANT</pre>
680</div>
681</div>
682</div>
683</div>
684</div>
685<div class="sect1">
686<h2 id="_notes_on_frequently_confused_options">NOTES ON FREQUENTLY CONFUSED OPTIONS</h2>
687<div class="sectionbody">
688<div class="paragraph">
689<p>Many commands that can work on files in the working tree
690and/or in the index can take <code>--cached</code> and/or <code>--index</code>
691options. Sometimes people incorrectly think that, because
692the index was originally called cache, these two are
693synonyms. They are <strong>not</strong>&#8201;&#8212;&#8201;these two options mean very
694different things.</p>
695</div>
696<div class="ulist">
697<ul>
698<li>
699<p>The <code>--cached</code> option is used to ask a command that
700usually works on files in the working tree to <strong>only</strong> work
701with the index. For example, <code>git grep</code>, when used
702without a commit to specify from which commit to look for
703strings in, usually works on files in the working tree,
704but with the <code>--cached</code> option, it looks for strings in
705the index.</p>
706</li>
707<li>
708<p>The <code>--index</code> option is used to ask a command that
709usually works on files in the working tree to <strong>also</strong>
710affect the index. For example, <code>git stash apply</code> usually
711merges changes recorded in a stash entry to the working tree,
712but with the <code>--index</code> option, it also merges changes to
713the index as well.</p>
714</li>
715</ul>
716</div>
717<div class="paragraph">
718<p><code>git apply</code> command can be used with <code>--cached</code> and
719<code>--index</code> (but not at the same time). Usually the command
720only affects the files in the working tree, but with
721<code>--index</code>, it patches both the files and their index
722entries, and with <code>--cached</code>, it modifies only the index
723entries.</p>
724</div>
725<div class="paragraph">
726<p>See also <a href="https://lore.kernel.org/git/7v64clg5u9.fsf@assigned-by-dhcp.cox.net/" class="bare">https://lore.kernel.org/git/7v64clg5u9.fsf@assigned-by-dhcp.cox.net/</a> and
727<a href="https://lore.kernel.org/git/7vy7ej9g38.fsf@gitster.siamese.dyndns.org/" class="bare">https://lore.kernel.org/git/7vy7ej9g38.fsf@gitster.siamese.dyndns.org/</a> for further
728information.</p>
729</div>
730<div class="paragraph">
731<p>Some other commands that also work on files in the working tree and/or
732in the index can take <code>--staged</code> and/or <code>--worktree</code>.</p>
733</div>
734<div class="ulist">
735<ul>
736<li>
737<p><code>--staged</code> is exactly like <code>--cached</code>, which is used to ask a
738command to only work on the index, not the working tree.</p>
739</li>
740<li>
741<p><code>--worktree</code> is the opposite, to ask a command to work on the
742working tree only, not the index.</p>
743</li>
744<li>
745<p>The two options can be specified together to ask a command to work
746on both the index and the working tree.</p>
747</li>
748</ul>
749</div>
750</div>
751</div>
752<div class="sect1">
753<h2 id="_git">GIT</h2>
754<div class="sectionbody">
755<div class="paragraph">
756<p>Part of the <a href="git.html">git(1)</a> suite</p>
757</div>
758</div>
759</div>
760</div>
761<div id="footer">
762<div id="footer-text">
763Last updated 2024-03-11 15:39:49 -0700
764</div>
765</div>
766</body>
767</html>