Git 签名提交 - 如何抑制 "You need a passphrase to unlock the secret key..."
Git signed commits - How to suppress "You need a passphrase to unlock the secret key..."
我更改了全局 Git 配置以签署所有提交。我也使用 gpg-agent 这样我就不用每次都输入密码了。
现在每次我进行新的提交时,我都会看到以下五行打印到我的控制台:
[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
在 Fedora 25
.
Git version 1.8.3.1
上接受的答案对我不起作用
什么有效?
通过
检查gpg-agent
是否为运行
$ gpg-agent
确保 gpg-agent
缓存中有您的密码。为确保它在那里,请对当前目录中的任何文件进行签名。如果密码短语不在缓存中,现在将询问它。
$ gpg -s any-file.txt
别忘了删除新生成的签名any-file.txt.gpg
$ rm any-file.txt.gpg
现在,使用 Git 签署提交现在可以通过从 gpg-agent 获取所需的密码来工作。
$ git commit -S -m 'my commit message'
我更改了全局 Git 配置以签署所有提交。我也使用 gpg-agent 这样我就不用每次都输入密码了。
现在每次我进行新的提交时,我都会看到以下五行打印到我的控制台:
[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
在 Fedora 25
.
version 1.8.3.1
上接受的答案对我不起作用
什么有效?
通过
检查gpg-agent
是否为运行$ gpg-agent
确保
gpg-agent
缓存中有您的密码。为确保它在那里,请对当前目录中的任何文件进行签名。如果密码短语不在缓存中,现在将询问它。
$ gpg -s any-file.txt
别忘了删除新生成的签名
any-file.txt.gpg
$ rm any-file.txt.gpg
现在,使用 Git 签署提交现在可以通过从 gpg-agent 获取所需的密码来工作。
$ git commit -S -m 'my commit message'