Ana Sayfa

Git Repolarını USB Taşınabilir Hale Getirmek için SSH Anahtarlarını .git Dizinine Yerleştirme

1 dk okuma

Geliştiriciler, farklı Git hesapları veya projeleri için birden fazla SSH anahtarı yönetirken sıkça zorluk yaşarlar. Özellikle yanlış hesapla değişiklikleri itme riskini önlemek veya repoları farklı makineler arasında taşırken anahtar yapılandırmasını yeniden yapmaktan kaçınmak önemlidir. Geleneksel yöntemler, anahtarları .ssh dizininde tutmak ve manuel olarak kopyalamak gibi, zahmetli ve hataya açık olabilir.

Bu makale, bu soruna pratik bir çözüm sunuyor: SSH anahtarlarını doğrudan her bir Git deposunun .git dizinine yerleştirmek. Bu yaklaşım, anahtarların depoyla birlikte taşınabilir olmasını sağlar ve yanlışlıkla commit edilme riskini ortadan kaldırır, çünkü .git dizininin içeriği Git tarafından tanınmayan dosyaları okumaz veya değiştirmez. Kurulum, özel anahtar dosyasını (id_ed25519 gibi) .git dizinine kopyalamayı ve ardından git config core.sshCommand "ssh -i .git/id_ed25519" komutunu kullanarak Git'i bu depoya özel anahtarı kullanacak şekilde yapılandırmayı içerir. Bu sayede, depo farklı bir konuma taşınsa veya bir USB sürücü aracılığıyla başka bir makineye aktarılsa bile, herhangi bir yeniden yapılandırma gerektirmeden çalışmaya devam eder.

Yeni bir depo için bu kurulumu yapmak oldukça basittir. İlk olarak git init ile depo başlatılır, ardından core.sshCommand yapılandırılır ve ssh-keygen -f .git/id_ed25519 ile anahtar çifti oluşturulur. Oluşturulan genel anahtar (id_ed25519.pub), GitHub veya Codeberg gibi platformlardaki depo ayarlarına deploy key olarak eklenir. Son olarak, deponun SSH klonlama adresi git remote add origin ile eklenir ve ilk commit ile git push -u origin yapılarak kurulum tamamlanır. Bu yöntem, her depo için bağımsız ve taşınabilir bir SSH anahtar yönetimi sağlayarak iş akışını büyük ölçüde kolaylaştırır.

İçgörü

Bu yöntem, Git depolarının SSH anahtarlarıyla birlikte tamamen taşınabilir olmasını sağlayarak çoklu proje ve makine ortamlarında anahtar yönetimini basitleştirir.

Kaynak