5 Stimmen

Wie aktualisiert man ein Git Repo, das ein Submodul enthält?

Nach einiger Zeit wollte ich mein Git Repo aktualisieren, und dann ging etwas schief. Was ist der richtige Weg aus dieser Situation?

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

5voto

Daniel Lucraft Punkte 6926

Wenn es um Git-Submodule geht, kann fast jedes Problem, das auftritt, gelöst werden:

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

Wenn Sie lokale Änderungen an Ihrem Submodul vorgenommen haben, werden diese natürlich PERMANENT gelöscht. Wenn Sie also lokale Änderungen haben, stellen Sie sicher, dass Sie diese zuerst gepusht haben.

3voto

Tyler Punkte 2999

Ich habe eine ähnliche Frage hier auf Stackoverflow und beantwortete sie schließlich selbst, aber ich fand heraus, dass die Verwendung von git reset HEAD iris hat bei meinem Problem mit Submodulkonflikten funktioniert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X