No busques más por todo internet porque llegaste al lugar perfecto, tenemos la respuesta que quieres encontrar y sin complicarte.
Solución:
al hacer git submodule update
git intenta verificar la confirmación/árbol que se guarda en el superproyecto (en su ejemplo, el que tiene la identificación de confirmación dd208d4...
)
Creo que obtienes el error porque dentro del submódulo no hay tal objeto presente. Tienes que asegurarte de que está ahí. Por lo general, eso significa que primero debe buscarlo / extraerlo de un control remoto.
Probablemente tengas que
git submodule foreach git fetch
git submodule update
o tal vez
git fetch --recurse-submodules
Suponiendo que el submódulo está configurado, de modo que pueda obtener la confirmación faltante del control remoto origin
. Al final, tú debe saber, desde donde puede obtener el compromiso faltante y debe obtenerlo.
Podría comprobar si tiene dd208d4...
haciendo algo como:
cd ./module
git log dd208d46ecdd1ac0d2b2594a610fe4c9150fece1
git cat-file -p dd208d46ecdd1ac0d2b2594a610fe4c9150fece1
git ls-tree dd208d46ecdd1ac0d2b2594a610fe4c9150fece1
Una posible causa de este problema es que quien publicó la nueva confirmación del supermódulo no publicó las confirmaciones necesarias del submódulo. Primero tiene que publicar las confirmaciones del submódulo.
Asegúrese de que los submódulos fueron empujados
cd submodule-dir
git push
En mi caso, tuve:
- comprometido con el submódulo
- no empujado
- comprometido con el padre con los submódulos actualizados
- empujó al padre
por lo que no es de extrañar que no se pudo encontrar.
Luego, si está utilizando una interfaz web como GitHub, también puede ir a la página web del repositorio de submódulos y verificar que la confirmación que necesita se muestre allí.
push.recurseSubmodules on-demand
Es posible automatizar aún más los envíos con:
git push --recurse-submodules=on-demand
que también empuja submódulos según sea necesario, o comenzando con 2.7:
git config push.recurseSubmodules on-demand
git push
Reseñas y valoraciones
Si estás de acuerdo, tienes la habilidad dejar un enunciado acerca de qué le añadirías a este enunciado.