Vous pouvez le faire avec des sous-modules dans git. Dans votre référentiel, faites:
git submodule add path_to_repo path_where_you_want_it
Donc, si le référentiel de la bibliothèque avait une URL de git://github.com/example/some_lib.gitet que vous le vouliez lib/some_libdans votre projet, vous saisiriez:
git submodule add git://github.com/example/some_lib.git lib/some_lib
Notez que cela doit être fait à partir du répertoire de niveau supérieur de votre référentiel. Donc, n'allez pas cddans le répertoire où vous le mettez en premier.
Après avoir ajouté un sous-module, ou chaque fois que quelqu'un effectue une nouvelle extraction de votre référentiel, vous devrez faire:
git submodule init
git submodule update
Et puis tous les sous-modules que vous avez ajoutés seront extraits avec la même révision que vous avez.
Lorsque vous souhaitez mettre à jour vers une version plus récente de l'une des bibliothèques, cddans le sous-module et tirez:
cd lib/some_lib
git pull
Ensuite, lorsque vous effectuez un, git statusvous devriez voir la lib/somelibliste dans la section modifiée. Ajoutez ce fichier, validez et vous êtes à jour. Lorsqu'un collaborateur extrait ce commit dans son référentiel, il le verra lib/somelibcomme modifié jusqu'à ce qu'il s'exécute à git submodule updatenouveau.