Skip to main content

커밋 서명

GPG, SSH 또는 S/MIME를 사용하여 로컬로 커밋에 서명할 수 있습니다.

참고: GitHub Desktop은 기본적으로 Git 클라이언트가 커밋에 서명하도록 구성된 경우에만 커밋 서명을 지원합니다.

Tip

로컬 리포지토리에 대한 커밋에 기본적으로 서명하도록 Git 클라이언트를 구성하려면 Git 버전 2.0.0 이상에서 git config commit.gpgsign true를 실행합니다. 컴퓨터의 모든 로컬 리포지토리에서 기본적으로 모든 커밋에 서명하려면 git config --global commit.gpgsign true을 실행합니다.

커밋에 서명할 때마다 입력할 필요가 없도록 GPG 키 암호를 저장하려면 다음 도구를 사용하는 것이 좋습니다.

  • Mac 사용자의 경우 GPG Suite를 사용하면 macOS 키체인에 GPG 키 암호를 저장할 수 있습니다.
  • Windows 사용자의 경우 Gpg4win은 다른 Windows 도구와 통합됩니다.

GPG 키 암호를 저장하도록 gpg-agent를 수동으로 구성할 수도 있지만, 이는 ssh-agent와 같은 macOS 키체인과 통합되지 않으며 더 많은 설정이 필요합니다.

키가 여러 개 있거나 커밋자 ID와 일치하지 않는 키로 커밋 또는 태그에 서명하려는 경우 서명 키에 대해 Git에 알리기를 해야 합니다.

  1. 로컬 분기에서 변경 내용을 커밋할 때 git 커밋 명령에 -S 플래그를 추가합니다.

    $ git commit -S -m "YOUR_COMMIT_MESSAGE"
    # Creates a signed commit
    
  2. GPG를 사용하는 경우 커밋을 만든 후 GPG 키를 생성할 때 설정한 암호를 입력합니다.

  3. 로컬로 커밋 만들기를 마쳤으면 GitHub에서 원격 리포지토리로 푸시합니다.

    $ git push
    # Pushes your local commits to the remote repository
    
  4. GitHub에서 끌어오기 요청으로 이동합니다.

  5. 끌어오기 요청에서 커밋을 클릭합니다.

    끌어오기 요청의 제목 및 탭 스크린샷. "커밋" 탭이 진한 주황색 윤곽선으로 표시되어 있습니다.

  6. 확인된 서명에 대한 자세한 정보를 보려면 확인됨을 클릭합니다.

    리포지토리에 대한 커밋 목록의 커밋 스크린샷. "확인됨"이 주황색 윤곽선으로 강조 표시됩니다.

추가 참고 자료