
간혹 깃에 코드 커밋 리스트를 보다보면 Verified 표시가 된 커밋 리스트를 확인할 수 있다.
뭔가 있어보이기는 한데... "이것"에 대해 알아보도록 하겠다.
Verified commit 의 필요성
Github를 사용하는 경우,
git config --global user.email 바꿀이메일주소
터미널/git bash에서 이런 문법으로 user.email / user.name 을 변경할 수 있게 된다.
고로 여러명이 동시적으로 개발하는 개발 환경에서 author 정보를 조작하여
내가 한 커밋이 아니더라도 나의 정보로 commit 이력이 남을 수 있다.. (문제)
-- SSO 인증으로 들어오는 git 또한 동일 / user.name 은 물론 user.email 이 변경 가능하다.
이것을 방지? 내가 진짜임을 '인증'하기 위해 commit에 서명을 붙혀 사용하게 된다.

적용 방법
1. GPG 설치
GPG(GNU Privacy Guard)란?
- PGP(Pretty Good Privacy)라는 이메일에 쓰이는 암호화 도구를 기반으로 만든 구현체(Software)
- 일반적으로 RSA를 사용하며, 이 외에 다양한 알고리즘을 지원.
설치 주소 : https://gnupg.org/download/index.html
GnuPG - Download
Note that you may also download the GNU Privacy Guard from a mirror site close to you. See our list of mirrors. The table below provides links to the location of the files on the primary server only. These are the canonical release forms of GnuPG. To use t
gnupg.org
2. GPG 서명
1. 터미널에 gpg --full-generate-key 입력'
github 서명의 경우 keysize 는 4096 으로 지정해야 한다.
$ gpg --full-generate-key
Please select what kind of key you want:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (sign only)
(4) RSA (sign only)
(14) Existing key from card
Your selection? 1
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (3072) 4096
Requested keysize is 4096 bits
Please specify how long the key should be valid.
0 = key does not expire
<n> = key expires in n days
<n>w = key expires in n weeks
<n>m = key expires in n months
<n>y = key expires in n years
Key is valid for? (0) 2y
Key does not expire at all
Is this correct? (y/N) y
GnuPG needs to construct a user ID to identify your key.
Real name: myoung
Email address: 사용할이메일