我目前有以下~/.gitconfig
:
[gpg]
program = /usr/local/bin/krgpg
[commit]
gpgSign = true
[tag]
forceSignAnnotated = true
提交要求我使用PGP签名:
git commit -m "Add package.json"
Krypton ▶ Requesting git commit signature from phone
但是,我只想签署我的标签,而跳过签署提交。
问:有没有办法配置git只对我的标签进行签名
我是说,除了化名:
$ git alias.tag 'tag -s'
2条答案
按热度按时间jucafojl1#
在Git 2.23(Q3 2019)中,你有了一个新的配置变量
tag.gpgSign
,它可以把“git tag -a
“变成“git tag -s
“!你可以通过以下命令默认启用它:参见Tigran Mkrtchyan (
tigran1999
)(2019年6月5日)。(由Junio C Hamano --
gitster
--合并至commit 492d7a5,2019年7月9日)tag:添加tag.gpgSign配置选项,以强制所有标记进行GPG签名
由于许多CI/CD工具不允许在执行
git tag
命令时控制命令行选项,因此配置文件中的默认值将允许在需要时强制标记签名。添加了新的配置文件选项
tag.gpgSign
,以定义标记签名的默认行为。要覆盖默认行为,可使用命令行选项
-s
、--sign
和--no-sign
:如果
tag.gpgSign
选项为真,则将生成GPG签名标记,而将跳过签名步骤。
git config
for标记现在包括:tag.gpgSign
:一个布尔值,用于指定是否所有标记都应该是GPG签名的。
在自动脚本中运行时使用此选项可能会导致对大量标记进行签名。
因此使用代理来避免多次输入你的gpg密码是很方便的。
请注意,此选项不影响由“
-u <keyid>
“或“--local-user=<keyid>
“选项启用的标记签名行为。gcuhipw92#
我想,这个问题已经很久没有答案了,我的解决方案是唯一的答案。设置一个git别名: