Puedes hacer esto con submódulos en git. En su repositorio, haga:
git submodule add path_to_repo path_where_you_want_it
Entonces, si el repositorio de la biblioteca tenía una URL de git://github.com/example/some_lib.git
y la deseabas lib/some_lib
en tu proyecto, ingresarías:
git submodule add git://github.com/example/some_lib.git lib/some_lib
Tenga en cuenta que esto debe hacerse desde el directorio de nivel superior en su repositorio. Así que no cd
ingrese al directorio donde lo está poniendo primero.
Después de agregar un submódulo, o cada vez que alguien realice un nuevo pago de su repositorio, deberá hacer lo siguiente:
git submodule init
git submodule update
Y luego, todos los submódulos que haya agregado se retirarán en la misma revisión que usted tiene.
Cuando desee actualizar a una versión más nueva de una de las bibliotecas, cd
en el submódulo y tire:
cd lib/some_lib
git pull
Luego, cuando lo haga git status
, debería verlo lib/somelib
en la sección modificada. Agregue ese archivo, confirme y estará actualizado. Cuando un colaborador extrae ese compromiso en su repositorio, lo verá lib/somelib
modificado hasta que git submodule update
vuelva a ejecutarse .
git submodule update --remote
. Recomiendo usar más indicadores para proyectos más complejos. Yo usogit submodule update --remote --recursive --init