Git avansat
Amanda Crawford-Adamo
Software and Data Engineer
Submodul Git
git submodule

Adăugarea unui submodul folosind linkul sau directorul sub folderul path.
git submodule add <repository link|dir> <path>
$$
Exemplu
Adaugă biblioteca de validare a datelor în proiectul ETL, în folderul libs/validator din repo-ul ETL.
git submodule add https://github.com/example/data-validator.git libs/validator
Listarea tuturor submodulelor dintr-un proiect
git submodule status
Exemplu
$ git submodule status
e1f2...7w8x9 data_cleaning_lib
a1b2...q7r8 api_connector
d9e8...t3u2 visualization_toolkit
Actualizarea submodulului cu cele mai recente modificări
Există mai multe opțiuni:
git submodule update --init
git submodule update --init --remote
git submodule update --init <path_to_submodule>
Procesul de eliminare a unui submodul
git submodule deinit <submodule_name>
git rm <path>
Copiați fișierele necesare pentru noul submodul într-un folder din afara repo-ului.
În noul folder, creați un repository pentru submodul:
git init <new-submodule>
Utilizați git filter-repo pentru a extrage fișierele și istoricul relevante din proiectul principal:
git filter-repo --path <extract_path> --invert-paths
Adăugați repository-ul extras ca submodul în proiectul principal:
git submodule add <new-submodule_path> <path_to_store_submodule>
Cazuri de utilizare:
Bune practici:
Git avansat