2 <html xmlns=
"http://www.w3.org/1999/xhtml" lang=
"en">
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-for-each-ref(
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"/>
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%}
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}
21 abbr[title]{cursor:help;border-bottom:
1px dotted #dddddf;text-decoration:none}
22 dfn{font-style:italic}
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"}
29 sub,sup{font-size:
75%;line-height:
0;position:relative;vertical-align:baseline}
33 svg:not(:root){overflow:hidden}
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}
62 img,object,svg{display:inline-block;vertical-align:middle}
63 textarea{height:auto;min-height:
50px}
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}
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}
75 h2{font-size:
1.6875em}
76 h3,#toctitle,.sidebarblock
>.content
>.title{font-size:
1.375em}
77 h4,h5{font-size:
1.125em}
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}
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}
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}
344 .aqua-background{background:#
00fafa}
346 .black-background{background:#
000}
348 .blue-background{background:#
0000fa}
349 .fuchsia{color:#bf00bf}
350 .fuchsia-background{background:#fa00fa}
352 .gray-background{background:#
7d7d7d}
353 .green{color:#
006000}
354 .green-background{background:#
007d00}
356 .lime-background{background:#
00fa00}
357 .maroon{color:#
600000}
358 .maroon-background{background:#
7d0000}
360 .navy-background{background:#
00007d}
361 .olive{color:#
606000}
362 .olive-background{background:#
7d7d00}
363 .purple{color:#
600060}
364 .purple-background{background:#
7d007d}
366 .red-background{background:#fa0000}
367 .silver{color:#
909090}
368 .silver-background{background:#bcbcbc}
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}
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}
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}}
441 <body class=
"manpage">
443 <h1>git-for-each-ref(
1) Manual Page
</h1>
444 <h2 id=
"_name">NAME
</h2>
445 <div class=
"sectionbody">
446 <p>git-for-each-ref - Output information on each ref
</p>
451 <h2 id=
"_synopsis">SYNOPSIS
</h2>
452 <div class=
"sectionbody">
453 <div class=
"verseblock">
454 <pre class=
"content"><em>git for-each-ref
</em> [--count=
<count
>] [--shell|--perl|--python|--tcl]
455 [(--sort=
<key
>)
…​] [--format=
<format
>]
456 [--include-root-refs] [ --stdin |
<pattern
>…​ ]
457 [--points-at=
<object
>]
458 [--merged[=
<object
>]] [--no-merged[=
<object
>]]
459 [--contains[=
<object
>]] [--no-contains[=
<object
>]]
460 [--exclude=
<pattern
> …​]
</pre>
465 <h2 id=
"_description">DESCRIPTION
</h2>
466 <div class=
"sectionbody">
467 <div class=
"paragraph">
468 <p>Iterate over all refs that match
<code><pattern
></code> and show them
469 according to the given
<code><format
></code>, after sorting them according
470 to the given set of
<code><key
></code>. If
<code><count
></code> is given, stop after
471 showing that many refs. The interpolated values in
<code><format
></code>
472 can optionally be quoted as string literals in the specified
473 host language allowing their direct evaluation in that language.
</p>
478 <h2 id=
"_options">OPTIONS
</h2>
479 <div class=
"sectionbody">
482 <dt class=
"hdlist1"><pattern
>…​</dt>
484 <p>If one or more patterns are given, only refs are shown that
485 match against at least one pattern, either using fnmatch(
3) or
486 literally, in the latter case matching completely or from the
487 beginning up to a slash.
</p>
489 <dt class=
"hdlist1">--stdin
</dt>
491 <p>If
<code>--stdin
</code> is supplied, then the list of patterns is read from
492 standard input instead of from the argument list.
</p>
494 <dt class=
"hdlist1">--count=
<count
></dt>
496 <p>By default the command shows all refs that match
497 <code><pattern
></code>. This option makes it stop after showing
500 <dt class=
"hdlist1">--sort=
<key
></dt>
502 <p>A field name to sort on. Prefix
<code>-
</code> to sort in
503 descending order of the value. When unspecified,
504 <code>refname
</code> is used. You may use the --sort=
<key
> option
505 multiple times, in which case the last key becomes the primary
508 <dt class=
"hdlist1">--format=
<format
></dt>
510 <p>A string that interpolates
<code>%(fieldname)
</code> from a ref being shown and
511 the object it points at. In addition, the string literal
<code>%%
</code>
512 renders as
<code>%
</code> and
<code>%xx
</code> - where
<code>xx
</code> are hex digits - renders as
513 the character with hex code
<code>xx
</code>. For example,
<code>%
00</code> interpolates to
514 <code>\
0</code> (NUL),
<code>%
09</code> to
<code>\t
</code> (TAB), and
<code>%
0a
</code> to
<code>\n
</code> (LF).
</p>
515 <div class=
"paragraph">
516 <p>When unspecified,
<code><format
></code> defaults to
<code>%(objectname) SPC %(objecttype)
517 TAB %(refname)
</code>.
</p>
520 <dt class=
"hdlist1">--color[=
<when
>]
</dt>
522 <p>Respect any colors specified in the
<code>--format
</code> option. The
523 <code><when
></code> field must be one of
<code>always
</code>,
<code>never
</code>, or
<code>auto
</code> (if
524 <code><when
></code> is absent, behave as if
<code>always
</code> was given).
</p>
526 <dt class=
"hdlist1">--shell
</dt>
527 <dt class=
"hdlist1">--perl
</dt>
528 <dt class=
"hdlist1">--python
</dt>
529 <dt class=
"hdlist1">--tcl
</dt>
531 <p>If given, strings that substitute
<code>%(fieldname)
</code>
532 placeholders are quoted as string literals suitable for
533 the specified host language. This is meant to produce
534 a scriptlet that can directly be `eval`ed.
</p>
536 <dt class=
"hdlist1">--points-at=
<object
></dt>
538 <p>Only list refs which points at the given object.
</p>
540 <dt class=
"hdlist1">--merged[=
<object
>]
</dt>
542 <p>Only list refs whose tips are reachable from the
543 specified commit (HEAD if not specified).
</p>
545 <dt class=
"hdlist1">--no-merged[=
<object
>]
</dt>
547 <p>Only list refs whose tips are not reachable from the
548 specified commit (HEAD if not specified).
</p>
550 <dt class=
"hdlist1">--contains[=
<object
>]
</dt>
552 <p>Only list refs which contain the specified commit (HEAD if not
555 <dt class=
"hdlist1">--no-contains[=
<object
>]
</dt>
557 <p>Only list refs which don
’t contain the specified commit (HEAD
558 if not specified).
</p>
560 <dt class=
"hdlist1">--ignore-case
</dt>
562 <p>Sorting and filtering refs are case insensitive.
</p>
564 <dt class=
"hdlist1">--omit-empty
</dt>
566 <p>Do not print a newline after formatted refs where the format expands
567 to the empty string.
</p>
569 <dt class=
"hdlist1">--exclude=
<pattern
></dt>
571 <p>If one or more patterns are given, only refs which do not match
572 any excluded pattern(s) are shown. Matching is done using the
573 same rules as
<code><pattern
></code> above.
</p>
575 <dt class=
"hdlist1">--include-root-refs
</dt>
577 <p>List root refs (HEAD and pseudorefs) apart from regular refs.
</p>
584 <h2 id=
"_field_names">FIELD NAMES
</h2>
585 <div class=
"sectionbody">
586 <div class=
"paragraph">
587 <p>Various values from structured fields in referenced objects can
588 be used to interpolate into the resulting output, or as sort
591 <div class=
"paragraph">
592 <p>For all objects, the following names can be used:
</p>
596 <dt class=
"hdlist1">refname
</dt>
598 <p>The name of the ref (the part after $GIT_DIR/).
599 For a non-ambiguous short name of the ref append
<code>:short
</code>.
600 The option core.warnAmbiguousRefs is used to select the strict
601 abbreviation mode. If
<code>lstrip=
<N
></code> (
<code>rstrip=
<N
></code>) is appended, strips
<code><N
></code>
602 slash-separated path components from the front (back) of the refname
603 (e.g.
<code>%(refname:lstrip=
2)
</code> turns
<code>refs/tags/foo
</code> into
<code>foo
</code> and
604 <code>%(refname:rstrip=
2)
</code> turns
<code>refs/tags/foo
</code> into
<code>refs
</code>).
605 If
<code><N
></code> is a negative number, strip as many path components as
606 necessary from the specified end to leave
<code>-
<N
></code> path components
607 (e.g.
<code>%(refname:lstrip=-
2)
</code> turns
608 <code>refs/tags/foo
</code> into
<code>tags/foo
</code> and
<code>%(refname:rstrip=-
1)
</code>
609 turns
<code>refs/tags/foo
</code> into
<code>refs
</code>). When the ref does not have
610 enough components, the result becomes an empty string if
611 stripping with positive
<N
>, or it becomes the full refname if
612 stripping with negative
<N
>. Neither is an error.
</p>
613 <div class=
"paragraph">
614 <p><code>strip
</code> can be used as a synonym to
<code>lstrip
</code>.
</p>
617 <dt class=
"hdlist1">objecttype
</dt>
619 <p>The type of the object (
<code>blob
</code>,
<code>tree
</code>,
<code>commit
</code>,
<code>tag
</code>).
</p>
621 <dt class=
"hdlist1">objectsize
</dt>
623 <p>The size of the object (the same as
<em>git cat-file -s
</em> reports).
624 Append
<code>:disk
</code> to get the size, in bytes, that the object takes up on
625 disk. See the note about on-disk sizes in the
<code>CAVEATS
</code> section below.
</p>
627 <dt class=
"hdlist1">objectname
</dt>
629 <p>The object name (aka SHA-
1).
630 For a non-ambiguous abbreviation of the object name append
<code>:short
</code>.
631 For an abbreviation of the object name with desired length append
632 <code>:short=
<length
></code>, where the minimum length is MINIMUM_ABBREV. The
633 length may be exceeded to ensure unique object names.
</p>
635 <dt class=
"hdlist1">deltabase
</dt>
637 <p>This expands to the object name of the delta base for the
638 given object, if it is stored as a delta. Otherwise it
639 expands to the null object name (all zeroes).
</p>
641 <dt class=
"hdlist1">upstream
</dt>
643 <p>The name of a local ref which can be considered
“upstream
”
644 from the displayed ref. Respects
<code>:short
</code>,
<code>:lstrip
</code> and
645 <code>:rstrip
</code> in the same way as
<code>refname
</code> above. Additionally
646 respects
<code>:track
</code> to show
"[ahead N, behind M]" and
647 <code>:trackshort
</code> to show the terse version:
">" (ahead),
"<"
648 (behind),
"<>" (ahead and behind), or
"=" (in sync).
<code>:track
</code>
649 also prints
"[gone]" whenever unknown upstream ref is
650 encountered. Append
<code>:track,nobracket
</code> to show tracking
651 information without brackets (i.e
"ahead N, behind M").
</p>
652 <div class=
"paragraph">
653 <p>For any remote-tracking branch
<code>%(upstream)
</code>,
<code>%(upstream:remotename)
</code>
654 and
<code>%(upstream:remoteref)
</code> refer to the name of the remote and the
655 name of the tracked remote ref, respectively. In other words, the
656 remote-tracking branch can be updated explicitly and individually by
657 using the refspec
<code>%(upstream:remoteref):%(upstream)
</code> to fetch from
658 <code>%(upstream:remotename)
</code>.
</p>
660 <div class=
"paragraph">
661 <p>Has no effect if the ref does not have tracking information associated
662 with it. All the options apart from
<code>nobracket
</code> are mutually exclusive,
663 but if used together the last option is selected.
</p>
666 <dt class=
"hdlist1">push
</dt>
668 <p>The name of a local ref which represents the
<code>@{push}
</code>
669 location for the displayed ref. Respects
<code>:short
</code>,
<code>:lstrip
</code>,
670 <code>:rstrip
</code>,
<code>:track
</code>,
<code>:trackshort
</code>,
<code>:remotename
</code>, and
<code>:remoteref
</code>
671 options as
<code>upstream
</code> does. Produces an empty string if no
<code>@{push}
</code>
672 ref is configured.
</p>
674 <dt class=
"hdlist1">HEAD
</dt>
676 <p><em>*
</em> if HEAD matches current ref (the checked out branch), ' '
679 <dt class=
"hdlist1">color
</dt>
681 <p>Change output color. Followed by
<code>:
<colorname
></code>, where color
682 names are described under Values in the
"CONFIGURATION FILE"
683 section of
<a href=
"git-config.html">git-config(
1)
</a>. For example,
684 <code>%(color:bold red)
</code>.
</p>
686 <dt class=
"hdlist1">align
</dt>
688 <p>Left-, middle-, or right-align the content between
689 %(align:
…​) and %(end). The
"align:" is followed by
690 <code>width=
<width
></code> and
<code>position=
<position
></code> in any order
691 separated by a comma, where the
<code><position
></code> is either left,
692 right or middle, default being left and
<code><width
></code> is the total
693 length of the content with alignment. For brevity, the
694 "width=" and/or
"position=" prefixes may be omitted, and bare
695 <width
> and
<position
> used instead. For instance,
696 <code>%(align:
<width
>,
<position
>)
</code>. If the contents length is more
697 than the width then no alignment is performed. If used with
698 <code>--quote
</code> everything in between %(align:
…​) and %(end) is
699 quoted, but if nested then only the topmost level performs
702 <dt class=
"hdlist1">if
</dt>
704 <p>Used as %(if)
…​%(then)
…​%(end) or
705 %(if)
…​%(then)
…​%(else)
…​%(end). If there is an atom with
706 value or string literal after the %(if) then everything after
707 the %(then) is printed, else if the %(else) atom is used, then
708 everything after %(else) is printed. We ignore space when
709 evaluating the string before %(then), this is useful when we
710 use the %(HEAD) atom which prints either
"*" or
" " and we
711 want to apply the
<em>if
</em> condition only on the
<em>HEAD
</em> ref.
712 Append
":equals=<string>" or
":notequals=<string>" to compare
713 the value between the %(if:
…​) and %(then) atoms with the
716 <dt class=
"hdlist1">symref
</dt>
718 <p>The ref which the given symbolic ref refers to. If not a
719 symbolic ref, nothing is printed. Respects the
<code>:short
</code>,
720 <code>:lstrip
</code> and
<code>:rstrip
</code> options in the same way as
<code>refname
</code>
723 <dt class=
"hdlist1">signature
</dt>
725 <p>The GPG signature of a commit.
</p>
727 <dt class=
"hdlist1">signature:grade
</dt>
729 <p>Show
"G" for a good (valid) signature,
"B" for a bad
730 signature,
"U" for a good signature with unknown validity,
"X"
731 for a good signature that has expired,
"Y" for a good
732 signature made by an expired key,
"R" for a good signature
733 made by a revoked key,
"E" if the signature cannot be
734 checked (e.g. missing key) and
"N" for no signature.
</p>
736 <dt class=
"hdlist1">signature:signer
</dt>
738 <p>The signer of the GPG signature of a commit.
</p>
740 <dt class=
"hdlist1">signature:key
</dt>
742 <p>The key of the GPG signature of a commit.
</p>
744 <dt class=
"hdlist1">signature:fingerprint
</dt>
746 <p>The fingerprint of the GPG signature of a commit.
</p>
748 <dt class=
"hdlist1">signature:primarykeyfingerprint
</dt>
750 <p>The primary key fingerprint of the GPG signature of a commit.
</p>
752 <dt class=
"hdlist1">signature:trustlevel
</dt>
754 <p>The trust level of the GPG signature of a commit. Possible
755 outputs are
<code>ultimate
</code>,
<code>fully
</code>,
<code>marginal
</code>,
<code>never
</code> and
<code>undefined
</code>.
</p>
757 <dt class=
"hdlist1">worktreepath
</dt>
759 <p>The absolute path to the worktree in which the ref is checked
760 out, if it is checked out in any linked worktree. Empty string
763 <dt class=
"hdlist1">ahead-behind:
<committish
></dt>
765 <p>Two integers, separated by a space, demonstrating the number of
766 commits ahead and behind, respectively, when comparing the output
767 ref to the
<code><committish
></code> specified in the format.
</p>
769 <dt class=
"hdlist1">is-base:
<committish
></dt>
771 <p>In at most one row,
<code>(
<committish
>)
</code> will appear to indicate the ref
772 that is most likely the ref used as a starting point for the branch
773 that produced
<code><committish
></code>. This choice is made using a heuristic:
774 choose the ref that minimizes the number of commits in the
775 first-parent history of
<code><committish
></code> and not in the first-parent
776 history of the ref.
</p>
777 <div class=
"paragraph">
778 <p>For example, consider the following figure of first-parent histories of
781 <div class=
"listingblock">
782 <div class=
"content">
783 <pre>*--*--*--*--*--* refs/heads/A
786 *--*--*--* refs/heads/B
792 *--* refs/heads/D
</pre>
795 <div class=
"paragraph">
796 <p>Here, if
<code>A
</code>,
<code>B
</code>, and
<code>C
</code> are the filtered references, and the format
797 string is
<code>%(refname):%(is-base:D)
</code>, then the output would be
</p>
799 <div class=
"listingblock">
800 <div class=
"content">
806 <div class=
"paragraph">
807 <p>This is because the first-parent history of
<code>D
</code> has its earliest
808 intersection with the first-parent histories of the filtered refs at a
809 common first-parent ancestor of
<code>B
</code> and
<code>C
</code> and ties are broken by the
810 earliest ref in the sorted order.
</p>
812 <div class=
"paragraph">
813 <p>Note that this token will not appear if the first-parent history of
814 <code><committish
></code> does not intersect the first-parent histories of the
818 <dt class=
"hdlist1">describe[:options]
</dt>
820 <p>A human-readable name, like
<a href=
"git-describe.html">git-describe(
1)
</a>;
821 empty string for undescribable commits. The
<code>describe
</code> string may
822 be followed by a colon and one or more comma-separated options.
</p>
823 <div class=
"openblock">
824 <div class=
"content">
827 <dt class=
"hdlist1">tags=
<bool-value
></dt>
829 <p>Instead of only considering annotated tags, consider
830 lightweight tags as well; see the corresponding option in
831 <a href=
"git-describe.html">git-describe(
1)
</a> for details.
</p>
833 <dt class=
"hdlist1">abbrev=
<number
></dt>
835 <p>Use at least
<number
> hexadecimal digits; see the corresponding
836 option in
<a href=
"git-describe.html">git-describe(
1)
</a> for details.
</p>
838 <dt class=
"hdlist1">match=
<pattern
></dt>
840 <p>Only consider tags matching the given
<code>glob(
7)
</code> pattern,
841 excluding the
"refs/tags/" prefix; see the corresponding option
842 in
<a href=
"git-describe.html">git-describe(
1)
</a> for details.
</p>
844 <dt class=
"hdlist1">exclude=
<pattern
></dt>
846 <p>Do not consider tags matching the given
<code>glob(
7)
</code> pattern,
847 excluding the
"refs/tags/" prefix; see the corresponding option
848 in
<a href=
"git-describe.html">git-describe(
1)
</a> for details.
</p>
857 <div class=
"paragraph">
858 <p>In addition to the above, for commit and tag objects, the header
859 field names (
<code>tree
</code>,
<code>parent
</code>,
<code>object
</code>,
<code>type
</code>, and
<code>tag
</code>) can
860 be used to specify the value in the header field.
861 Fields
<code>tree
</code> and
<code>parent
</code> can also be used with modifier
<code>:short
</code> and
862 <code>:short=
<length
></code> just like
<code>objectname
</code>.
</p>
864 <div class=
"paragraph">
865 <p>For commit and tag objects, the special
<code>creatordate
</code> and
<code>creator
</code>
866 fields will correspond to the appropriate date or name-email-date tuple
867 from the
<code>committer
</code> or
<code>tagger
</code> fields depending on the object type.
868 These are intended for working on a mix of annotated and lightweight tags.
</p>
870 <div class=
"paragraph">
871 <p>For tag objects, a
<code>fieldname
</code> prefixed with an asterisk (
<code>*
</code>) expands to
872 the
<code>fieldname
</code> value of the peeled object, rather than that of the tag
875 <div class=
"paragraph">
876 <p>Fields that have name-email-date tuple as its value (
<code>author
</code>,
877 <code>committer
</code>, and
<code>tagger
</code>) can be suffixed with
<code>name
</code>,
<code>email
</code>,
878 and
<code>date
</code> to extract the named component. For email fields (
<code>authoremail
</code>,
879 <code>committeremail
</code> and
<code>taggeremail
</code>),
<code>:trim
</code> can be appended to get the email
880 without angle brackets, and
<code>:localpart
</code> to get the part before the
<code>@
</code> symbol
881 out of the trimmed email. In addition to these, the
<code>:mailmap
</code> option and the
882 corresponding
<code>:mailmap,trim
</code> and
<code>:mailmap,localpart
</code> can be used (order does
883 not matter) to get values of the name and email according to the .mailmap file
884 or according to the file set in the mailmap.file or mailmap.blob configuration
885 variable (see
<a href=
"gitmailmap.html">gitmailmap(
5)
</a>).
</p>
887 <div class=
"paragraph">
888 <p>The raw data in an object is
<code>raw
</code>.
</p>
892 <dt class=
"hdlist1">raw:size
</dt>
894 <p>The raw data size of the object.
</p>
898 <div class=
"paragraph">
899 <p>Note that
<code>--format=%(raw)
</code> can not be used with
<code>--python
</code>,
<code>--shell
</code>,
<code>--tcl
</code>,
900 because such language may not support arbitrary binary data in their string
903 <div class=
"paragraph">
904 <p>The message in a commit or a tag object is
<code>contents
</code>, from which
905 <code>contents:
<part
></code> can be used to extract various parts out of:
</p>
909 <dt class=
"hdlist1">contents:size
</dt>
911 <p>The size in bytes of the commit or tag message.
</p>
913 <dt class=
"hdlist1">contents:subject
</dt>
915 <p>The first paragraph of the message, which typically is a
916 single line, is taken as the
"subject" of the commit or the
918 Instead of
<code>contents:subject
</code>, field
<code>subject
</code> can also be used to
919 obtain same results.
<code>:sanitize
</code> can be appended to
<code>subject
</code> for
920 subject line suitable for filename.
</p>
922 <dt class=
"hdlist1">contents:body
</dt>
924 <p>The remainder of the commit or the tag message that follows
927 <dt class=
"hdlist1">contents:signature
</dt>
929 <p>The optional GPG signature of the tag.
</p>
931 <dt class=
"hdlist1">contents:lines=N
</dt>
933 <p>The first
<code>N
</code> lines of the message.
</p>
937 <div class=
"paragraph">
938 <p>Additionally, the trailers as interpreted by
<a href=
"git-interpret-trailers.html">git-interpret-trailers(
1)
</a>
939 are obtained as
<code>trailers[:options]
</code> (or by using the historical alias
940 <code>contents:trailers[:options]
</code>). For valid [:option] values see
<code>trailers
</code>
941 section of
<a href=
"git-log.html">git-log(
1)
</a>.
</p>
943 <div class=
"paragraph">
944 <p>For sorting purposes, fields with numeric values sort in numeric order
945 (
<code>objectsize
</code>,
<code>authordate
</code>,
<code>committerdate
</code>,
<code>creatordate
</code>,
<code>taggerdate
</code>).
946 All other fields are used to sort in their byte-value order.
</p>
948 <div class=
"paragraph">
949 <p>There is also an option to sort by versions, this can be done by using
950 the fieldname
<code>version:refname
</code> or its alias
<code>v:refname
</code>.
</p>
952 <div class=
"paragraph">
953 <p>In any case, a field name that refers to a field inapplicable to
954 the object referred by the ref does not cause an error. It
955 returns an empty string instead.
</p>
957 <div class=
"paragraph">
958 <p>As a special case for the date-type fields, you may specify a format for the
959 date by adding
<code>:
</code> followed by date format name (see the values the
<code>--date
</code>
960 option to
<a href=
"git-rev-list.html">git-rev-list(
1)
</a> takes). If this formatting is provided in
961 a
<code>--sort
</code> key, references will be sorted according to the byte-value of the
962 formatted string rather than the numeric value of the underlying timestamp.
</p>
964 <div class=
"paragraph">
965 <p>Some atoms like %(align) and %(if) always require a matching %(end).
966 We call them
"opening atoms" and sometimes denote them as %($open).
</p>
968 <div class=
"paragraph">
969 <p>When a scripting language specific quoting is in effect, everything
970 between a top-level opening atom and its matching %(end) is evaluated
971 according to the semantics of the opening atom and only its result
972 from the top-level is quoted.
</p>
977 <h2 id=
"_examples">EXAMPLES
</h2>
978 <div class=
"sectionbody">
979 <div class=
"paragraph">
980 <p>An example directly producing formatted text. Show the most recent
981 3 tagged commits:
</p>
983 <div class=
"listingblock">
984 <div class=
"content">
987 git for-each-ref --count=
3 --sort='-*authordate' \
988 --format='From: %(*authorname) %(*authoremail)
997 <div class=
"paragraph">
998 <p>A simple example showing the use of shell eval on the output,
999 demonstrating the use of --shell. List the prefixes of all heads:
</p>
1001 <div class=
"listingblock">
1002 <div class=
"content">
1005 git for-each-ref --shell
--format=
"ref=%(refname)" refs/heads | \
1013 <div class=
"paragraph">
1014 <p>A bit more elaborate report on tags, demonstrating that the format
1015 may be an entire script:
</p>
1017 <div class=
"listingblock">
1018 <div class=
"content">
1036 # could be a lightweight tag
1038 kind=
"Lightweight tag"
1046 echo
"$kind $T points at a $t object $o"
1047 if test
"z$t" = zcommit
1049 echo
"The commit was authored by $n $e
1054 Its message reads as:
1056 echo
"$b" | sed -e
"s/^/ /"
1061 eval=`git for-each-ref --shell
--format=
"$fmt" \
1062 --sort='*objecttype' \
1063 --sort=-taggerdate \
1068 <div class=
"paragraph">
1069 <p>An example to show the usage of %(if)
…​%(then)
…​%(else)
…​%(end).
1070 This prefixes the current branch with a star.
</p>
1072 <div class=
"listingblock">
1073 <div class=
"content">
1074 <pre>git for-each-ref
--format=
"%(if)%(HEAD)%(then)* %(else) %(end)%(refname:short)" refs/heads/
</pre>
1077 <div class=
"paragraph">
1078 <p>An example to show the usage of %(if)
…​%(then)
…​%(end).
1079 This prints the authorname, if present.
</p>
1081 <div class=
"listingblock">
1082 <div class=
"content">
1083 <pre>git for-each-ref
--format=
"%(refname)%(if)%(authorname)%(then) Authored by: %(authorname)%(end)"</pre>
1089 <h2 id=
"_caveats">CAVEATS
</h2>
1090 <div class=
"sectionbody">
1091 <div class=
"paragraph">
1092 <p>Note that the sizes of objects on disk are reported accurately, but care
1093 should be taken in drawing conclusions about which refs or objects are
1094 responsible for disk usage. The size of a packed non-delta object may be
1095 much larger than the size of objects which delta against it, but the
1096 choice of which object is the base and which is the delta is arbitrary
1097 and is subject to change during a repack.
</p>
1099 <div class=
"paragraph">
1100 <p>Note also that multiple copies of an object may be present in the object
1101 database; in this case, it is undefined which copy
’s size or delta base
1102 will be reported.
</p>
1107 <h2 id=
"_notes">NOTES
</h2>
1108 <div class=
"sectionbody">
1109 <div class=
"paragraph">
1110 <p>When combining multiple
<code>--contains
</code> and
<code>--no-contains
</code> filters, only
1111 references that contain at least one of the
<code>--contains
</code> commits and
1112 contain none of the
<code>--no-contains
</code> commits are shown.
</p>
1114 <div class=
"paragraph">
1115 <p>When combining multiple
<code>--merged
</code> and
<code>--no-merged
</code> filters, only
1116 references that are reachable from at least one of the
<code>--merged
</code>
1117 commits and from none of the
<code>--no-merged
</code> commits are shown.
</p>
1122 <h2 id=
"_see_also">SEE ALSO
</h2>
1123 <div class=
"sectionbody">
1124 <div class=
"paragraph">
1125 <p><a href=
"git-show-ref.html">git-show-ref(
1)
</a></p>
1130 <h2 id=
"_git">GIT
</h2>
1131 <div class=
"sectionbody">
1132 <div class=
"paragraph">
1133 <p>Part of the
<a href=
"git.html">git(
1)
</a> suite
</p>
1139 <div id=
"footer-text">
1140 Last updated
2024-
08-
26 15:
45:
16 -
0700