2012-04-11 3 views
1

Я создал подмодуль в моем корне репозитория в определенной папке.Невозможно получить корневой подмодуль, работающий над Git

Я вижу, что подмодуль хорошо зарегистрирован в .git/.gitmodules и в .gitmodules, но я не могу заставить его работать.

Я не вижу его, если я делаю статус субмодуля git или если я делаю обновление.

Git не может просто увидеть этот подмодуль (другие работают хорошо).

У вас есть маршрут?

Спасибо за ваше время

+0

ли вы сделать 'мерзавец подмодуль update' – VonC

+0

ли вы переместить исходный репозиторий после создания подмодуль, или запустить его под Windows? Есть такие проблемы, как подмодули, созданные с 1.7.8 и 1.7.9 (это исправлено в 1.7.10) – CharlesB

+0

Обновление ничего не меняет, Git просто не может видеть подмодуль, когда я запускаю команду git subodule. Я не двигаю репо, так как я начал разработку. –

ответ

0

Git не смог распознать подмодуль, что бы я ни делал.

без каких-либо изменений, у меня просто:

  1. Удалить папку подмодуль
  2. Добавить подмодуль

Субмодуль теперь работает правильно.

Обратите внимание, что Git не добавляет новый подмодуль, он просто распознает подмодуль так, как должен.

Спасибо за все ваши ответы

0

Одна идея - вы пытаетесь добавить пустой репозиторий в качестве субмодуля. Вы должны иметь в аренде один коммит в подмодуле, потому что он связан идентификатором commit. Попробуйте выполнить эту команду в корневом репо:

git ls-tree HEAD -r 

Вы видите ваш подмодуль в результатах? Линия должна выглядеть так:

160000 commit 72a0f63227341c35af566de0d6d4a76797ba22b2 my_submodule_dir 
+0

Спасибо за ваш ответ, я вижу эти строки, но у меня есть один из них для каждого файла моего подмодуля. Какие-нибудь идеи о том, что произошло? Обратите внимание, что репо подмодуля полна коммитов. –

+0

Ключевым моментом является то, что тип объекта в дереве должен быть «commit», это означает подмодуль. Для обычных файлов/папок вы видите тип «tree» или «blob». Вы можете попытаться найти его с помощью grep, например: git ls-tree HEAD -r | grep "commit" –

+0

P.S. Если подмодуль не пуст, то мое оригинальное предложение неверно –