我目前有以下几点~/.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可以使用:Run Code Online (Sandbox Code Playgroud)$ git tag -m "commit message"如果
tag.gpgSign选项为真,将生成一个 GPG 签名标签,而Run Code Online (Sandbox Code Playgroud)$ git tag --no-sign -m "commit message"将跳过签名步骤。
在git config对标签现在包括:
tag.gpgSign:一个布尔值,用于指定是否所有标签都应该是 GPG 签名的。
在自动脚本中运行时使用此选项可能会导致大量标记被签名。
因此,使用代理可以方便地避免多次输入您的 gpg 密码。请注意,此选项不会影响由“
-u <keyid>”或“--local-user=<keyid>”选项启用的标记签名行为。