참고 링크
위 링크를 참고하여 로컬 환경에서 gpg를 이용하여 commit하는 것을 진행했다.
다음 명령어를 통해 git에게 gpg를 사용할 것이란 것을 알려준다.
git config --global user.signingkey <GPG key id>
git config --global user.name <name>
git config --global user.email <email>
git config --global commit.gpgsign true
git config --global gpg.commit = <gpg.exe path>
내가 만난 오류는 다음과 같다.
gpg: skipped "<key id>": No secret key
gpg: signing failed: No secret key
error: gpg failed to sign the data
fatal: failed to write commit object
이 오류의 원인을 몇 가지 추려볼 수 있다
1. key id를 제대로 입력하지 않은 경우
cmd에 gpg --list-keys
를 통해 key id를 다시 확인해보자
2. 그 외 정보를 제대로 입력하지 않은 경우
나의 경우 git config --global gpg.commit = <gpg.exe path>
에서 오류가 났다.
옳바른 <gpg.exe. path>
를 입력해줘야 했는데 gpg
만 입력했다.
3. GPGHOME 설정이 오류
참고링크
위 링크를 참고하여 해결해보자
4. gpg-agent 실행하지 않음
gpg-agent --deamon
-> gpg의 agent 실행
한 번 비밀번호를 입력하여 commit 한 경우 바로 다음 commit할 경우 일정 시간 동안 비밀번호 입력 없이 바로 commit될 수 있다. 이 경우 시스템 보안 설정에 따라 달라지므로 관련 정보를 원하는 경우 더 깊이 찾아봐야 한다.