Hub documentation

GPG ile commit'leri imzalama

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

GPG ile commit'leri imzalama

git, bir depoya kimlerin commit gönderebileceğini kontrol etmek için bir kimlik doğrulama katmanına sahiptir, ancak asıl commit yazarlarını doğrulamaz.

Başka bir deyişle, değişikliklerinizi Elon Musk <elon@tesla.com> olarak commit edebilir, bunları tercih ettiğiniz git sunucusuna (örneğin github.com) push edebilir ve commit'iniz Elon'un GitHub profiline bağlanır. (Deneyin! Ama Elon'un sizi taklit ettiğiniz için size kızması durumunda bizi suçlamayın.)

GPG imzalama uygulamasının nedenleri şunlardı:

  • Özellikle giderek daha fazla Kurumsal kullanıcının Hub'a güvenmesi nedeniyle daha ince taneli güvenlik sağlamak için.
  • Kriptografik olarak güvenli bir kaynağa dayanan ML referans değerleri (benchmarks) sağlamak.

Daha fazla bağlam için Ale Segala'nın git commit'lerini nasıl (ve neden) imzalayacağınız başlıklı yazısına bakın.

GNU Privacy Guard (GPG) ve bir anahtar sunucusu kullanarak bir commit'in sizin tarafınızdan oluşturulduğunu kanıtlayabilirsiniz. GPG, bir mesajın kaynağının gerçekliğini doğrulamak için kullanılan kriptografik bir araçtır. Hugging Face üzerinde bunun nasıl yapılandırılacağını aşağıda açıklayacağız.

Pro Git kitabı, her zamanki gibi commit imzalama konusunda iyi bir kaynaktır: Pro Git: İşlerinizi imzalama.

İmzalı commit doğrulamasını yapılandırma

Aşağıdaki komutları çalıştırmak için sisteminizde GPG kurmanız gerekir.

Çoğu Linux dağıtımında varsayılan olarak dahildir. Windows'ta, git (Windows için) ile birlikte gelen Git Bash'te dahildir.

Yerel olarak GPG kullanarak commitlerinizi imzalayabilirsiniz. Ardından profilinizi yapılandırarak bu commitlerin Hub'da doğrulanmış olarak işaretlenmesini sağlayın, böylece diğer kişiler bu commitlerin güvenilir bir kaynaktan geldiğinden emin olabilir.

git ve GPG'nin nasıl etkileşime girdiğine dair daha ayrıntılı bir açıklama için lütfen git'in bu konudaki belgelerine göz atın.

Commit'ler aşağıdaki imzalama durumlarına sahip olabilir:

DurumAçıklama
DoğrulandıCommit imzalanmıştır ve imza doğrulanmıştır
DoğrulanmamışCommit imzalanmıştır ancak imza doğrulanamamıştır
İmzalama durumu yokCommit imzalı değil

Bir commit'in verified olarak işaretlenmesi için, imzalama işlemi için kullanılan genel anahtarı Hugging Face hesabınıza yüklemeniz gerekir.

Hem herkese açık hem de özel anahtara sahip olduğunuz GPG anahtarlarını listelemek için gpg --list-secret-keys komutunu kullanın. Commit veya tag imzalamak için özel anahtar gereklidir.

Elinizde bir GPG anahtar çifti yoksa veya mevcut anahtarlarınızı commit'lerinizi imzalamak için kullanmak istemiyorsanız, Yeni bir GPG anahtarı oluşturma bölümüne gidin.

Aksi takdirde, doğrudan Hesabınıza GPG anahtarı ekleme bölümüne gidin.

Yeni bir GPG anahtarı oluşturma

GPG anahtarı oluşturmak için şunu çalıştırın:

gpg --gen-key

GPG, ardından bir GPG anahtar çifti oluşturma sürecinde size rehberlik edecektir.

Bu anahtar için bir e-posta adresi belirttiğinizden ve bu e-posta adresinin Hugging Face hesabınızda belirttiğiniz e-posta adresiyle eşleştiğinden emin olun.

Hesabınıza GPG anahtarı ekleme

  1. Öncelikle bilgisayarınızda bir GPG anahtarı seçin veya oluşturun. Anahtarın e-posta adresinin Hugging Face hesabınızdaki e-posta adresiyle eşleştiğinden ve hesabınızın e-posta adresinin doğrulandığından emin olun.

  2. Seçilen anahtarın herkese açık kısmını dışa aktarın:

gpg --armor --export <YOUR KEY ID>
  1. Ardından profil ayarlar sayfanızı ziyaret edin ve GPG Anahtarı Ekle seçeneğine tıklayın.

gpg --export komutunun çıktısını kopyalayıp yapıştırma alanına yapıştırın ve Anahtar Ekle düğmesine tıklayın.

  1. Tebrikler! 🎉 Hesabınıza bir GPG anahtarı eklediniz!

Git'i GPG ile commit'lerinizi imzalamak için yapılandırın

Son adım, git'i commit'lerinizi imzalamak için yapılandırmaktır:

git config user.signingkey <Your GPG Key ID>
git config user.email <Your email on hf.co>

Ardından, commit'lerinizi imzalamak için git commit komutlarınıza -S bayrağını ekleyin!

git commit -S -m "My first signed commit"

Hub'a gönderildikten sonra, commit'in "Verified" rozetiyle göründüğünü fark etmelisiniz.

Bilgisayarınızdaki herhangi bir yerel depoda varsayılan olarak tüm commit'leri imzalamak için git config —global commit.gpgsign true komutunu çalıştırabilirsiniz.

Update on GitHub