Możesz to zrobić za pomocą modułów podrzędnych w git. W swoim repozytorium wykonaj:
git submodule add path_to_repo path_where_you_want_it
Tak więc, jeśli repozytorium biblioteki miało adres URL git://github.com/example/some_lib.git
i chciałeś go mieć lib/some_lib
w swoim projekcie, wpisz:
git submodule add git://github.com/example/some_lib.git lib/some_lib
Zauważ, że należy to zrobić z katalogu najwyższego poziomu w repozytorium. Więc nie rób tegocd
wchodź do katalogu, w którym umieszczasz go jako pierwszy.
Po dodaniu modułu podrzędnego lub za każdym razem, gdy ktoś dokona zakupu nowego repozytorium, musisz wykonać:
git submodule init
git submodule update
Następnie wszystkie dodane moduły podrzędne zostaną pobrane w tej samej wersji, którą masz.
Jeśli chcesz zaktualizować jedną z bibliotek do nowszej wersji, cd
do modułu podrzędnego i ściągnij:
cd lib/some_lib
git pull
Następnie, kiedy to zrobisz git status
, powinieneś zobaczyć lib/somelib
listę w zmodyfikowanej sekcji. Dodaj ten plik, zatwierdź i jesteś na bieżąco. Kiedy współpracownik pobierze to zatwierdzenie do swojego repozytorium, będzie widoczny lib/somelib
jako zmodyfikowany, dopóki nie zostanie git submodule update
ponownie uruchomiony .
git submodule update --remote
Zalecam używanie większej liczby flag, chociaż w przypadku bardziej złożonych projektów. Używamgit submodule update --remote --recursive --init