Tengo un submódulo git en mi repositorio principal de git. Según tengo entendido, el repo principal almacena un valor SHA (en alguna parte ...), apuntando a la confirmación específica del submódulo al que está "vinculado".¿Cómo revertir un puntero del submódulo de Git a la confirmación almacenada en el repositorio contenedor?
Entré en mi submódulo y escribí git checkout some_other_branch
. No tengo idea de qué compromiso vine.
Me gustaría revertir ese puntero para que el repositorio principal y el submódulo estén sincronizados de nuevo.
Mi primer instinto (probablemente ingenuo) fue decir git reset --hard
- que parece funcionar para todo lo demás. Para mi sorpresa, no funcionó para este escenario.
Así que he descubierto que puedo escribir git diff
, tenga en cuenta el ID SHA que el puntero del submódulo solía tener, y luego la cabeza en el submódulo y git checkout [SHA ID]
... pero seguramente debe haber una manera más fácil?
Como todavía estoy aprendiendo sobre los submódulos de git, no dude en corregir mi terminología si hay palabras para conceptos que no conozco.
De alguna manera, para mí que necesitaba para agregar '--init'. Sin él, los submódulos permanecerían en un estado con '(nuevos commits)'. Aunque mis submódulos ya estaban inicializados. – Ambidex
@Ambidex sí, la opción '--init' es crucial en todo esto. Me pidieron el nombre de usuario y la contraseña porque mis submódulos se clonaron en https. Fui a ambas carpetas y configuré los controles remotos para usar el protocolo 'ssh' para el pago y envío. –