서명된 커밋
커밋에 디지털 서명을 추가하면 커밋이 가장한 사람이 아닌 실제로 당신이 만든 것임을 확실하게 보증합니다. 디지털 서명은 신원을 확인하는 데 사용되는 암호화된 출력물입니다. 만일 GitLab이 공개 GPG 키로 커밋 작성자의 신원을 확인할 수 있다면, 해당 커밋은 GitLab UI에서 검증됨(Verified)으로 표시됩니다. 그런 다음 프로젝트에 대한 푸시 규칙을 구성하여 개별 미서명 커밋 또는 검증되지 않은 사용자로부터의 모든 커밋을 거부할 수 있습니다.
다음 중 하나로 커밋에 서명하세요: - SSH 키. - GPG 키. - 개인 x.509 인증서.
커밋 확인
병합 요청이나 프로젝트 전체의 커밋을 검토하여 그것들이 서명되었는지 확인하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 커밋을 검토하려면:
- 프로젝트의 경우, 코드 > 커밋을 선택합니다.
- 병합 요청의 경우:
- 코드 > 병합 요청을 선택한 후 병합 요청을 선택합니다.
- 커밋을 선택합니다.
-
검토하려는 커밋을 식별합니다. 서명의 검증 상태에 따라 서명된 커밋은 검증됨(Verified) 또는 검증되지 않음(Unverified) 뱃지로 표시됩니다.
미서명 커밋은 뱃지가 표시되지 않습니다.
-
커밋에 대한 서명 세부 정보를 표시하려면 검증됨(Verified) 또는 검증되지 않음(Unverified)을 선택하여 지문 또는 키 ID를 확인할 수 있습니다:
커밋의 서명을 확인하려면 또한 커밋 API를 사용할 수 있습니다.
웹 UI에서 확인된 커밋 사용
GitLab은 웹 UI를 통해 만든 커밋에 SSH를 사용하여 서명합니다. 로컬에서 이러한 커밋을 확인하려면, 웹 커밋에 대한 GitLab 공개 키를 얻어와야 합니다. 이를 위해 웹 커밋 API를 사용하세요.
확인된 커밋에 gitmailmap 사용
- GitLab 17.5에서 도입됨. 기본적으로 비활성화됨.
플래그: 이 기능의 이용 가능성은 기능 플래그에 의해 제어됩니다. 자세한 정보는 역사를 참조하세요.
gitmailmap
기능은 사용자가 작성자 이름과 이메일 주소를 매핑하도록 허용합니다.
GitLab은 이러한 이메일 주소를 사용하여 커밋 작성자에 대한 링크를 제공합니다.
mailmap
작성자 매핑을 사용할 때 mailmap
작성자 매핑을 사용하면 검증된 커밋과 검증되지 않은 작성자 이메일이 있는 경우가 있을 수 있습니다.
mailmap
작성자 매핑이 있는 SSH 서명의 경우, GitLab은 경고 표시가 있는 주황색 검증된 레이블을 표시합니다.
초록색 검증된 레이블을 복원하려면 매핑된 이메일 주소를 확인하거나 mailmap
항목을 제거하세요.
문제 해결
서명된 커밋의 확인 문제 해결
GPG 키 또는 X.509 인증서로 서명된 커밋의 확인 프로세스는 여러 이유로 실패할 수 있습니다:
값 | 설명 | 가능한 해결 방법 |
---|---|---|
UNVERIFIED
| 커밋 서명이 유효하지 않습니다. | 유효한 서명으로 커밋을 서명하세요. |
SAME_USER_DIFFERENT_EMAIL
| 커밋을 서명한 GPG 키에 커미터 이메일이 포함되어 있지 않지만, 커미터를 위한 다른 유효한 이메일이 포함되어 있습니다. | GPG 키로 이메일 주소가 일치하는 커밋을 수정하거나, GPG 키를 이메일 주소를 포함하도록 업데이트하세요. |
OTHER_USER
| 서명과 GPG 키는 유효하지만, 키는 커미터가 아닌 다른 사용자에게 속합니다. | 이메일 주소를 올바른 것으로 수정하거나, 사용자와 관련된 GPG 키를 사용하도록 커밋을 수정하세요. |
UNVERIFIED_KEY
| GPG 서명과 연관된 키에는 커미터와 관련된 확인된 이메일 주소가 없습니다. | GitLab 프로필에 이메일을 추가하고 확인하세요, 이메일 주소를 포함하도록 GPG 키를 업데이트하세요, 또는 다른 커미터 이메일 주소로 커밋을 수정하세요. |
UNKNOWN_KEY
| 이 커밋의 GPG 서명과 연관된 GPG 키가 GitLab에 알려지지 않았습니다. | GitLab 프로필에 GPG 키를 추가하세요. |
MULTIPLE_SIGNATURES
| 커밋에 여러 GPG 또는 X.509 서명이 발견되었습니다. | 한 개의 GPG 또는 X.509 서명만 사용하도록 커밋을 수정하세요. |