Submodule
- Git kursu
- İleri seviye
- Ders 55/56
- 6 dk
alt modül ekleyip güncelleme akışını tamamlarsın.
Git submodule nedir?
Submodule, bir Git deposunu başka bir deponun içinde ayrı bir depo olarak kullanmanı sağlar. Ana depo, alt modülün dosyalarını doğrudan kendi commit geçmişine katmak yerine belirli bir commit referansını takip eder. Bu yöntem ortak kütüphaneleri veya bağımsız geliştirilen bileşenleri projeye dahil etmek için kullanılır.
git submodule add https://example.com/library.git libs/libraryAlt modülün adresi ve takip edilen commit bilgisi ana depoda kaydedilir.
Uygulama Depoya alt modül ekle
https://example.com/shared.git adresindeki depoyu libs/shared dizinine alt modül olarak ekle. Komutu çalıştırdıktan sonra Git, alt modül kaydını ve .gitmodules dosyasını oluşturur.
Başlangıç kodu
# Paylaşılan depoyu alt modül olarak ekleBeklenen çıktı
Alt modül libs/shared dizinine eklendi.
Uygulama Alt modülleri başlat ve güncelle
Başka bir bilgisayarda ana depoyu klonladığını varsay. Depoda kayıtlı tüm alt modülleri başlat ve ana deponun işaret ettiği commit sürümlerine güncelle. İç içe alt modülleri de işleme dahil et.
Başlangıç kodu
# Tüm alt modülleri başlat ve güncelleBeklenen çıktı
Tüm alt modüller başlatıldı ve güncellendi.
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir projeye başka bir Git deposunu ayrı depo olarak eklemek için hangi komut kullanılır?
- git submodule remove
- git branch add
- git remote delete
- git submodule add Doğru cevap
Açıklama: <code>git submodule add</code>, belirtilen depoyu ana projeye alt modül olarak ekler.
2 Alt modülü başlat ve güncelle
git submodule update --init --recursive____
git submodule update --init --recursiveupdate --init
Açıklama: <code>git submodule update --init</code>, henüz başlatılmamış alt modülleri hazırlar ve ana depoda kayıtlı commit sürümünü getirir.
3 Submodule komutları
| Kavram | Anlamı |
|---|---|
submodule add |
Yeni alt modül ekler |
update --init |
Alt modülü başlatıp günceller |
--recursive |
İç içe alt modülleri de işler |
.gitmodules |
Alt modül adreslerini saklar |