BFG Kullanarak Git Geçmişini Düzeltme
Git, yazılım geliştirme süreçlerinde önemli bir araç olsa da zaman zaman hassas bilgilerin sızmasına neden olabilir. Şifreler, API anahtarları veya diğer hassas veriler, yanlışlıkla depoya yüklendiğinde güvenlik riskleri oluşturabilir. Bu tür durumları düzeltmek için BFG Repo-Cleaner aracı oldukça kullanışlıdır. Bu yazıda, Git depolarındaki hassas bilgileri BFG kullanarak nasıl temizleyebileceğinizi adım adım göstereceğim.
Adım 1: BFG Repo-Cleaner’ı İndirme ve Kurma
BFG Repo-Cleaner’ı indirip kurma işlemi oldukça basittir. Resmi GitHub deposundan son sürümü indirin:
Direkt sitesinden indirebilisiniz: https://rtyley.github.io/bfg-repo-cleaner/
Adım 2: BFG ile Hassas Bilgileri Değiştirme veya Kaldırma
Öncelikle projeniz dışında bir klasör oluşturun ve terminalde girin.
Klasör için şifrelerinizi (gizlenmesini istediğiniz ya da hepsi) alt alta password.txt dosyasına yazınız.
Jar dosyayı da klasöre ekleyiniz.
git clone --mirror C:\projeniz_dosya_konumu
ardından oluşan .git uzantılı klasörünüze giriş yapın
cd .\projeniz.git\
Şimdi ise jar dosyamız aracılığıyla passwords.txt dosyasındaki şifreler yerine projemizde ***REMOVED*** şeklinde bir yazı gözükecek ve git geçmişimizde hep böyle gözükmesi sağlanacak.
BFG, Git deposundaki dosyaları veya commit geçmişini tarayarak belirli metinleri değiştirebilir veya kaldırabilir. Örneğin, passwords.txt
dosyasındaki şifreleri değiştirmek için şu komutu kullanabilirsiniz:
java -jar bfg-1.14.0.jar --replace-text passwords.txt projeniz.git
Bu komut, passwords.txt
dosyasındaki tüm metinleri değiştirerek Git geçmişinden kaldırır.
Adım 3: Temizlik İşlemini Gerçekleştirme
BFG ile değişiklikleri yaptıktan sonra, Git depomuzdaki geçmişi temizlememiz gerekiyor:
cd projeniz.git
git reflog expire --expire=now --all && git gc --prune=now --aggressive
Bu komutlar, reflog geçmişini temizler ve gereksiz nesneleri (garbage) sıkıştırır ve temizler.
Adım 4: Yerel ve Uzak Depoları Güncelleme
Yerel depoyu güncelledikten sonra, değişiklikleri uzak depoya da göndermeyi unutmayın:
git push origin master
Bu adımları takip ederek, Git depolarınızdan hassas bilgileri temizlemek ve güvenliği artırmak mümkün olacaktır. Sorunuz varsa da sormaktan çekinmeyin.
BFG Repo-Cleaner’ın güçlü ve etkili bir araç olduğunu unutmayın!