Github reponuzda yaptığınız değişikliklerin gerçekten siz tarafından yapıldığını göstermek için GPG gibi bir anahtar doğrulamasına ihtiyacınız var. Eğer Github hesabınızda, Ayarlar kısmında yer alan SSH and GPG Keys sayfasında Vigilant Mode seçeneğini seçerseniz, reponuzdaki commitlerin yanında bir tag kutusu belirecektir. Eğer SSH veya GPG gibi bir anahtar doğrulama mekanizması kullanmıyorsanız şu şekilde bir görselle karşılaşacaksınız
Bu unverified etiketi, gönderilen commitlerin doğrulanmadığını gösteriyor. O yüzden yerel bilgisayarımızda bir GPG ve SSH key oluşturmalı, bunu github'a bildirmeli ve commitlerimizin artık bu key ile imzalanacağını git programında ayarlamalıyız. Ben GPG key kullanacağım. O yüzden bu şekilde anlatıyorum. GPG keylerde son kullanma tarihi var. Öyleyse başlayalım.
Öncelikle yerel bilgisayarınıza git kurmalısınız. Şuradan kendi işletim sistemimize uygun olanı indiriyoruz. Kurulumdan sonra git bash ve git gui kullanılabilir hale gelecektir. Git reponuzun olduğu klasörde sağ tıklarsanız Git komut penceresini burada aç seçeneğini göreceksiniz. Git ayarlarınızı da yapmayı unutmayın. Yalnız aşağıdaki bağlantı yardımıyla ayarladığınız email adresinizi sonrasında yine GPG key oluşturmak için kullanacağımızı unutmayalım. Bu iki email eşleşmezse yine unverified olur commitlerimiz.
https://docs.github.com/en/get-started/getting-started-with-git/setting-your-username-in-git
https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/setting-your-commit-email-address
Şimdi bir tane GPG key oluşturmamız gerekiyor ve bu keyi Github profilimize eklememiz gerekiyor. Önce git bash açıyoruz ve şunları yazıyoruz. Eğer git 2.1.17 veya daha yeni bir sürümü kullanıyorsanız
gpg --full-generate-key |
gpg --default-new-key-algo rsa4096 --gen-key |
gpg --list-secret-keys --keyid-format=long |
$ gpg --list-secret-keys --keyid-format=long | |
/Users/hubot/.gnupg/secring.gpg | |
------------------------------------ | |
sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] | |
uid Hubot <hubot@example.com> | |
ssb 4096R/4BB6D45482678BE3 2016-03-10 |
gpg --armor --export 3AA5C34371567BD2 | |
# Prints the GPG key ID, in ASCII armor format |
Ekrana yazdırılan değer -----BEGIN PGP PUBLIC KEY BLOCK----- ile başlar ve -----END PGP PUBLIC KEY BLOCK----- ile biter. Bu iki satırı da kapsayacak şekilde çıktıyı kopyalayalım ve github'da Settings > SSH and GPG Keys > New GPG Key sayfasına geçelim. Burada key için bir isim verelim ve alttaki kısma kopyaladığımız çıktıyı yapıştırıp Add GPG Key ile Github tarafında işlemlerimizi bitirelim.
Şimdi yerelde git için GPG key ID kullanarak tanımlama yapalım. Yukarıdaki komutu tekrar kullanalım ve GPG Key ID bilgimizi alalım
$ gpg --list-secret-keys --keyid-format=long | |
/Users/hubot/.gnupg/secring.gpg | |
------------------------------------ | |
sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] | |
uid Hubot <hubot@example.com> | |
ssb 4096R/4BB6D45482678BE3 2016-03-10 |
Buradaki 3AA5C34371567BD2 değerini kopyalıyoruz. Aşağıdaki şekilde komut satırından git ayarlarını yapıyoruz
git config --global user.signingkey 3AA5C34371567BD2 | |
git config --global commit.gpgsign true |
Artık default olarak her commitimiz doğrulanmış bir şekilde oluşturulacaktır. Bir commit oluşturup gönderirseniz şu şekilde görünmesi gerekiyor.
Artık işlemler tamam. Muhtemelen bir sürü yazım hatası vardır yazıda ama hızlı not almak adına bu şekilde yazmak zorunda kaldım. Vakit bulursam veya geri dönüşlerle düzeltirim. İyi çalışmalar dilerim.
EKLEME:
Yazıyı yazdıktan günler sonra tekrardan işlem yapmam gerekti. Ancak farkettim ki git ile birlikte gelen yerel gpg uygulaması sorun çıkarıyor. Bu gpg uygulamasını güncellemek de sıkıntılı çünkü beraber geldiği git sürümüyle çalışıyor. Ben de arayışa girdim ve şurada yer alan GpG4Win uygulamasını buldum. Bu uygulamayı indirip kurduğunuzda, kendisiyle beraber Kleopatra isimli anahtar yönetim uygulaması geliyor.
İndirme sonrasında anahtar oluşturup git ile bağlama işlemini tek tek anlatırdım ama bu arkadaşımız sağolsun bizi zahmettten kurtarmış :d. Sadece oluşturduğunuz anahtarı github hesabınıza bağlamayı anlatmamış ama onu da ben yukarıda anlattım zaten. Kleopatra uygulamasında anahtara tıkladığınızda export seçeneğini tıklarsanız size yukarıdaki key bilgilerini verecektir. Kopyalayıp github gpg key sayfasına eklerseniz işlemler tamam. Burada not olarak kalsın, bir gün işimize yarar.
Yorumlar
Yorum Gönder