Özet - Monorepo
- Git kursu
- Uzman
- Ders 16/32
- 5 dk
monorepo araçlarını birleştirerek büyük depo yönetimini kurarsın.
Monorepo yönetimini birleştir
Monorepo, birden fazla projeyi tek Git deposunda bir araya getirir. Büyük depolarda yalnızca gerekli dizinlerle çalışmak için sparse-checkout kullanabilir, başka depoların içeriklerini subtree veya submodule ile ekleyebilirsin.
git sparse-checkout init --cone
git sparse-checkout set frontend shared
git subtree add --prefix=vendor/tool \
https://example.com/tool.git mainBu araçlar farklı ihtiyaçlara cevap verir: sparse-checkout çalışma alanını sınırlar, subtree ve submodule ise dış depoları projeye dahil eder.
Uygulama Monorepo araçlarını birlikte kullan
Bir monorepoda cone modunu başlat ve yalnızca apps/web ile packages/shared dizinlerini seç. Ardından https://example.com/utils.git deposunun main dalını vendor/utils dizinine subtree olarak ekle. İşlem sonunda bir bilgilendirme mesajı yazdır.
Başlangıç kodu
# Sparse-checkout modunu başlat
# Seçili proje dizinlerini belirle
# Harici depoyu subtree olarak ekle
# İşlem mesajını yazdırÖrnek çözüm
git sparse-checkout init --cone
git sparse-checkout set apps/web packages/shared
git subtree add --prefix=vendor/utils https://example.com/utils.git main
echo 'Monorepo yapılandırması tamamlandı'Beklenen çıktı
Monorepo yapılandırması tamamlandı
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir monorepoda yalnızca seçili proje dizinleriyle çalışırken başka bir kütüphaneyi bağımsız depo olarak bağlamak istiyorsun. Hangi iki araç birlikte uygundur?
- Git bisect ve Git blame
- Sparse-checkout ve submodule Doğru cevap
- Git worktree ve Git stash
- Subtree ve Git merge
Açıklama: Sparse-checkout seçili dizinleri çalışma alanına çıkarır. Submodule ise başka bir depoyu bağımsız depo referansı olarak ana projeye bağlar.
2 Monorepo çalışma alanını seç
git sparse-checkout init --cone
git sparse-checkout ____ frontend shared
git sparse-checkout init --cone
git sparse-checkout set frontend shared
Açıklama: <code>set</code> komutu, monorepo içinde çalışma alanına dahil edilecek dizinleri belirler.
3 Monorepo araçlarının görevleri
| Kavram | Anlamı |
|---|---|
Monorepo |
Birden fazla projeyi birleştirir |
Sparse-checkout |
Seçili dizinleri çıkarır |
Subtree |
İçeriği ana depoya dahil eder |
Submodule |
Bağımsız depo bağlantısı kurar |