tipos tag submodulos qué existen etiquetas crear git github external git-submodules

tag - ¿Cómo configurar un proyecto git para usar un submódulo de repositorio externo?



qué tipos de etiquetas existen en git (4)

  1. Tienes un proyecto, llámalo MyWebApp que ya tiene un repositorio github
  2. Quieres usar el repositorio jquery en tu proyecto
  3. Desea incluir el repositorio jquery en su proyecto como un submódulo .

Los submódulos son realmente, muy fáciles de referenciar y usar. Suponiendo que ya tiene MyWebApp configurado como un repositorio, desde el terminal emita estos comandos:

cd MyWebApp git submodule add git://github.com/jquery/jquery.git externals/jquery

Esto creará un directorio llamado externals/jquery * y lo vinculará al repositorio de github jquery. Ahora solo necesitamos iniciar el submódulo y clonar el código:

git submodule update --init --recursive

Ahora debería tener todo el último código clonado en el submódulo. Si el repositorio de jquery cambia y desea bajar el último código, simplemente vuelva a emitir el comando de submodule update . Tenga en cuenta: normalmente tengo varios repositorios externos en mis proyectos, por lo que siempre agrupo los repositorios en un directorio "externo".

El Pro Git Book en línea tiene buena información sobre los submódulos (y git en general) presentados de manera fácil de leer. Alternativamente, el git help submodule también dará buena información. O eche un vistazo al tutorial de submódulos de Git en la wiki de git.

Noté esta entrada de blog que habla de submódulos y los compara con el mecanismo svn: externals de Subversion: http://speirs.org/blog/2009/5/11/understanding-git-submodules.html

* Como práctica recomendada, siempre debe colocar sus submódulos en su propio directorio, como Externos. Si no lo hace, su directorio raíz del proyecto puede volverse muy desordenado muy rápido.

Me gustaría crear un repositorio que atraiga un repositorio remoto.

Por ejemplo, digamos jQuery como un submódulo:

git://github.com/jquery/jquery.git

¿Cuál sería el proceso de crear un repositorio con jQuery como submódulo y agregar mi propio repositorio externo?

Además, una vez que esté configurado, si presiono / jalo hacia mi propio control remoto, ¿permanecerá intacto el externo?



Creo que la respuesta de @Hugo podría ser lo que necesitas y funciona bien. Así que he encontrado una manera más fácil.

git submodule update --remote

Eso es todo.

Así que un flujo de trabajo completo podría ser:

git clone project-with-submodules git submodule init git config -l git submodule update --remote


La mayoría de lo que necesita saber ya ha sido respondido, así que no me molestaré en abordar eso, sin embargo, he encontrado una pequeña parte de información que generalmente falta.

Como saben, "git pull" no actualizará los submódulos, y "git submodules update" tampoco descargará la última HEAD de esos submódulos.

Para actualizar todos sus submódulos a su última revisión ascendente, puede usar

git submodule foreach git pull

Si a menudo modifica sus submódulos y tiene muchos de ellos, entonces "git foreach" será invaluable.