git commit - gpg 无法签署数据,但可以从控制台工作
git commit - gpg failed to sign the data, but works from console
我知道有很多类似的问题,但基本上,git commit
给了我
error: gpg failed to sign the data
fatal: failed to write commit object
但是,感谢 ,我可以先在命令行中通过 gpg 签署一个随机文件来签署提交。这有效,但很烦人。为什么我必须这样做?
我正在使用 Manjaro KDE。
您可能希望使用
为 Git 指定 GPG 程序
git config --global gpg.program gpg2
并为所有提交启用签名(否则,将 -s
添加到每个 Git 命令)
git config --global commit.gpgsign true
使用gpg --list-keys
找到你的密钥并在Git中指定使用这个密钥:
git config --global user.signingkey <Your GPG Key>
当你执行 git commit
.
时,GPG 会要求输入密码
参考:https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work
感谢 Alvin Tang 给我如此简单的解决方案!
我只需要添加这两行:
GPG_TTY=$(tty)
export GPG_TTY
位于文件底部 ~/.bashrc
。
我知道有很多类似的问题,但基本上,git commit
给了我
error: gpg failed to sign the data
fatal: failed to write commit object
但是,感谢
我正在使用 Manjaro KDE。
您可能希望使用
为 Git 指定 GPG 程序git config --global gpg.program gpg2
并为所有提交启用签名(否则,将 -s
添加到每个 Git 命令)
git config --global commit.gpgsign true
使用gpg --list-keys
找到你的密钥并在Git中指定使用这个密钥:
git config --global user.signingkey <Your GPG Key>
当你执行 git commit
.
参考:https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work
感谢 Alvin Tang 给我如此简单的解决方案!
我只需要添加这两行:
GPG_TTY=$(tty)
export GPG_TTY
位于文件底部 ~/.bashrc
。