无法使用从其他机器导出的 GPG 密钥签署提交

Cannot sign commit with exported GPG key from other machine

我需要有关 git 中 gpg 密钥的帮助。 首先,我从 windows 导出密钥:

gpg --output backupkeys.pgp --armor --export-secret-keys --export-options export-backup user@email

然后 linux 我导入这个密钥

gpg --import backupkeys.pgp 

并从未知变为终极。这就是我将此密钥导入 linux 的方式。 但现在我需要将 gpg 密钥添加到 git,所以我这样做:

git config --global user.signingkey mySuperKey

但是当我可以创建提交时

git commit -S -m "Super Commit" 

我有这个输出

error: gpg failed to sign the data
fatal: failed to write commit object

不知道哪里出了问题

在尝试导出新的 GPG 密钥并稍后导入之后。我找到了这个问题的答案。

echo hello world | gpg -sa -u user@email

如果我尝试这个不显示这个:

gpg: signing failed: Inappropriate ioctl for device
gpg: [stdin]: clear-sign failed: Inappropriate ioctl for device

所以我需要做的就是:

export GPG_TTY=$(tty)