Ce face git submodule
Modulele secundare (submodules) permit includerea unui alt proiect Git (de exemplu o bibliotecă partajată, o temă comună sau un modul de bază) într-un subdirector al proiectului tău, menținând în același timp istoricul său complet separat.
Depozitul părinte înregistrează doar un indicator către un anumit commit din submodul, asigurând că toți dezvoltatorii lucrează cu aceeași versiune a dependenței.
Opțiuni și argumente
| Opțiune / Parametru | Descriere |
|---|---|
add URL [CALE] |
Adaugă un nou depozit ca submodul în directorul specificat. |
init |
Inițializează configurația submodulelor locale din fișierul .gitmodules. |
update |
Descarcă și actualizează conținutul submodulelor la commit-ul înregistrat în proiectul părinte. |
--recursive |
Clonează sau actualizează recursiv și submodulele care conțin alte submodule. |
Exemple
Exemplul 1: Clonarea unui proiect care folosește submodule
La clonare se adaugă parametrul –recurse-submodules pentru a descărca și dependențele.
git clone --recurse-submodules https://github.com/exemplu/proiect.git
Ieșire în terminal
Cloning into 'proiect'...
Submodule 'libs/api' (https://github.com/exemplu/api.git) registered for path 'libs/api'
Cloning into 'libs/api'...
Submodule path 'libs/api': checked out '4a2b1c3d'
Greșeli frecvente
- Clonarea unui proiect cu submodule fără
--recurse-submodules: folderele submodulelor vor rămâne complet goale pe disc! Dacă ai clonat deja simplu, ruleazăgit submodule update --init --recursive.
Comenzi înrudite
git clone: Descarcă și creează o copie locală completă a unui depozit aflat la distanță (ex. GitHub).