3 puan yazan GN⁺ 2024-11-26 | 1 yorum | WhatsApp'ta paylaş

Git kimliğimi ayarlama yöntemi

  • Giriş: Bu yazı, Git ayarları üzerinden çalışma ortamına uygun kimliğin nasıl yönetileceğini açıklıyor. Yazar, includeIf kullanarak belirli koşullara göre dosya ekleme yöntemini keşfetmiş.

  • Git ayarları:

    • includeIf kullanarak belirli dizinlere göre farklı Git yapılandırma dosyaları dahil edilebilir.
    • Örneğin, ~/code altındaki Git dizinleri için ~/.config/git/personal, ~/work altındakiler için ise ~/.config/git/work dahil edilecek şekilde ayarlanabilir.
    • Her dosya kullanıcı adı, e-posta, imza anahtarı gibi bilgileri içerir.
  • Remote URL tabanlı yapılandırma:

    • hasconfig:remote.*.url kullanılarak belirli bir remote URL mevcut olduğunda Git yapılandırması koşullu olarak yapılabilir.
    • Örneğin, github.com:orgname/** gibi bir remote bulunan dizinlerde ~/.config/git/config-gh-org kullanılacak şekilde ayarlanabilir.
  • SSH anahtarı ayarları:

    • Remote'a pull ve push yapabilmek için SSH anahtarlarının yapılandırılması gerekir.
    • ~/.ssh/config dosyasında Host ve IdentityFile ayarlanarak her remote için uygun SSH anahtarı kullanılabilir.
    • Aynı Hostname için farklı IdentityFile kullanmak gerekiyorsa Host değeri farklı olmalıdır.
  • Git config içinde SSH ayarlarını kullanma:

    • Belirli bir repo için farklı SSH ayarları kullanmak gerekiyorsa Git config içinde insteadOf ile URL değiştirilebilir.
    • Örneğin, github.com:orgname yerine gh-work:orgname kullanılarak doğru SSH ayarları uygulanabilir.
  • Dikkat edilmesi gerekenler:

    • Bu yaklaşımın sorunları olabilir; yazar, daha iyi bir yöntem olup olmadığına dair geri bildirim almak istiyor.

Referanslar

  • Birden fazla Git kimliğini yönetme yöntemleriyle ilgili çeşitli blog yazılarından yararlanılmış.

1 yorum

 
GN⁺ 2024-11-26
Hacker News görüşü
  • SSH ve Git kimliğini ayırmak için gh-work adlı bir adın nasıl kullanılacağı açıklanıyor. gh-work ile klonlanan tüm Git depoları gh-work.inc ayarlarını takip ediyor ve SSH yapılandırmasıyla aynı imzalama anahtarını kullanıyor

  • Bir startup'ta çalışırken, her gün kimliğini masalsı bir adla değiştiren bir iş arkadaşı vardı. Bu, sürüm kontrolü adli incelemesine yardımcı olmuyordu ama kimlik yapılandırmasına istenen her şeyin yazılabileceğini hatırlatmak istemiş olabilir

  • Kimlik için .gitconfig içine takma adlar ekleyip, bir depoyu başlattıktan veya klonladıktan sonra git config-company ya da git config-personal komutunu çalıştırma yöntemi öneriliyor

  • ~/.ssh/config dosyasını değiştirmeye gerek kalmadan, ~/.gitconfig içinde SSH komutu ayarlayarak submodule'leri kolayca yönetme yöntemi açıklanıyor

  • includeIf ve hasconfig:remote kullanarak Git ayarlarını dizin bazında yönetme yöntemi tanıtılıyor. Bu, depoyu klonlarken de faydalı oluyor

  • Danışmanlar için iş amaçlı ayrı bir cihaz ya da en azından ayrı bir OS kullanıcısı kullanılması şiddetle tavsiye ediliyor. Kişisel cihazı iş için kullanmak riskli olabilir

  • NixOS ve home-manager kullanarak Git yapılandırmasını yönetme yöntemi anlatılıyor. Belirli bir e-posta ayarlamak için hasconfig:remote koşulu kullanılıyor

  • SSH karmaşıklığını ~/.ssh içinde tutup, müşteri veya proje bazında ayrı ayarları dahil etme yöntemi açıklanıyor. GitHub gibi bir host adı olmadığında bir takma ad atanıyor

  • gitdir kullanarak iş ve kişisel çalışmaları ayırma yöntemi anlatılıyor. hasconfig:remote oyunun kurallarını değiştiren bir özellik

  • İş ve kişisel depoları ~/dev ve ~/src altında ayırarak yönetme yöntemi açıklanıyor. Her yol için farklı Git yapılandırma dosyaları dahil ediliyor

  • Kişisel ve iş amaçlı .gitconfig dosyaları ayarlayarak e-posta ve imzalama anahtarını farklı belirleme yöntemi anlatılıyor. Commit'leri imzalamak için GPG imzalama etkinleştiriliyor