Depo Bakımı ve Düzenleme
Yerel Git deponuzu temizlemek ve en iyi duruma getirmek için `git gc` ve `git prune` gibi komutları öğrenin.
Depo Bakımı ve Düzenleme, CoddyKit'te ücretsiz bir DevOps Bootcamp dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, DevOps Bootcamp öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
Git bakımına hoş geldiniz
Zamanla yerel Git depolarınızda gereksiz dosyalar birikebilir ve depolarınız daha verimsiz hâle gelebilir. Bunu dağınık bir odaya benzetebilirsiniz!
Bu derste git gc ve git prune gibi güçlü komutları kullanarak Git depolarınızı nasıl temizleyeceğinizi ve iyileştireceğinizi öğreneceksiniz. Bu, projelerinizin sorunsuz çalışmasını sağlar.
Git nesne deposu açıklaması
Öncelikle Git'in verileri nasıl sakladığını anlayalım. Git, projenizin geçmişini bir dizi 'nesne' olarak kaydeder:
- Blob'lar: Dosya içerikleri
- Ağaçlar: Dizinler ve içerikleri
- İşlemeler: Projenizin belirli bir zamandaki anlık görüntüleri
- Etiketler: Belirli işlemelere işaretçiler
Bu nesneler 'ayrık nesneler' olarak saklanabilir veya verimlilik için 'paket dosyaları' hâlinde sıkıştırılabilir.
`git gc` ile tanışın (Çöp toplama)
git gc komutu 'çöp toplama' anlamına gelir. Bu, Git'in deponuzu temizlemek ve iyileştirmek için yerleşik aracıdır.
Başlıca görevleri şunlardır:
- Ayrık nesneleri paketleme: Tek tek nesneleri tek bir paket dosyasında sıkıştırma.
- Erişilemeyen nesneleri temizleme: Belirli bir yaştan sonra herhangi bir işleme, dal veya etiket tarafından başvurulmayan nesneleri silme.
- Eski paket dosyalarını kaldırma: Güncelliğini yitirmiş sıkıştırılmış nesne dosyalarından kurtulma.
Bu işlem deponuzu küçültür ve hızlandırır.
`git gc` çalıştırma (Genel kullanım)
git gc komutunu istediğiniz zaman el ile çalıştırabilirsiniz. Git, gönderme veya getirme gibi belirli işlemleri gerçekleştirdiğinizde bu komutu arka planda otomatik olarak da çalıştırır.
Genellikle güvenle çalıştırılabilir; ancak büyük bir temizlikten önce kurtarmanız gerekebilecek işlenmemiş çalışmalarınızın olmadığından emin olmak iyi bir uygulamadır.
Komutu terminalinizde çalıştırmayı deneyin:
git gc`git gc` çıktısını anlama
git gc komutunu çalıştırdığınızda şuna benzer bir çıktı görürsünüz:
Counting objects: 1234, done.
Compressing objects: 100% (987/987), done.
Writing objects: 100% (1234/1234), done.
Total 1234 (delta 567), reused 0 (delta 0)
Removing duplicate objects: 100% (256/256), done.
Pruning objects: 100% (123/123), done.Bu çıktı, Git'in nesneleri paketlemek, yeni paket dosyaları yazmak ve eski, erişilemeyen nesneleri temizlemek (silmek) için çalıştığını gösterir. Sayılar deponuzun durumuna göre değişir.
`git prune` komutuna odaklanma
git gc birçok temizlik görevini yerine getirirken, git prune özellikle "başıboş" veya "ulaşılamayan" nesneleri kaldırır.
- Başıboş nesneler: Deponuzda bulunan ancak artık herhangi bir işleme, dala veya etikete başvurmayan ve ayrıca bir paket dosyasının parçası olmayan nesnelerdir.
- Ulaşılamayan nesneler: Başıboş nesnelere benzer, ancak daha kapsamlı bir terimdir. Örneğin geçmişi yeniden yazan bir yeniden temellendirme veya sıfırlama işleminden sonra çeşitli nedenlerle bulunabilirler.
git prune, varsayılan sona erme süresinden (genellikle 2 hafta) daha eski olan bu nesneleri siler.
`git prune` Komutunu Doğrudan Çalıştırma
git gc bu komutu çağırdığı için genellikle git prune komutunu doğrudan çalıştırmanız gerekmez. Ancak daha hedefli bir temizlik için kullanabilirsiniz.
Herhangi bir şeyi gerçekten silmeden git prune komutunun ne yapacağını görmek için --dry-run seçeneğini kullanın:
git prune --dry-runSona Erme Süresiyle Temizleme
Varsayılan olarak git prune (ve git gc komutunun temizleme adımı) yalnızca iki haftadan daha eski nesneleri kaldırır. Bunu --expire seçeneğini kullanarak geçersiz kılabilirsiniz.
Bu seçenek, kısa süre önce oluşturulmuş başıboş nesneleri, örneğin geri almanız gerekmeyeceğinden emin olduğunuz deneysel bir yeniden temellendirme sonrasında oluşanları, daha kapsamlı biçimde temizlemek istediğinizde kullanışlıdır.
Örneğin, 1 günden eski nesneleri temizlemek için:
git prune --expire=1.day`git reflog expire` Komutundan Ayırt Etme
git prune ile git reflog expire komutlarını karıştırmamanız önemlidir. Her ikisi de temizlikle ilgili olsa da farklı amaçlara hizmet eder:
git prune: Nesne veritabanındaki gerçek Git nesnelerini (ikili nesneler, ağaçlar, işlemler) siler.git reflog expire: reflog içindeki girdileri (HEAD konumunuzun yerel geçmişini) temizler. Bu, belirli işlemleri bulmayı zorlaştırır ancak nesnelerin kendisini silmez.
Geçmişi değiştirirken veya temizlik komutlarını çalıştırırken her zaman dikkatli olun!
Bakım Denetimi
Aşağıdakilerden hangisi git gc komutunun temel rolünü en iyi açıklar?
Özet ve Sonraki Adımlar
Tebrikler! Git depolarınızı düzenli ve verimli tutmayı öğrendiniz.
git gc: Çöp toplama, nesneleri paketleme ve temizleme işlemlerini bir arada sunan komuttur.git prune: Belirli bir sona erme süresinden daha eski, ulaşılamayan ve başıboş nesneleri hedefleyip kaldırır.
Düzenli bakım, Git iş akışınızın sorunsuz kalmasına ve depolarınızın gereğinden fazla disk alanı kullanmamasına yardımcı olur. Böyle devam edin!
Sıkça Sorulan Sorular
“Depo Bakımı ve Düzenleme” dersi ücretsiz mi?
Evet — “Depo Bakımı ve Düzenleme” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve DevOps Bootcamp kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. DevOps Bootcamp kursu toplamda 4 dersten oluşur.
“Depo Bakımı ve Düzenleme” dersinde ne öğreneceğim?
Yerel Git deponuzu temizlemek ve en iyi duruma getirmek için `git gc` ve `git prune` gibi komutları öğrenin. DevOps Bootcamp ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
DevOps Bootcamp öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te DevOps Bootcamp, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Depo Bakımı ve Düzenleme” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu DevOps Bootcamp dersinde kod yazıp çalıştırabilir miyim?
Evet. Her DevOps Bootcamp dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Git Reflog ve Geçmişi Kurtarma
- Hata Ayıklama için Git Bisect
- Depo Bakımı ve Düzenleme
- git filter-repo ile Geçmişi Yeniden Yazma