我更改了我的全局 Git 配置以对所有提交进行签名。我还使用 gpg 代理,这样我就不必每次都输入密码。
现在,每次我进行新提交时,我都会看到以下五行打印到我的控制台:
[blank line]
You need a passphrase to unlock the secret key for
user: "John Doe <mail@gmail.com>"
2048-bit RSA key, ID ABCDEF12, created 2016-01-01
[blank line]
更糟糕的是,当我进行简单的存储时,此消息会打印两次,不必要地填满我的控制台(我假设创建的两个提交对象中的每一个都有一个)。
有没有办法抑制此输出?
这与其说是 git 问题,不如说是 gpg 配置问题。
由于您使用的是代理,因此您可以将no-tty
添加到gpg.conf
中作为解决方法。
echo 'no-tty' >> ~/.gnupg/gpg.conf
(这似乎比--batch
选项更好)
接受的答案对我不起作用 Git version 1.8.3.1
on Fedora 25
.
什么有效?
-
检查
gpg-agent
是否正在运行
$ gpg-agent
-
确保
gpg-agent
缓存中有您的密码短语。要确保它在那里,请对当前目录中的任何文件进行签名。如果密码不在缓存中,则现在将询问密码。
$ gpg -s any-file.txt
-
不要忘记删除新生成的签名
any-file.txt.gpg
$ rm any-file.txt.gpg
-
现在,使用 Git 对提交进行签名现在可以通过从 gpg 代理获取所需的密码来工作。
$ git commit -S -m 'my commit message'