git는 GPG를 사용하여 서명
2826 단어 git/svn
GPG가 무엇인지 이해하려면 먼저 PGP를 알아야 한다.1991년 프로그래머 필 짐머먼은 정부 감시를 피하기 위해 암호화 소프트웨어 PGP를 개발했다.이 소프트웨어는 매우 유용하고 신속하게 전해져 많은 프로그래머들의 필수 도구가 되었다.그러나 그것은 상업 소프트웨어이기 때문에 자유롭게 사용할 수 없다.그래서 자유소프트웨어재단은 GnuPG라는 이름의 PGP 대체품을 개발하기로 했다.이것이 GPG의 유래다.
GPG 키 생성
mkdir ~/.gnupg #GPG
gpg --gen-key #
생성된 GPG 키 보기
gpg --list-keys #
gpg --list-secret-keys #
c:/Users/***/.gnupg\pubring.gpg
------------------------------------------
pub 2048R/E6FA5EAF 2015-08-25 [expires: 2025-08-22]
uid yourname (first pgp encrypt) @qq.com>
sub 2048R/41B91511 2015-08-25 [expires: 2025-08-22]
GPG 암호화 tag 사용
git tag -u "gpg-key-id" -m "tag comment" v2.0
# -u, --local-user # gpg keyId
gitconfig 구성
git config --global user.signingkey <GPG-key-id>
이제 탭에 서명하거나 제출할 수 있을 때, 실행할 때마다 키를 지정할 필요가 없습니다.
git commit -S -m "GPG-sign"
# -s --signoff , Signed-off-by
# -S[] , GPG .
git tag -s -m "GPG-sign tag"
# -s --sign , key
기본적으로 git log는 서명을 열거하거나 검증하지 않습니다.제출에 대응하는 서명을 표시하려면
--show-signature
옵션을 사용할 수 있습니다git log --show-signature
참조: - GPG 입문 강좌 - Git 사용 중의 교훈: 서명 제출 코드가 완전하고 신뢰할 수 있도록 확보