Как обновить репозиторий git, содержащий подмодуль?

Через некоторое время я хотел обновить репозиторий git, но что-то пошло не так. Как правильно выйти из этой ситуации?

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
Асинхронная передача данных с помощью sendBeacon в JavaScript
Асинхронная передача данных с помощью sendBeacon в JavaScript
В современных веб-приложениях отправка данных из JavaScript на стороне клиента на сервер является распространенной задачей. Одним из популярных...
Как подобрать выигрышные акции с помощью анализа и визуализации на Python
Как подобрать выигрышные акции с помощью анализа и визуализации на Python
Отказ от ответственности: Эта статья предназначена только для демонстрации и не должна использоваться в качестве инвестиционного совета.
Принципы ООП в JavaScript
Принципы ООП в JavaScript
Парадигма объектно-ориентированного программирования имеет 4 основных принципа,
Пройдите собеседование по Angular: Общие вопросы и ответы экспертов
Пройдите собеседование по Angular: Общие вопросы и ответы экспертов
Можете ли вы объяснить разницу между ngOnInit и конструктором в Angular?
Laravel с Turbo JS
Laravel с Turbo JS
Turbo - это библиотека JavaScript для упрощения создания быстрых и высокоинтерактивных веб-приложений. Она работает с помощью техники под названием...
Типы ввода HTML: Лучшие практики и советы
Типы ввода HTML: Лучшие практики и советы
HTML, или HyperText Markup Language , является стандартным языком разметки, используемым для создания веб-страниц. Типы ввода HTML - это различные...
5
0
6 169
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Когда дело доходит до подмодулей git, почти любую проблему, с которой вы сталкиваетесь, можно решить следующим образом:

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

Очевидно, что если вы внесли локальные изменения в свой подмодуль, это УДАЛЯЕТ их ПОСТОЯННО, поэтому, если у вас есть локальные изменения, сначала убедитесь, что вы их внесли.

Интересно, что я пробовал и не особо помог, он все равно сказал, что iris не объединен после того, как я обновил его с нуля. И, что самое удивительное, проблема исчезла после "git add iris".

mblsha 09.12.2008 23:51

Я разместил аналогичный вопрос здесь, в stackoverflow, и в конечном итоге сам ответил на него, но я обнаружил, что использование git reset HEAD iris сработало для моей проблемы с конфликтами подмодулей.

Другие вопросы по теме