magit으로 커밋을 자동으로 서명하는 방법은 무엇입니까?


13

각 커밋을 GPG 키로 서명하는 데 관심이 있습니다. git과 인터페이스하기 위해 magit을 사용했기 때문에 각 커밋에 서명하도록 magit에 알리는 것이 가능한지 궁금했습니다 (또는 적어도 이것을 달성하기위한 해결 방법은 가능했습니다).


Git은 커밋 서명을 지원합니까? 나는 ... 태그 만이 서명 될 수 있다고 생각
lunaryorn

1
@lunaryorn git commit -S[<keyid>], --gpg-sign[=<keyid>]. 각 커밋에 서명해야하는 이유는 하나 이상 있습니다. 커밋이 생각한 사람의 커밋에 대한 강력한 증거가 있어야합니다. 서명 태그는 기록 변경 만 감지 할 수 있습니다.
Nsukami _

@Nsukami_That이 내 질문에 대답하지 않습니까?
lunaryorn

@lunaryorn 질문에 대한 답변이 없으면 죄송합니다. 네, 힘내 지원 커밋 서명
Nsukami _

답변:


20

Magit에서 커밋은 커밋 팝업 ( c)을 사용하여 생성됩니다 . 따라서 해당 팝업은 gpg 지원을 찾기에 좋은 장소입니다. 그렇게하면 다음을 찾을 수 있습니다.

=S Sign using gpg (--gpg-sign=)

입력 = S하고 키를 선택하십시오. 커밋을 만들 때마다 그렇게하지 않으려면을 사용하여 해당 인수 (및 현재 설정된 다른 모든 인수)의 값을 저장할 수 있습니다 C-x C-s.

매번 암호 문구를 입력해야 할 수도 있습니다. gpg-agent를 시작하지 말고 keychain쉘 스크립트와 keychain-environmentEmacs 패키지를 사용하여 Emacs가 알고 있어야 합니다.

또한 --show-signature로깅 팝업에서 인수를 보고 설정하십시오 .


이 변경 transient되었습니까?
tejasbubane

1
이 인수는 기본적으로 숨겨져 있습니다. 임시 알림은 "레벨"을 변경하여 표시하는 방법을 설명합니다.
tarsius

경우 사람의 비틀 거림이 여기 찾고 : magit.vc/manual/transient/Enabling-and-Disabling-Suffixes.html
tejasbubane

@ tarsius 나는 레벨을 바꿀 수없는 것 같습니다. 그 일을 어떻게 설정합니까? 감사합니다.
e18r

tejasbubane이 링크 한 문서의 어느 부분이 불분명합니까?
tarsius

15

당신 $HOME/.gitconfig이나 당신의 이것을 시도.git/config

[user]
    email = YourEmail
    name = YourName
    signingkey = XXXXXXXX
[commit]
    gpgsign = true

그런 다음 평소처럼 커밋하십시오.


이 답변은 리포지토리 당 키를 설정할 수 있다는 이점이 있습니다. magit의 =S옵션이 키를 설정 $HOME/.gitconfig하므로 모든 리포지토리에서 동일합니다.
ph0t0nix
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.