Submodule nedir?
- Git kursu
- İleri seviye
- Ders 13/56
- 4 dk
Submodule ile başka depo gömmeyi öğrenirsin.
Submodule nedir?
Git submodule, bir Git deposunun başka bir deponun içinde ayrı bir depo olarak kullanılmasını sağlar. Ana depo, alt deponun tüm dosya geçmişini doğrudan kendi geçmişine katmaz; bunun yerine alt deponun belirli bir commit referansını saklar. Böylece ortak bir kütüphaneyi veya bağımsız bir projeyi başka bir projede kullanabilirsin.
project/
├── app/
└── libraries/
└── shared-ui/Alt modül kendi Git geçmişine ve çalışma dizinine sahiptir. Ana depodan bağımsız olarak güncellenebilir.
Ana depo ve alt depo ilişkisi
Submodule içeren ana depo, alt modülün hangi commit üzerinde olması gerektiğini kaydeder. Alt modülün kendi dosyaları ve commit geçmişi ayrı kalır. Alt depoda yeni bir commit oluşturduğunda ana depoda da alt modül referansındaki değişikliği kaydetmen gerekir.
git status
# modified: libraries/shared-ui (new commits)Bu yapı, bağımlı projelerin belirli sürümlerini sabit tutmana yardımcı olur.
Uygulama Alt modülün bulunduğu dizini incele
libraries/shared-ui alt modülünün kendi deposunda çalıştığını doğrulamak için bu dizine geç ve Git depo kökünü göster.
Başlangıç kodu
# Alt modül dizinine geç
# Git depo kökünü gösterÖrnek çözüm
cd libraries/shared-ui
git rev-parse --show-toplevelBeklenen çıktı
Changed directory to libraries/shared-ui. Repository root displayed.
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir projede başka bir Git deposunu kendi geçmişinden ayrı tutarak kullanmak istiyorsun. Hangi Git özelliği bu ihtiyacı karşılar?
- Git reflog
- Git tag
- Git submodule Doğru cevap
- Git stash
Açıklama: Submodule, başka bir Git deposunu ana proje içinde bağımsız geçmişiyle kullanmanı sağlar.
2 Alt modül referansını tanımla
Ana depo, alt modülün belirli bir ____ bilgisini saklar.
Ana depo, alt modülün belirli bir commit bilgisini saklar.
Açıklama: Ana depo, alt modülün hangi commit üzerinde olması gerektiğini kaydeder.
3 Submodule yapısının parçaları
| Kavram | Anlamı |
|---|---|
Ana depo |
Alt modül referansını saklar |
Alt depo |
Kendi commit geçmişine sahiptir |
Commit referansı |
Alt modülün sürümünü belirtir |
Alt modül dizini |
Alt deponun dosyalarını barındırır |