CodeBlanks Logo Icon CodeBlanks

Performance

gc ve prune ile depo boyutunu küçültüp fsck ile doğrularsın.

Depo Bakımı ve Performans

Büyük depolarda sahipsiz (dangling) nesneler ve aşırı gevşek dosyalar performansı düşürür. git gc (garbage collection) gevşek nesneleri paketlerken, git prune erişilemeyen sahipsiz nesneleri diskten kalıcı olarak temizler. Bakım sonrasında git fsck (file system check) çalıştırılarak veri tabanının nesne bütünlüğü ve tutarlılığı denetlenir.

git gc --prune=now
git prune
git fsck --full

Uygulama Çöp Toplama ile Depoyu Optimize Et

Depoda git gc --prune=now -q komutunu çalıştırarak tüm gevşek nesneleri paketle ve eski nesneleri temizle. İşlem tamamlandığında terminale GC COMPLETED yazdır.

Başlangıç kodu

terminal
git init -q
git config user.name "Dev"
git config user.email "dev@example.com"
echo "demo" > file.txt
git add file.txt
git commit -m "init" -q

# git gc komutunu çalıştır ve onay mesajını yazdır

Örnek çözüm

terminal
git init -q
git config user.name "Dev"
git config user.email "dev@example.com"
echo "demo" > file.txt
git add file.txt
git commit -m "init" -q

git gc --prune=now -q
echo "GC COMPLETED"

Beklenen çıktı

GC COMPLETED

Uygulama Depo Bütünlüğünü git fsck ile Doğrula

git fsck --full komutunu çalıştırıp tüm nesne veritabanını doğrula. Komut başarıyla tamamlanırsa terminale FSCK VERIFIED yazdır.

Başlangıç kodu

terminal
git init -q
git config user.name "Dev"
git config user.email "dev@example.com"
echo "content" > test.txt
git add test.txt
git commit -m "commit 1" -q

# git fsck çalıştır ve başarılı olursa FSCK VERIFIED yazdır

Örnek çözüm

terminal
git init -q
git config user.name "Dev"
git config user.email "dev@example.com"
echo "content" > test.txt
git add test.txt
git commit -m "commit 1" -q

git fsck --full >/dev/null && echo "FSCK VERIFIED"

Beklenen çıktı

FSCK VERIFIED

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Erişilemeyen ve artık referans verilmeyen sahipsiz nesneleri diskten silmek ve depoyu doğrulamak için hangi komut ikilisi kullanılır?

  • git branch -d ve git checkout
  • git revert ve git reset
  • git archive ve git stash
  • git prune ve git fsck Doğru cevap

Açıklama: git prune referansı kalmayan nesneleri temizler; git fsck ise nesne tabanını tarayarak bozuk veya eksik nesne olup olmadığını denetler.

2 Erişilemeyen Nesneleri Hemen Temizle

Soru
git gc --prune=____ --quiet
Cevap
git gc --prune=now --quiet

Açıklama: Varsayılan olarak git gc iki haftadan eski nesneleri siler; --prune=now parametresi süre sınırını kaldırıp tüm erişilemeyen nesneleri anında temizler.

3 Performans ve Bakım Komutları

Kavram Anlamı
git gc Gevşek nesneleri paketler
git prune Sahipsiz nesneleri siler
git fsck Nesne bütünlüğünü doğrular
--prune=now Eski nesneleri anında temizler

Uzman bölümündeki tüm dersler