Domanda

Dopo qualche tempo volevo aggiornare il mio repository git, e poi qualcosa è andato storto. Qual è la giusta via d'uscita da questa situazione?

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
È stato utile?

Soluzione

Quando si tratta di sottomoduli git, quasi tutti i problemi che si incontrano possono essere risolti con:

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

Ovviamente se hai apportato modifiche locali al tuo sottomodulo questo le cancellerà PERMANENTAMENTE, quindi se hai delle modifiche locali assicurati di averle spinte per prime.

Altri suggerimenti

Ho pubblicato una domande simili qui su StackOverflow e ho finito per rispondere da solo, ma ho scoperto che l'uso di git reset HEAD iris ha funzionato per il mio problema con i conflitti del sottomodulo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top