Büyük depolar: alt modüller, worktree, LFS ve imzalama
Büyüyen depolarla başa çıkmayı, birden çok çalışma alanını ve commit’leri imzalayarak kökenini kanıtlamayı öğrenirsin.
Seviye 301 · 15 ders · 12 pratik lab
Dersler
Depoları birleştirmek ve bölmek
- Alt modüller: ekleme, güncelleme, sabitleme
- subtree ile başka depoyu içe almak
- Bir klasörü geçmişiyle ayrı depoya çıkarmak
- Kısa görev: ortak kütüphaneyi sabit sürümle iki projeye bağla
Hız ve boyut
- worktree ile aynı anda birden çok dal
- Sığ ve kısmi klonlama
- sparse-checkout ile yalnızca gereken klasörler
- Git LFS ile büyük dosyalar
- Geçmişten büyük dosya ve sızan bilgiyi temizlemek
- Kısa görev: şişmiş depoyu küçült ve ekibe yeni klonlat
Köken ve güven
- GPG ile commit ve etiket imzalamak
- SSH anahtarıyla imzalamak ve allowed_signers
- İmzaları doğrulamak ve imzasız değişikliği reddetmek
- Kısa görev: imzalı bir sürüm etiketi yayımla ve doğrula
Kapanış
- Bitirme görevi: çok parçalı bir projeyi hızlı ve imzalı hale getir
Pratik lablar
- Alt modülü sürüme sabitle: Paylaşılan kütüphane alt modülünü verilen sürüm etiketine güncelle, bu sabitlemeyi ana depoda commit’le ve temiz bir klonda aynı sürümün geldiğini göster.
- Taşınan alt modül adresi: Adresi değişen alt modül için .gitmodules’u güncelle, yerel yapılandırmayı eşitle ve iç içe alt modüller dahil her şeyin yeni adresten geldiğini kanıtla.
- Alt modülden subtree’ye geçiş: Ekip için sürekli sorun çıkaran bir alt modülü geçmişini koruyarak subtree olarak ana depoya al, .gitmodules kalıntılarını temizle ve kütüphanenin geçmişinin göründüğünü göster.
- Derleme sürerken acil düzeltme: Ana çalışma kopyasına dokunmadan ayrı bir worktree’de acil düzeltmeyi yap, commit’le ve işin bitince worktree’yi düzgünce kaldırdığını git worktree list ile göster.
- Klasörü geçmişiyle ayır: Ekin Kooperatifi deposundaki raporlama klasörünü geçmişiyle birlikte yeni bir depoya ayır ve yeni deponun yalnızca o klasöre dokunan commitleri içerdiğini göster.
- Elle silinmiş worktree’ler: Klasörleri elle taşınmış ya da silinmiş worktree’ler yüzünden ‘zaten başka yerde açık’ hatası veren dalları onar ve kalan worktree’lerin doğru yolları gösterdiğini kanıtla.
- Yalnızca gereken klasörler: Büyük bir depoda yalnızca belgeler ve tek bir servis klasörü görünecek şekilde sparse-checkout ayarla ve çalışma dizinindeki dosya sayısını öncesi/sonrası raporla.
- Tasarım dosyalarını LFS’e taşı: Geçmişe girmiş büyük tasarım ve video dosyalarını tüm geçmiş boyunca Git LFS’e taşı ve depoda artık yalnızca işaretçi dosyaların durduğunu göster.
- Sığ klonda eksik geçmiş: Sığ klonda git describe ve birleştirme tabanı bulmanın neden başarısız olduğunu açıkla, geçmişi yalnızca yetecek kadar derinleştir ve iki komutun da çalıştığını göster.
- SSH anahtarıyla imzalı commit: Commit imzalama için SSH anahtarını ve allowed_signers dosyasını ayarla, imzalı bir commit at ve verify-commit ile imzanın geçerli olduğunu göster.
- İmzasız commitleri bul: Pinecrest Bank sürüm dalında imzasız ya da doğrulanamayan commitleri log biçim kodlarıyla listele ve her biri için yazarı ve durumu raporla.
- Doğrulanamayan sürüm etiketi: Doğrulaması başarısız olan sürüm etiketinin nedenini bul (yanlış anahtar, eksik güven kaydı ya da süresi dolmuş anahtar), güven yapılandırmasını düzelt ve etiketi doğru anahtarla yeniden imzala.
Kurs hakkında
Büyüyen depolarla başa çıkmayı, birden çok çalışma alanını ve commit’leri imzalayarak kökenini kanıtlamayı öğrenirsin.
Ne öğreneceksin
- Depoları birleştirmek ve bölmek
- Hız ve boyut
- Köken ve güven
- Kapanış
Ön koşullar
Aynı yolun 101 ve 201 düzeyindeki konularına hâkim olmalısın.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde geçer. Kurulum gerekmez; lab her derste temiz başlar.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 301 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.