Pregunta

Después de algún tiempo, quería actualizar mi repositorio de git, y luego algo salió mal. ¿Cuál es la forma correcta de salir de esta situación?

mblsha@siruba:~/src/psi/ $ git status
iris: needs merge
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   modified:   src/common.cpp
#
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#
#   unmerged:   iris
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   gupdate.sh
mblsha@siruba:~/src/psi/ $ git submodule status
+cf237ef8f3d9dc058dbde47e6973e6388608ce60 iris (heads/master)
+cf237ef8f3d9dc058dbde47e6973e6388608ce60 iris (heads/master)
+cf237ef8f3d9dc058dbde47e6973e6388608ce60 iris (heads/master)
mblsha@siruba:~/src/psi/ $ cd iris 
mblsha@siruba:~/src/psi/iris/ $ cat .git/HEAD 
cf237ef8f3d9dc058dbde47e6973e6388608ce60
¿Fue útil?

Solución

Cuando se trata de submódulos git, casi cualquier problema que encuentre puede resolverse mediante:

1. deleting the submodule (rm -r iris)
2. recreating it again (git submodule update)

Obviamente, si ha realizado cambios locales en su submódulo, esto los ELIMINARÁ PERMANENTEMENTE, así que si tiene cambios locales, asegúrese de haberlos empujado primero.

Otros consejos

Publiqué una pregunta similar aquí en stackoverflow y terminé respondiendo yo mismo, pero descubrí que usar git reset HEAD iris funcionó para mi problema con los conflictos de submódulos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top