Git: изменить происхождение клонированного подмодуля
Я создал проект submodule
и разместил его на Github.
Я создал другой проект supermodule
, а затем сделал следующее:
cd supermodule
git init
mkdir lib
git clone git://github.com/tandu/submodule lib/submodule
git submodule add ./lib/submodule lib/submodule
Это сработало хорошо, но на веб-сайте он не может найти ссылку на подмодуль при просмотре файлов (на самом деле он просто говорит "Загрузка данных фиксации" навсегда). Сама папка подмодуля имеет правильный origin
.
По-видимому, я должен был сделать
...
mkdir lib
git submodule add git://github.com/tandu/submodule lib
... но это слишком поздно для этого. Как я могу подмодуль в этом проекте правильно указать на origin
?
Ответы
Ответ 1
Это, по-видимому, очень сильно зависит от версии git, которую вы используете.
- Если присутствует, измените запись
url
в разделе [submodule "<dirname>"]
файла .gitmodules
.
- Если присутствует, измените запись
url
в разделе [submodule "<dirname>"]
файла .git/config
.
- Измените
url
в конфигурации самого подмодуля. Местоположение файла config
зависит от версии. Старые версии имели его в <dirname>/.git/config
, новее в .git/modules/<dirname>/config
. Однако вы всегда можете использовать команду ниже:
cd <dirname>
git config remote.origin.url <new_url>