git - 默认情况下,如何将 git 配置为 PGP 签署我的标签(不是我的提交)
问题描述
我目前有以下内容~/.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'
解决方案
使用 Git 2.23(2019 年第三季度),您现在有了一个新的tag.gpgSign
配置变量,它将“ git tag -a
”变成“ git tag -s
”!
请参阅Tigran Mkrtchyan ( ) 的提交 1c6b565(2019 年 6 月 5 日)。(由Junio C Hamano 合并 -- --在提交 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"
tag.gpgSign
如果选项为真,将生成一个 GPG 签名标签,而$ git tag --no-sign -m "commit message"
将跳过签名步骤。
git config
for 标签现在包括:
tag.gpgSign
:一个布尔值,用于指定是否所有标签都应进行 GPG 签名。
在自动脚本中运行时使用此选项可能会导致大量标签被签名。
因此,使用代理可以很方便地避免多次输入 gpg 密码。请注意,此选项不会影响由“
-u <keyid>
”或“--local-user=<keyid>
”选项启用的标签签名行为。
推荐阅读
- reactjs - 在 react-native 中的 useEffect 之前获取用户位置
- javascript - 将值限制为 Node.js 中的变量
- python - 如何使用 python 多次重复此脚本
- sql - 循环卡在 Trigger postgresql 上
- google-apps-script - 外出 G Suite 脚本
- vba - MS Access 一个表单以选择表值并用于填充其他表单上的多个字段?
- phpmyadmin - 如何将 phpMyAdmin 连接到 Ampps 中的数据库?
- exoplayer2.x - Exoplayer 离线播放与 DRM
- loops - 树枝 | 在 if 条件中访问 for 循环的索引(添加到字符串)
- python - Pandas 网络分析