Taahhütleri magit ile otomatik olarak nasıl imzalayabilirim?


13

Taahhütlerimin her birinin GPG anahtarımla imzalanmasını istiyorum. Git ile arayüz oluşturmak için magit kullandığım için, magit'e her bir taahhüdü imzalamalarını söylemenin mümkün olup olmadığını merak ettim (ya da en azından bunu başarmak için bazı geçici çözümler).


Git taahhüt işlemini imzalamayı bile destekliyor mu? Sadece etiketlerin imzalanabileceğini düşündüm…
lunaryorn

1
@lunaryorn git commit -S[<keyid>], --gpg-sign[=<keyid>]. Her bir taahhüdü imzalamanın en az bir nedeni vardır: taahhüdün yaptığını sandığınız kişiden geldiğine dair daha güçlü kanıtlara sahip olmak. Etiketleri imzalamak yalnızca geçmiş değişikliklerini algılamanıza olanak tanır.
Nsukami _

@Nsukami_That sorumu cevaplamıyor, değil mi?
lunaryorn

@lunaryorn Sorunuzu cevaplamıyorsa özür dileriz. Evet, Git imzalamayı
Nsukami _

Yanıtlar:


20

Magit'te taahhütler, taahhütte bulunan açılır pencere ( c) kullanılarak oluşturulur . Bu açılır pencere bu nedenle gpg desteği aramaya başlamak için iyi bir yer olacaktır. Bunu yaparsanız, bunu bulacaksınız:

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

Yani = Sbir anahtar yazın ve seçin. Her taahhütte bulunduğunuzda bunu yapmaktan kaçınmak için bu bağımsız değişkenin (ve şu anda ayarlanmış olan tüm bağımsız değişkenlerin) değerini kullanarak kaydedebilirsiniz C-x C-s.

Yine de parolayı her seferinde yazmanız gerekebilir. Bundan kaçınmak için bir gpg aracısı başlatmalı ve Emacs'ın bunu bildiğinden emin olmalısınız, örneğin keychainkabuk betiğini ve keychain-environmentEmacs paketini kullanma.

Ayrıca --show-signaturegünlüğe kaydetme açılır penceresinde argümanı görün ve ayarlayın .


Bu değiştirildi transientmi?
tejasbubane

1
Bu bağımsız değişken artık varsayılan olarak gizlidir. Geçici duyuru, "seviye" yi değiştirerek nasıl gösterileceğini açıklar.
tarsius


@tarsius Seviyeyi değiştiremiyorum. Bunu nasıl yapabilirim? Teşekkür ederim.
e18r

Tejasbubane ile bağlantılı belgelerin hangi kısmı belirsizdir?
tarsius

15

Bunu sizin $HOME/.gitconfigveya.git/config

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

O zaman her zamanki gibi çalışın.


Bu yanıtın her depo için bir anahtar ayarlayabilme avantajı vardır. Magit'in =Sseçeneği anahtarı içeriyor gibi görünüyor $HOME/.gitconfig, bu yüzden tüm depolarınız için aynı.
ph0t0nix
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.