默认情况下,如何将 git 配置为 PGP 签署我的标签(不是我的提交)

Ami*_*ani 4 git

我目前有以下几点~/.gitconfig

[gpg]
    program = /usr/local/bin/krgpg
[commit]
    gpgSign = true
[tag]
    forceSignAnnotated = true
Run Code Online (Sandbox Code Playgroud)

提交要求我使用 PGP 进行签名:

git commit -m "Add package.json"
Krypton ? Requesting git commit signature from phone
Run Code Online (Sandbox Code Playgroud)

但是,我只想签署我的标签,并跳过签署提交。

问题:有什么办法可以让我配置 git 来只签署我的标签

我的意思是,没有别名:

$ git alias.tag 'tag -s'
Run Code Online (Sandbox Code Playgroud)

Von*_*onC 12

在 Git 2.23(2019 年第 3 季度)中,您现在有了一个新的tag.gpgSign配置变量,它将“ git tag -a”变成“ git tag -s”!

请参阅Tigran Mkrtchyan ( ) 的commit 1c6b565 (05 Jun 2019 )(由Junio C Hamano合并-- --commit 492d7a5,2019 年 7 月 9 日)tigran1999
gitster

tag:添加 tag.gpgSign 配置选项以强制所有标签进行 GPG 签名

由于许多 CI/CD 工具在执行git tag命令时不允许控制命令行选项,因此配置文件中的默认值将允许在需要时强制执行标记签名。

tag.gpgSign添加了新的配置文件选项以定义标签签名的默认行为。
要覆盖默认行为的命令行选项-s--sign并且--no-sign可以使用:

$ git tag -m "commit message"
Run Code Online (Sandbox Code Playgroud)

如果tag.gpgSign选项为真,将生成一个 GPG 签名标签,而

$ git tag --no-sign -m "commit message"
Run Code Online (Sandbox Code Playgroud)

将跳过签名步骤。

git config对标签现在包括:

tag.gpgSign

一个布尔值,用于指定是否所有标签都应该是 GPG 签名的。

在自动脚本中运行时使用此选项可能会导致大量标记被签名。
因此,使用代理可以方便地避免多次输入您的 gpg 密码。

请注意,此选项不会影响由“ -u <keyid>”或“ --local-user=<keyid>”选项启用的标记签名行为。