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-tag(
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-tag(
1) Manual Page
</h1>
444 <h2 id=
"_name">NAME
</h2>
445 <div class=
"sectionbody">
446 <p>git-tag - Create, list, delete or verify a tag object signed with GPG
</p>
451 <h2 id=
"_synopsis">SYNOPSIS
</h2>
452 <div class=
"sectionbody">
453 <div class=
"verseblock">
454 <pre class=
"content"><em>git tag
</em> [-a | -s | -u
<key-id
>] [-f] [-m
<msg
> | -F
<file
>] [-e]
455 [(--trailer
<token
>[(=|:)
<value
>])
…​]
456 <tagname
> [
<commit
> |
<object
>]
457 <em>git tag
</em> -d
<tagname
>…​
458 <em>git tag
</em> [-n[
<num
>]] -l [--contains
<commit
>] [--no-contains
<commit
>]
459 [--points-at
<object
>] [--column[=
<options
>] | --no-column]
460 [--create-reflog] [--sort=
<key
>] [--format=
<format
>]
461 [--merged
<commit
>] [--no-merged
<commit
>] [
<pattern
>…​]
462 <em>git tag
</em> -v [--format=
<format
>]
<tagname
>…​</pre>
467 <h2 id=
"_description">DESCRIPTION
</h2>
468 <div class=
"sectionbody">
469 <div class=
"paragraph">
470 <p>Add a tag reference in
<code>refs/tags/
</code>, unless
<code>-d/-l/-v
</code> is given
471 to delete, list or verify tags.
</p>
473 <div class=
"paragraph">
474 <p>Unless
<code>-f
</code> is given, the named tag must not yet exist.
</p>
476 <div class=
"paragraph">
477 <p>If one of
<code>-a
</code>,
<code>-s
</code>, or
<code>-u
</code> <em><key-id
></em> is passed, the command
478 creates a
<em>tag
</em> object, and requires a tag message. Unless
479 <code>-m
</code> <em><msg
></em> or
<code>-F
</code> <em><file
></em> is given, an editor is started for the user to type
480 in the tag message.
</p>
482 <div class=
"paragraph">
483 <p>If
<code>-m
</code> <em><msg
></em> or
<code>-F
</code> <em><file
></em> or
<code>--trailer
</code> <em><token
></em>[
<code>=
</code><em><value
></em>] is given
484 and
<code>-a
</code>,
<code>-s
</code>, and
<code>-u
</code> <em><key-id
></em> are absent,
<code>-a
</code> is implied.
</p>
486 <div class=
"paragraph">
487 <p>Otherwise, a tag reference that points directly at the given object
488 (i.e., a lightweight tag) is created.
</p>
490 <div class=
"paragraph">
491 <p>A GnuPG signed tag object will be created when
<code>-s
</code> or
<code>-u
</code>
492 <em><key-id
></em> is used. When
<code>-u
</code> <em><key-id
></em> is not used, the
493 committer identity for the current user is used to find the
494 GnuPG key for signing. The configuration variable
<code>gpg.program
</code>
495 is used to specify custom GnuPG binary.
</p>
497 <div class=
"paragraph">
498 <p>Tag objects (created with
<code>-a
</code>,
<code>-s
</code>, or
<code>-u
</code>) are called
"annotated"
499 tags; they contain a creation date, the tagger name and e-mail, a
500 tagging message, and an optional GnuPG signature. Whereas a
501 "lightweight" tag is simply a name for an object (usually a commit
504 <div class=
"paragraph">
505 <p>Annotated tags are meant for release while lightweight tags are meant
506 for private or temporary object labels. For this reason, some git
507 commands for naming objects (like
<code>git
</code> <code>describe
</code>) will ignore
508 lightweight tags by default.
</p>
513 <h2 id=
"_options">OPTIONS
</h2>
514 <div class=
"sectionbody">
517 <dt class=
"hdlist1">-a
</dt>
518 <dt class=
"hdlist1">--annotate
</dt>
520 <p>Make an unsigned, annotated tag object
</p>
522 <dt class=
"hdlist1">-s
</dt>
523 <dt class=
"hdlist1">--sign
</dt>
525 <p>Make a GPG-signed tag, using the default e-mail address
’s key.
526 The default behavior of tag GPG-signing is controlled by
<code>tag.gpgSign
</code>
527 configuration variable if it exists, or disabled otherwise.
528 See
<a href=
"git-config.html">git-config(
1)
</a>.
</p>
530 <dt class=
"hdlist1">--no-sign
</dt>
532 <p>Override
<code>tag.gpgSign
</code> configuration variable that is
533 set to force each and every tag to be signed.
</p>
535 <dt class=
"hdlist1">-u
<key-id
></dt>
536 <dt class=
"hdlist1">--local-user=
<key-id
></dt>
538 <p>Make a GPG-signed tag, using the given key.
</p>
540 <dt class=
"hdlist1">-f
</dt>
541 <dt class=
"hdlist1">--force
</dt>
543 <p>Replace an existing tag with the given name (instead of failing)
</p>
545 <dt class=
"hdlist1">-d
</dt>
546 <dt class=
"hdlist1">--delete
</dt>
548 <p>Delete existing tags with the given names.
</p>
550 <dt class=
"hdlist1">-v
</dt>
551 <dt class=
"hdlist1">--verify
</dt>
553 <p>Verify the GPG signature of the given tag names.
</p>
555 <dt class=
"hdlist1">-n
<num
></dt>
557 <p><num
> specifies how many lines from the annotation, if any,
558 are printed when using -l. Implies
<code>--list
</code>.
</p>
559 <div class=
"paragraph">
560 <p>The default is not to print any annotation lines.
561 If no number is given to
<code>-n
</code>, only the first line is printed.
562 If the tag is not annotated, the commit message is displayed instead.
</p>
565 <dt class=
"hdlist1">-l
</dt>
566 <dt class=
"hdlist1">--list
</dt>
568 <p>List tags. With optional
<em><pattern
></em>..., e.g.
<code>git
</code> <code>tag
</code> <code>--list
</code>
569 'v-*', list only the tags that match the pattern(s).
</p>
570 <div class=
"paragraph">
571 <p>Running
"git tag" without arguments also lists all tags. The pattern
572 is a shell wildcard (i.e., matched using fnmatch(
3)). Multiple
573 patterns may be given; if any of them matches, the tag is shown.
</p>
575 <div class=
"paragraph">
576 <p>This option is implicitly supplied if any other list-like option such
577 as
<code>--contains
</code> is provided. See the documentation for each of those
578 options for details.
</p>
581 <dt class=
"hdlist1">--sort=
<key
></dt>
583 <p>Sort based on the key given. Prefix
<code>-
</code> to sort in
584 descending order of the value. You may use the --sort=
<key
> option
585 multiple times, in which case the last key becomes the primary
586 key. Also supports
"version:refname" or
"v:refname" (tag
587 names are treated as versions). The
"version:refname" sort
588 order can also be affected by the
"versionsort.suffix"
589 configuration variable.
590 The keys supported are the same as those in
<code>git
</code> <code>for-each-ref
</code>.
591 Sort order defaults to the value configured for the
<code>tag.sort
</code>
592 variable if it exists, or lexicographic order otherwise. See
593 <a href=
"git-config.html">git-config(
1)
</a>.
</p>
595 <dt class=
"hdlist1">--color[=
<when
>]
</dt>
597 <p>Respect any colors specified in the
<code>--format
</code> option. The
598 <em><when
></em> field must be one of
<code>always
</code>,
<code>never
</code>, or
<code>auto
</code> (if
599 <em><when
></em> is absent, behave as if
<code>always
</code> was given).
</p>
601 <dt class=
"hdlist1">-i
</dt>
602 <dt class=
"hdlist1">--ignore-case
</dt>
604 <p>Sorting and filtering tags are case insensitive.
</p>
606 <dt class=
"hdlist1">--omit-empty
</dt>
608 <p>Do not print a newline after formatted refs where the format expands
609 to the empty string.
</p>
611 <dt class=
"hdlist1">--column[=
<options
>]
</dt>
612 <dt class=
"hdlist1">--no-column
</dt>
614 <p>Display tag listing in columns. See configuration variable
615 <code>column.tag
</code> for option syntax.
<code>--column
</code> and
<code>--no-column
</code>
616 without options are equivalent to
<em>always
</em> and
<em>never
</em> respectively.
</p>
617 <div class=
"paragraph">
618 <p>This option is only applicable when listing tags without annotation lines.
</p>
621 <dt class=
"hdlist1">--contains [
<commit
>]
</dt>
623 <p>Only list tags which contain the specified commit (HEAD if not
624 specified). Implies
<code>--list
</code>.
</p>
626 <dt class=
"hdlist1">--no-contains [
<commit
>]
</dt>
628 <p>Only list tags which don
’t contain the specified commit (HEAD if
629 not specified). Implies
<code>--list
</code>.
</p>
631 <dt class=
"hdlist1">--merged [
<commit
>]
</dt>
633 <p>Only list tags whose commits are reachable from the specified
634 commit (
<code>HEAD
</code> if not specified).
</p>
636 <dt class=
"hdlist1">--no-merged [
<commit
>]
</dt>
638 <p>Only list tags whose commits are not reachable from the specified
639 commit (
<code>HEAD
</code> if not specified).
</p>
641 <dt class=
"hdlist1">--points-at
<object
></dt>
643 <p>Only list tags of the given object (HEAD if not
644 specified). Implies
<code>--list
</code>.
</p>
646 <dt class=
"hdlist1">-m
<msg
></dt>
647 <dt class=
"hdlist1">--message=
<msg
></dt>
649 <p>Use the given tag message (instead of prompting).
650 If multiple
<code>-m
</code> options are given, their values are
651 concatenated as separate paragraphs.
652 Implies
<code>-a
</code> if none of
<code>-a
</code>,
<code>-s
</code>, or
<code>-u
</code> <em><key-id
></em>
655 <dt class=
"hdlist1">-F
<file
></dt>
656 <dt class=
"hdlist1">--file=
<file
></dt>
658 <p>Take the tag message from the given file. Use
<em>-
</em> to
659 read the message from the standard input.
660 Implies
<code>-a
</code> if none of
<code>-a
</code>,
<code>-s
</code>, or
<code>-u
</code> <em><key-id
></em>
663 <dt class=
"hdlist1">--trailer
<token
>[(=|:)
<value
>]
</dt>
665 <p>Specify a (
<token
>,
<value
>) pair that should be applied as a
666 trailer. (e.g.
<code>git
</code> <code>tag
</code> <code>--trailer
</code> "Custom-Key: <code>value</code>"
667 will add a
"Custom-Key" trailer to the tag message.)
668 The
<code>trailer.
</code>* configuration variables
669 (
<a href=
"git-interpret-trailers.html">git-interpret-trailers(
1)
</a>) can be used to define if
670 a duplicated trailer is omitted, where in the run of trailers
671 each trailer would appear, and other details.
672 The trailers can be extracted in
<code>git
</code> <code>tag
</code> <code>--list
</code>, using
673 <code>--format=
</code>"%(<code>trailers</code>)" placeholder.
</p>
675 <dt class=
"hdlist1">-e
</dt>
676 <dt class=
"hdlist1">--edit
</dt>
678 <p>The message taken from file with
<code>-F
</code> and command line with
679 <code>-m
</code> are usually used as the tag message unmodified.
680 This option lets you further edit the message taken from these sources.
</p>
682 <dt class=
"hdlist1">--cleanup=
<mode
></dt>
684 <p>This option sets how the tag message is cleaned up.
685 The
<em><mode
></em> can be one of
<em>verbatim
</em>,
<em>whitespace
</em> and
<em>strip
</em>. The
686 <em>strip
</em> mode is default. The
<em>verbatim
</em> mode does not change message at
687 all,
<em>whitespace
</em> removes just leading/trailing whitespace lines and
688 <em>strip
</em> removes both whitespace and commentary.
</p>
690 <dt class=
"hdlist1">--create-reflog
</dt>
692 <p>Create a reflog for the tag. To globally enable reflogs for tags, see
693 <code>core.logAllRefUpdates
</code> in
<a href=
"git-config.html">git-config(
1)
</a>.
694 The negated form
<code>--no-create-reflog
</code> only overrides an earlier
695 <code>--create-reflog
</code>, but currently does not negate the setting of
696 <code>core.logAllRefUpdates
</code>.
</p>
698 <dt class=
"hdlist1">--format=
<format
></dt>
700 <p>A string that interpolates %(
<code>fieldname
</code>) from a tag ref being shown
701 and the object it points at. The format is the same as
702 that of
<a href=
"git-for-each-ref.html">git-for-each-ref(
1)
</a>. When unspecified,
703 defaults to %(
<code>refname:strip=
2</code>).
</p>
705 <dt class=
"hdlist1"><tagname
></dt>
707 <p>The name of the tag to create, delete, or describe.
708 The new tag name must pass all checks defined by
709 <a href=
"git-check-ref-format.html">git-check-ref-format(
1)
</a>. Some of these checks
710 may restrict the characters allowed in a tag name.
</p>
712 <dt class=
"hdlist1"><commit
></dt>
713 <dt class=
"hdlist1"><object
></dt>
715 <p>The object that the new tag will refer to, usually a commit.
716 Defaults to HEAD.
</p>
723 <h2 id=
"_configuration">CONFIGURATION
</h2>
724 <div class=
"sectionbody">
725 <div class=
"paragraph">
726 <p>By default,
<em>git tag
</em> in sign-with-default mode (-s) will use your
727 committer identity (of the form
<code>Your
</code> <code>Name
</code> <your@email.
<code>address
</code>>) to
728 find a key. If you want to use a different default key, you can specify
729 it in the repository configuration as follows:
</p>
731 <div class=
"listingblock">
732 <div class=
"content">
734 signingKey =
<gpg-key-id
></pre>
737 <div class=
"paragraph">
738 <p><code>pager.tag
</code> is only respected when listing tags, i.e., when
<code>-l
</code> is
739 used or implied. The default is to use a pager.
740 See
<a href=
"git-config.html">git-config(
1)
</a>.
</p>
745 <h2 id=
"_discussion">DISCUSSION
</h2>
746 <div class=
"sectionbody">
748 <h3 id=
"_on_re_tagging">On Re-tagging
</h3>
749 <div class=
"paragraph">
750 <p>What should you do when you tag a wrong commit and you would
753 <div class=
"paragraph">
754 <p>If you never pushed anything out, just re-tag it. Use
"-f" to
755 replace the old one. And you
’re done.
</p>
757 <div class=
"paragraph">
758 <p>But if you have pushed things out (or others could just read
759 your repository directly), then others will have already seen
760 the old tag. In that case you can do one of two things:
</p>
762 <div class=
"olist arabic">
766 Just admit you screwed up, and use a different name. Others have
767 already seen one tag-name, and if you keep the same name, you
768 may be in the situation that two people both have
"version X",
769 but they actually have
<em>different
</em> "X"'s. So just call it
"X.1"
770 and be done with it.
</p>
774 You really want to call the new version
"X" too,
<em>even though
</em>
775 others have already seen the old one. So just use
<em>git tag -f
</em>
776 again, as if you hadn
’t already published the old one.
</p>
780 <div class=
"paragraph">
781 <p>However, Git does
<strong>not
</strong> (and it should not) change tags behind
782 users back. So if somebody already got the old tag, doing a
783 <em>git pull
</em> on your tree shouldn
’t just make them overwrite the old
786 <div class=
"paragraph">
787 <p>If somebody got a release tag from you, you cannot just change
788 the tag for them by updating your own one. This is a big
789 security issue, in that people MUST be able to trust their
790 tag-names. If you really want to do the insane thing, you need
791 to just fess up to it, and tell people that you messed up. You
792 can do that by making a very public announcement saying:
</p>
794 <div class=
"listingblock">
795 <div class=
"content">
796 <pre>Ok, I messed up, and I pushed out an earlier version tagged as X. I
797 then fixed something, and retagged the *fixed* tree as X again.
799 If you got the wrong tag, and want the new one, please delete
800 the old one and fetch the new one by doing:
803 git fetch origin tag X
805 to get my updated tag.
807 You can test which tag you have by doing
811 which should return
0123456789abcdef.. if you have the new version.
813 Sorry for the inconvenience.
</pre>
816 <div class=
"paragraph">
817 <p>Does this seem a bit complicated? It
<strong>should
</strong> be. There is no
818 way that it would be correct to just
"fix" it automatically.
819 People need to know that their tags might have been changed.
</p>
823 <h3 id=
"_on_automatic_following">On Automatic following
</h3>
824 <div class=
"paragraph">
825 <p>If you are following somebody else
’s tree, you are most likely
826 using remote-tracking branches (eg.
<code>refs/remotes/origin/master
</code>).
827 You usually want the tags from the other end.
</p>
829 <div class=
"paragraph">
830 <p>On the other hand, if you are fetching because you would want a
831 one-shot merge from somebody else, you typically do not want to
832 get tags from there. This happens more often for people near
833 the toplevel but not limited to them. Mere mortals when pulling
834 from each other do not necessarily want to automatically get
835 private anchor point tags from the other person.
</p>
837 <div class=
"paragraph">
838 <p>Often,
"please pull" messages on the mailing list just provide
839 two pieces of information: a repo URL and a branch name; this
840 is designed to be easily cut
&pasted at the end of a
<em>git fetch
</em>
843 <div class=
"listingblock">
844 <div class=
"content">
845 <pre>Linus, please pull from
847 git://git..../proj.git master
849 to get the following updates...
</pre>
852 <div class=
"paragraph">
855 <div class=
"listingblock">
856 <div class=
"content">
857 <pre>$ git pull git://git..../proj.git master
</pre>
860 <div class=
"paragraph">
861 <p>In such a case, you do not want to automatically follow the other
862 person
’s tags.
</p>
864 <div class=
"paragraph">
865 <p>One important aspect of Git is its distributed nature, which
866 largely means there is no inherent
"upstream" or
867 "downstream" in the system. On the face of it, the above
868 example might seem to indicate that the tag namespace is owned
869 by the upper echelon of people and that tags only flow downwards, but
870 that is not the case. It only shows that the usage pattern
871 determines who are interested in whose tags.
</p>
873 <div class=
"paragraph">
874 <p>A one-shot pull is a sign that a commit history is now crossing
875 the boundary between one circle of people (e.g.
"people who are
876 primarily interested in the networking part of the kernel") who may
877 have their own set of tags (e.g.
"this is the third release
878 candidate from the networking group to be proposed for general
879 consumption with 2.6.21 release") to another circle of people
880 (e.g.
"people who integrate various subsystem improvements").
881 The latter are usually not interested in the detailed tags used
882 internally in the former group (that is what
"internal" means).
883 That is why it is desirable not to follow tags automatically in
886 <div class=
"paragraph">
887 <p>It may well be that among networking people, they may want to
888 exchange the tags internal to their group, but in that workflow
889 they are most likely tracking each other
’s progress by
890 having remote-tracking branches. Again, the heuristic to automatically
891 follow such tags is a good thing.
</p>
895 <h3 id=
"_on_backdating_tags">On Backdating Tags
</h3>
896 <div class=
"paragraph">
897 <p>If you have imported some changes from another VCS and would like
898 to add tags for major releases of your work, it is useful to be able
899 to specify the date to embed inside of the tag object; such data in
900 the tag object affects, for example, the ordering of tags in the
901 gitweb interface.
</p>
903 <div class=
"paragraph">
904 <p>To set the date used in future tag objects, set the environment
905 variable GIT_COMMITTER_DATE (see the later discussion of possible
906 values; the most common form is
"YYYY-MM-DD HH:MM").
</p>
908 <div class=
"paragraph">
911 <div class=
"listingblock">
912 <div class=
"content">
913 <pre>$
GIT_COMMITTER_DATE=
"2006-10-02 10:31" git tag -s v1.0
.1</pre>
920 <h2 id=
"_date_formats">DATE FORMATS
</h2>
921 <div class=
"sectionbody">
922 <div class=
"paragraph">
923 <p>The
<code>GIT_AUTHOR_DATE
</code> and
<code>GIT_COMMITTER_DATE
</code> environment variables
924 support the following date formats:
</p>
928 <dt class=
"hdlist1">Git internal format
</dt>
930 <p>It is
<em><unix-timestamp
></em> <em><time-zone-offset
></em>, where
931 <em><unix-timestamp
></em> is the number of seconds since the UNIX epoch.
932 <em><time-zone-offset
></em> is a positive or negative offset from UTC.
933 For example CET (which is
1 hour ahead of UTC) is
<code>+
0100</code>.
</p>
935 <dt class=
"hdlist1">RFC
2822</dt>
937 <p>The standard date format as described by RFC
2822, for example
938 <code>Thu,
</code> <code>07</code> <code>Apr
</code> <code>2005</code> <code>22:
13:
13</code> <code>+
0200</code>.
</p>
940 <dt class=
"hdlist1">ISO
8601</dt>
942 <p>Time and date specified by the ISO
8601 standard, for example
943 <code>2005-
04-
07T22:
13:
13</code>. The parser accepts a space instead of the
944 <code>T
</code> character as well. Fractional parts of a second will be ignored,
945 for example
<code>2005-
04-
07T22:
13:
13.019</code> will be treated as
946 <code>2005-
04-
07T22:
13:
13</code>.
</p>
947 <div class=
"admonitionblock note">
951 <div class=
"title">Note
</div>
954 In addition, the date part is accepted in the following formats:
955 <code>YYYY.MM.DD
</code>,
<code>MM/DD/YYYY
</code> and
<code>DD.MM.YYYY
</code>.
966 <h2 id=
"_files">FILES
</h2>
967 <div class=
"sectionbody">
970 <dt class=
"hdlist1"><code>$GIT_DIR/TAG_EDITMSG
</code></dt>
972 <p>This file contains the message of an in-progress annotated
973 tag. If
<code>git
</code> <code>tag
</code> exits due to an error before creating an
974 annotated tag then the tag message that has been provided by the
975 user in an editor session will be available in this file, but
976 may be overwritten by the next invocation of
<code>git
</code> <code>tag
</code>.
</p>
983 <h2 id=
"_notes">NOTES
</h2>
984 <div class=
"sectionbody">
985 <div class=
"paragraph">
986 <p>When combining multiple
<code>--contains
</code> and
<code>--no-contains
</code> filters, only
987 references that contain at least one of the
<code>--contains
</code> commits and
988 contain none of the
<code>--no-contains
</code> commits are shown.
</p>
990 <div class=
"paragraph">
991 <p>When combining multiple
<code>--merged
</code> and
<code>--no-merged
</code> filters, only
992 references that are reachable from at least one of the
<code>--merged
</code>
993 commits and from none of the
<code>--no-merged
</code> commits are shown.
</p>
998 <h2 id=
"_see_also">SEE ALSO
</h2>
999 <div class=
"sectionbody">
1000 <div class=
"paragraph">
1001 <p><a href=
"git-check-ref-format.html">git-check-ref-format(
1)
</a>.
1002 <a href=
"git-config.html">git-config(
1)
</a>.
</p>
1007 <h2 id=
"_git">GIT
</h2>
1008 <div class=
"sectionbody">
1009 <div class=
"paragraph">
1010 <p>Part of the
<a href=
"git.html">git(
1)
</a> suite
</p>
1016 <div id=
"footer-text">
1017 Last updated
2024-
05-
16 11:
09:
25 -
0700