Подмодуль Git не отслеживается после слияния предыдущей ветки

Мои репозитории git содержат основную ветку с разрабатываемой версией нашего приложения и ветку для каждой выпущенной (или в настоящее время протестированной) версии приложения.

Начиная с последней ветки, мы добавили подмодуль в главную (= разработку) ветку.

Сегодня мне пришлось внести несколько изменений в последнюю ветку, в которой нет подмодуля. Когда я проверяю эту ветку, я всегда получаю предупреждение «предупреждение: невозможно rmdir Path / To / Submodule: Directory not empty», а «Path / To / Submodule» будет отображаться как «неотслеживаемый», когда вы выполняете «git status» ". После внесения изменений я всегда убеждаюсь, что выборочно добавляю файлы перед фиксацией, чтобы случайно не добавить «Путь / К / Подмодуль» в эту ветку.

При повторной проверке основной ветки и простом слиянии с помощью «git merge» подмодуль теперь отображается как «неотслеживаемый» в основной ветке.

Глядя на .gitmodules, подмодуль все еще определен ...

Есть какие-нибудь подсказки о том, как это восстановить? Мне нужно повторно инициализировать подмодуль?

Ура, Нильс


person Niels R.    schedule 29.08.2011    source источник


Ответы (1)


Я не верю, что у вас возникнут эти симптомы, если этот каталог не был отслежен в какой-то момент истории вашей последней ветки, а затем git rm по какой-то причине.

При этом, если вы повторно инициализируете свой подмодуль сейчас, следующее слияние не должно удалить его снова, потому что фиксация rm уже была слита. Это определенно проще, чем пытаться переписать историю вашей последней ветки так, чтобы подкаталог вообще не присутствовал.

person Karl Bielefeldt    schedule 29.08.2011