Skip to main content

커밋 서명

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

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

:

로컬 리포지토리에 대한 커밋에 기본적으로 서명하도록 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. 확인된 서명에 대한 자세한 정보를 보려면 확인됨을 클릭합니다.

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

추가 참고 자료