BFG Kullanarak Git Geçmişini Düzeltme

Muhammet Aydın
2 min readJul 15, 2024

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!

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

No responses yet

Write a response