submodulos - Submódulos de Git. Entrando en un nuevo clon del superproyecto
guardar credenciales git (6)
Estoy en Window7. ejecutar ''rm -rf src / sizzle'', puede bien!
E: / GitHub / fork / jquery> rm -rf src / sizzle
Actualización del submódulo E: / GitHub / fork / jquery> git
Ruta del submódulo ''src / sizzle'': activada ''19c7b3440385c9f628a7bc1c5769f6946fcc6887''
E: / GitHub / fork / jquery> grunt.cmd
...
Guardado como: maestro
Hecho, sin errores
DE ACUERDO. Entonces pensé que me habían lamido ... pero ahora ...
Tengo un proyecto que incluye una pequeña biblioteca de GitHub como submódulo. En la versión original de ese superproyecto, el submódulo funciona como se esperaba.
Sin embargo, acabo de clonar el superproyecto, hice lo que creía que debía hacer: "git submodule init", conseguí que apareciera el directorio del submódulo, pero está vacío.
Si ahora trato de hacer
git submodule update
yo obtengo
fatal: Needed a single revision
Unable to find current revision in submodule path ''external_libraries/BEACHhtml''
Si intento
git submodule foreach git pull
yo obtengo
Entering ''external_libraries/BEACHhtml''
fatal: Where do you want to fetch from today?
Stopping at ''external_libraries/BEACHhtml''; script returned non-zero status.
En mi .git / config, tengo esto:
[submodule "external_libraries/BEACHhtml"]
url = [email protected]:interstar/BEACHhtml.git
En mi .gitmodules tengo esto:
[submodule "external_libraries/BEACHhtml"]
path = external_libraries/BEACHhtml
url = [email protected]:interstar/BEACHhtml.git
Alguien tiene una idea de lo que falta?
Resuelto eliminando 2 directorios y recuperando el submódulo:
- Vaya a
external_libraries/BEACHhtml
y busque en.git
archivo.git
. Su contenido debe ser algo así comogitdir: ../../.git/modules/external_libraries/BEACHhtml
- Borre
external_libraries/BEACHhtml
y.git/modules/external_libraries/BEACHhtml
.
A partir de ahora la git submodule update
ejecuta sin errores.
Tengo el mismo problema que tú. Este es un error en git: http://lists-archives.com/git/785138-git-submodule-update-is-not-fail-safe.html
En resumen, para su problema, intente:
# rm -rf external_libraries/BEACHhtml
# git submodule update
Parece que hay algún problema con la carpeta de pago anterior, elimínelo y actualice de nuevo para resolver el problema.
Tuve el mismo problema con un submódulo en un proyecto. Cuando intenté clonar el submódulo por separado, funcionó bien.
He intentado todas las respuestas anteriores, pero sin éxito (actualización del submódulo git, ..., eliminación de las carpetas del submódulo, ...).
El problema desapareció después de la actualización de git (de Git-1.7.11-preview20120710) a la última versión (a Git-1.8.1.2-preview20130201) en ese momento. Extrañamente, mis colegas tenían una versión más antigua, funcionaban sin problemas, pero estaban en Mac. Estoy en Win7 64 bits.
Tuve este problema (una red escamosa, así que me salí el proceso de extracción de submódulos) y lo resolví haciendo este script (lo llamé git-submodule-fix
para poder ejecutarlo como git submodule-fix
)
#!/bin/bash
for arg
do
echo $arg
find . -name "`basename $arg`" | grep "$arg/$" | xargs rm -fr
done
Si obtiene esto, es decir, desde una git submodule update
fatal: Needed a single revision
Unable to find current revision in submodule path ''some/submodule/path''
hacer
git submodule-fix some/submodule/path
git submodule update
Usa una herramienta diff para comparar el clon original que está funcionando y este. Además, ¿qué hace la salida del git submodule
? Asegúrese de estar apuntando a la misma rama en cada repositorio antes de hacerlo.
Sospecho que cambiaste a una rama o una revisión anterior donde el submódulo no estaba definido.
espero que esto ayude