Git 总是要求我在使用签名提交时输入密码来解锁我的密钥。
git commit -S -m 'message'
如何将密码存储在缓存中,以便我不必在签署提交时每次都输入密码
Git 永远不会掌握 GnuPG 密码。您必须依赖 GnuPG 的缓存密码短语的功能,这是通过gpg-agent
通过编辑即可轻松设置~/.gnupg/gpg-agent.conf
(隐藏在你的某个地方AppData
Windows 中的文件夹)。
Set default-cache-ttl
每次调用 GnuPG 后缓存密码的秒数。maximum-cache-ttl
设置最初输入密码后擦除缓存的时间。确保ignore-cache-for-signing
未设置——否则 GnuPG 将忽略签名操作的缓存。
如果您想在没有任何用户交互的情况下签署提交,您可以通过以下方式预填充缓存gpg-preset-passphrase
,通常隐藏在某个位置的某个地方,例如/usr/lib/gnupg2/gpg-preset-passphrase
;或者通过运行任意解密或签名操作。您还可以将 git 配置为使用类似的选项--passphrase [your passphrase]
传递给gpg
,但请阅读此方法的限制和安全影响(它涉及您的密码以明文形式存储在某处)。
完整的选项列表是here https://www.gnupg.org/documentation/manuals/gnupg/Agent-Options.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)