
이 오류에 대해 전 세계를 검색했지만 유용한 힌트를 찾을 수 없습니다.
keybase를 사용하여 키를 생성하고 공개 키를 github gpg에 추가했습니다.
내꺼 gpg --list-secret-keys --keyid-format LONG
는 이거다
--------------------------------
sec rsa4096/7E8*******60B47B 2021-03-06 [SC] [expires: 2037-03-02]
51FBCD0E******************014D4860B47B
uid [ultimate] Fatih <********@live.be>
uid [ultimate] Fatih <[email protected]>
ssb rsa4096/15BBF8A123C4AC1B 2021-03-06 [E] [expires: 2037-03-02]
내 거.gitconfig is this
[user]
signingkey = 7E8*******60B47B
email = [email protected]
name = kgnfth
[commit]
gpgsign = true
[gpg]
program = gpg
export GPG_TTY=$(tty)
내 .zshrc 파일에 추가했습니다.
git commit -m "first commit" 을 실행할 때마다 이 오류가 발생합니다.
error: gpg failed to sign the data
fatal: failed to write commit object
서명 키에 문제가 없습니다. 또한 gpg를 gpg2로 변경해 보았으나 동일한 오류가 발생했습니다.
네 도움이 필요한지 몰랐어
감사해요.
답변1
허용되는 답변에 따르면 gpg-agent를 zsh 플러그인에 추가하면 문제가 해결됩니다. 나중에 내보내기 GPG_TTY
만 하면 충분하다는 것을 알았습니다 .
.zshrc 또는 .zprofile에 다음 줄을 추가합니다(선호).
export GPG_TTY=$TTY
추가 세부 사항을 위해 gpg는 현재 사용 중인 터미널이 아닌 다른 외부 소스에 핀 입력 프로세스를 출력하는 것으로 보입니다.텔레타이프라이터현재 터미널에 대한 참조를 저장하여 다음과 같이 내보냅니다.GPG_TTY이 경우 문제가 해결되었습니다.
답변2
zshrc 구성 파일에 gpg-agent 플러그인을 추가하여 문제를 해결했습니다.