submodules - ¿Cómo `git clone` incluyendo submódulos?
que es git hook (10)
Con la versión 2.13 de Git y versiones posteriores, --recurse-submodules
se puede usar en lugar de --recursive
:
git clone --recurse-submodules -j8 git://github.com/foo/bar.git
cd bar
Nota del editor: -j8
es una optimización de rendimiento opcional que se hizo disponible en la versión 2.8, y recupera hasta 8 submódulos a la vez en paralelo - vea man git-clone
.
Con la versión 1.9 de Git hasta la versión 2.12 (el indicador -j
solo está disponible en la versión 2.8+):
git clone --recursive -j8 git://github.com/foo/bar.git
cd bar
Con la versión 1.6.5 de Git y versiones posteriores, puedes usar:
git clone --recursive git://github.com/foo/bar.git
cd bar
Para repositorios ya clonados, o versiones anteriores de Git, use:
git clone git://github.com/foo/bar.git
cd bar
git submodule update --init --recursive
Estoy tratando de poner un submódulo en un repositorio.
El problema es que cuando clono el repositorio principal, la carpeta del submódulo está completamente vacía.
¿Hay alguna forma de hacerlo para que ''git clone parent'' realmente ponga datos en la carpeta del submódulo?
ejemplo: http://github.com/cwolves/sequelize/tree/master/lib/
nodejs-mysql-native
apunta a un git externo, pero cuando pago el proyecto de sequelize
, esa carpeta está vacía ...
Intenta esto para incluir submódulos en el repositorio git.
git clone -b <branch_name> --recursive <remote> <directory>
o
git clone --recurse-submodules
La búsqueda paralela de los submódulos tiene como objetivo reducir el tiempo requerido para recuperar los repositorios y todos sus submódulos relacionados al permitir la captura de múltiples repositorios a la vez. Esto se puede lograr usando la nueva opción --jobs, por ejemplo:
git fetch --recurse-submodules --jobs=4
Según el equipo de Git, esto puede acelerar sustancialmente la actualización de los repositorios que contienen muchos submódulos. Al usar --recurse-submodules sin la nueva opción --jobs, Git buscará los submódulos uno por uno.
Prueba esto.
git clone -b <branch_name> --recursive <remote> <directory>
Si ha agregado el submódulo en una rama, asegúrese de agregarlo al comando de clonación.
Prueba esto:
git clone --recurse-submodules
Extrae automáticamente los datos del submódulo suponiendo que ya ha agregado los submódulos al proyecto principal.
Puede usar este comando para clonar su repositorio con todos los submódulos:
git clone --recursive YOUR-GIT-REPO-URL
O si ya has clonado el proyecto, puedes usar:
git submodule init
git submodule update
Respuesta original 2010
Como joschi menciona joschi en los comentarios, git submodule
ahora admite la opción --recursive (Git1.6.5 y más).
Si se especifica
--recursive
, este comando ingresará en los submódulos registrados y actualizará los submódulos anidados dentro de.
Consulte Trabajo con submódulos de git de forma recursiva para la parte init.
Ver git submodule
explicado para más.
Con la versión 1.6.5 de git y versiones posteriores, puede hacer esto automáticamente clonando el superproyecto con la opción
–-recursive
:
git clone --recursive git://github.com/mysociety/whatdotheyknow.git
Actualización 2016, con git 2.8: consulte " Cómo acelerar / paralelizar las descargas de submódulos de git usando git clone --recursive
? "
Puede iniciar la búsqueda del submódulo utilizando varios subprocesos, en paralelo.
Por instancias:
git fetch --recurse-submodules -j2
Si su submódulo se agregó en una rama, asegúrese de incluirlo en su comando de clonación ...
git clone -b <branch_name> --recursive <remote> <directory>
Tienes que hacer dos cosas antes de que se llene un submódulo:
git submodule init
git submodule update
respuesta tardía
// git CLONE INCLUDE-SUBMODULES ADDRESS DESTINATION-DIRECTORY
git clone --recursive https://[email protected]/USERNAME/REPO.git DESTINATION_DIR
Como acabo de pasar toda una hora jugando con un amigo: incluso si tiene derechos de administrador en BitBucket, siempre clone el repositorio ORIGINAL y use la contraseña de la persona que posee el repositorio. Molesto al descubrir que te topaste con esta minetrap: P