Geavanceerd Git
Amanda Crawford-Adamo
Software and Data Engineer
Git-submodule
git submodule

Een submodule toevoegen via link of map onder het pad.
git submodule add <repository link|dir> <path>
$$
Voorbeeld
Voegt de data-validatorbibliotheek toe aan het ETL-project onder de map libs/validator in de ETL-repo.
git submodule add https://github.com/example/data-validator.git libs/validator
Alle submodules in een project tonen
git submodule status
Voorbeeld
$ git submodule status
e1f2...7w8x9 data_cleaning_lib
a1b2...q7r8 api_connector
d9e8...t3u2 visualization_toolkit
Submodule bijwerken met de laatste wijzigingen
Opties:
git submodule update --init
git submodule update --init --remote
git submodule update --init <path_to_submodule>
Submodule verwijderen
git submodule deinit <submodule_name>
git rm <path>
Kopieer alle bestanden die in de nieuwe submodule-repo moeten staan naar een map buiten de repo.
Maak in die map een nieuwe repo voor de submodule:
git init <new-submodule>
Gebruik git filter-repo om de relevante bestanden en history uit het hoofdproject te halen:
git filter-repo --path <extract_path> --invert-paths
Voeg de uitgepakte repo als submodule toe aan het hoofdproject:
git submodule add <new-submodule_path> <path_to_store_submodule>
Use cases:
Best practices:
Geavanceerd Git