Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > Version Control > [git] как правильно работать с модулями?


Автор: Eric-S 02.01.19, 22:35
здравствуйте!

Несколько раз пытался справиться с модулями в git.
Нахожу какое-нибудь руководства и объяснения, читаю, вроде всё понятно. Добавляю модуль в проект и вроде оно даже работает. А потом чего-нибудь ломается. Понятно лишь, что я чего-то упускаю или неправильно делаю.

Подключаю так:
git submodule add (repa) (dir)

фиксирую просто
git commit

Вот например сейчас клонировал свой репозиторий с модулем. А модуль вообще пустой. И git remote show origin вместо url репозитория модуля, указывает на репозиторий проекта.

Сделал
git submodule init
git submodule update

Файл .gitmodules на месте, директории модулей есть, но пустые.
Я поправил git remote set-url origin к репозиторию модуля. Но оно всё криво, кидает warning или failed.

Есть подозрение, что лажа с разделителями путей. Я под windows.
git submodule add c:\repa\special.git modules/special

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

Подскажите что можно почитать? Хотелось бы краткие ответы с конкретными командами.

1. как правильно добавить модуль?
2. как правильно обновить и зафиксировать модуль?
3. как правильно переместить или переименовать модуль?
4. как правильно удалить модуль?
5. Как правильно инициализировать модуль в клонированном репозитории?
6. Можно ли настроить репозиторий так, чтоб при клонировании в новое расположение, он сразу был готовым к работе?

Вообще на счёт перемещения и удаления, нашёл только какие-то странные рекомендации. Включая ручное удаление или перемещение файлов в .git.

С клонированием в новый репозиторий непонятно. Вроде делал правильно, а выходит лажа. Есть оговорки на счёт рекурсивного клонирования. Но я видимо как-то не так клонирую или обновляю модуль.

После пинаний и какого-то колдунства, оно начинает работать. Но я не уверен, что в следующий раз у меня всё заведётся.

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)