2

关于该主题已经有一个更通用的线程,在签署 git commits 时记住 GPG 密码,但那里的答案对我不起作用。我的环境是:

  • Mac (macOS@10.15.7)
  • Bash(macOS 自带的默认设置)
  • git v2.27.0
  • GnuPG v2.2.20 (libgcrypt 1.8.5)

我通过 Homebrew 安装了 GnuPG,并将以下设置写入~/.gnupg/gpg-agent.conf文件:

default-cache-ttl 1209600 # 14 days
max-cache-ttl 31536000 # 1 year

但未应用缓存。每隔十分钟左右git commit,gpg 就会提示我再次输入密码。

这是我的全局.gitignore文件:

[commit]
    gpgSign = true

我错过了什么?

4

1 回答 1

3

在我的个人设置中,我已将签名密钥添加到用户部分。

[user]
name = "Marco Franssen"
email = "marco@my-email.com"
signingkey = 63B0C3B53E26....

[commit]
gpgSign = true

此外,我在 oh-my-zsh 中有以下插件。( ~/.zshrc)

plugins=(git keychain gpg-agent)

zstyle :omz:plugins:keychain agents ssh,gpg
zstyle :omz:plugins:keychain identities id_rsa 63B0C3B53E2....

这个插件为我的 ssh 和 gpg 密钥启动一个代理。

此外,我添加了以下文件

$ cat ~/.gnupg/gpg-agent.conf
default-cache-ttl 3600

对于 Bash,您可以将以下内容添加到您的~/.bashrc.

https://github.com/ohmyzsh/ohmyzsh/blob/master/plugins/gpg-agent/gpg-agent.plugin.zsh

于 2020-11-11T16:35:23.360 回答