@@ -3,7 +3,7 @@ git-tag(1)
3
3
4
4
NAME
5
5
----
6
- git-tag - Create, list, delete or verify a tag object signed with GPG
6
+ git-tag - Create, list, delete or verify tags
7
7
8
8
9
9
SYNOPSIS
@@ -38,17 +38,18 @@ and `-a`, `-s`, and `-u <key-id>` are absent, `-a` is implied.
38
38
Otherwise, a tag reference that points directly at the given object
39
39
(i.e., a lightweight tag) is created.
40
40
41
- A GnuPG signed tag object will be created when `-s` or `-u
42
- <key-id >` is used. When ` -u <key-id >` is not used, the
43
- committer identity for the current user is used to find the
44
- GnuPG key for signing. The configuration variable `gpg.program`
45
- is used to specify custom GnuPG binary.
41
+ A cryptographically signed tag object will be created when `-s` or
42
+ `-u <key-id>` is used. The signing backend (GPG, X.509, SSH, etc.) is
43
+ controlled by the `gpg.format` configuration variable, defaulting to
44
+ OpenPGP. When `-u <key-id>` is not used, the committer identity for
45
+ the current user is used to find the key for signing. The
46
+ configuration variable `gpg.program` is used to specify a custom
47
+ signing binary.
46
48
47
49
Tag objects (created with `-a` , `-s` , or `-u` ) are called "annotated"
48
50
tags; they contain a creation date, the tagger name and e-mail, a
49
- tagging message, and an optional GnuPG signature. Whereas a
50
- "lightweight" tag is simply a name for an object (usually a commit
51
- object).
51
+ tagging message, and an optional signature. Whereas a "lightweight"
52
+ tag is simply a name for an object (usually a commit object).
52
53
53
54
Annotated tags are meant for release while lightweight tags are meant
54
55
for private or temporary object labels. For this reason, some git
@@ -68,14 +69,22 @@ OPTIONS
68
69
The default behavior of tag GPG-signing is controlled by `tag.gpgSign`
69
70
configuration variable if it exists, or disabled otherwise.
70
71
See linkgit:git-config[1].
72
+ Make a signed tag, using the default signing key. The signing
73
+ backend used depends on the `gpg.format` configuration
74
+ variable. The default key is determined by the backend. For
75
+ GPG, it's based on the committer's email address, while for
76
+ SSH it may be a specific key file or agent identity. See
77
+ linkgit:git-config[1].
71
78
72
79
`--no-sign` ::
73
80
Override `tag.gpgSign` configuration variable that is
74
81
set to force each and every tag to be signed.
75
82
76
83
`-u <key-id>` ::
77
84
`--local-user=<key-id>` ::
78
- Make a GPG-signed tag, using the given key.
85
+ Make a signed tag using the given key. The format of the
86
+ <key-id > and the backend used depend on the `gpg.format`
87
+ configuration variable. See linkgit:git-config[1].
79
88
80
89
`-f` ::
81
90
`--force` ::
@@ -88,6 +97,7 @@ OPTIONS
88
97
`-v` ::
89
98
`--verify` ::
90
99
Verify the GPG signature of the given tag names.
100
+ Verify the signature of the given tag names.
91
101
92
102
`-n<num>` ::
93
103
_<num>_ specifies how many lines from the annotation, if any,
@@ -235,12 +245,25 @@ it in the repository configuration as follows:
235
245
236
246
-------------------------------------
237
247
[user]
238
- signingKey = <gpg- key-id>
248
+ signingKey = <key-id>
239
249
-------------------------------------
240
250
251
+ The signing backend is controlled by the `gpg.format` configuration
252
+ variable, which defaults to `openpgp` for GPG signing. To sign tags
253
+ using other technologies like X.509 or SSH, set this variable to
254
+ `x509` or `ssh` respectively.
255
+
256
+ You can also specify the path to the signing program for each
257
+ format. The `gpg.program` variable (or its synonym
258
+ `gpg.openpgp.program` ) is used for the OpenPGP backend. For other
259
+ backends, the configuration is `gpg.<format>.program` , for example
260
+ `gpg.ssh.program` for SSH signing.
261
+
241
262
`pager.tag` is only respected when listing tags, i.e., when `-l` is
242
263
used or implied. The default is to use a pager.
243
- See linkgit:git-config[1].
264
+
265
+ See linkgit:git-config[1] for more details and other configuration
266
+ variables.
244
267
245
268
DISCUSSION
246
269
----------
0 commit comments