CodeBlanks Logo Icon CodeBlanks

Özet - Monorepo

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 main

Bu 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

terminal
# Sparse-checkout modunu başlat
# Seçili proje dizinlerini belirle
# Harici depoyu subtree olarak ekle
# İşlem mesajını yazdır

Örnek çözüm

terminal
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ç

Soru
git sparse-checkout init --cone
git sparse-checkout ____ frontend shared
Cevap
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

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