tipos tag remove practices etiquetas crear best git github dependencies git-submodules githooks

remove - git tag best practices



¿Cómo puedo haber vinculado dependencias en un git repo? (1)

En mis scripts, a menudo uso bibliotecas (las mías o de otros) que tienen sus propios repositorios. No quiero duplicar los que están en mi repositorio y no puedo actualizarlos cada vez que sale una nueva versión. Sin embargo, cuando alguien clona el repositorio, todavía debería funcionar localmente y no tener enlaces rotos.

¿Alguna idea sobre lo que podría hacer?


Puedes hacer esto con submódulos en git. En tu repositorio, haz:

git submodule add path_to_repo path_where_you_want_it

Entonces, si el repositorio de la biblioteca tiene una URL de git://github.com/example/some_lib.git y la quiere en lib/some_lib en su proyecto, debe ingresar:

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 lo cd en el directorio donde lo está poniendo primero.

Después de agregar un submódulo, o cada vez que alguien haga un checkout nuevo de su repositorio, deberá hacer lo siguiente:

git submodule init git submodule update

Y luego, todos los submódulos que ha agregado serán revisados ​​en la misma revisión que tiene.

Cuando desee actualizar a una versión más nueva de una de las bibliotecas, cd en el submódulo y extraiga:

cd lib/some_lib git pull

Luego, cuando hagas un git status , deberías ver lib/somelib en la sección modificada. Agrega ese archivo, confirma y estarás actualizado. Cuando un colaborador extraiga esa confirmación en su repositorio, verán que lib/somelib modificado hasta que lib/somelib ejecutar la git submodule update .