Несогласованный URL-адрес удаленного подмодуля git

У меня есть подмодуль git:

$ cd zathura
$ git remote get-url origin
ssh://[email protected]/pwmt/zathura.git
$ cd ..

Но внутри .git/config

[submodule "zathura"]
    url = https://github.com/pwmt/zathura.git

А внутри .gitmodules

[submodule "zathura"]
    path = zathura
    url = https://github.com/pwmt/zathura.git
    ignore = dirty

Вопросы

Почему удаленные URL-адреса несовместимы (смесь https и ssh)? Это действительно? Или это из-за какой-то ошибки, которую я мог сделать? Как я могу иметь согласованный удаленный URL-адрес и какой URL-адрес используется git?


person Porcupine    schedule 29.04.2021    source источник
comment
Был ли у вас insteadOf на месте, когда вы инициализировали подмодуль? (Я не уверен, перезаписывает ли это запись in-.git/config или нет.) Как вы первоначально инициализировали подмодуль? В любом случае, здесь нет ничего принципиально неправильного: строка .gitmodules — это всего лишь инструкция для git submodule init на тот случай, если подробнее ничего нет; запись .git/config настроена пользователем git submodule init; и URL-адрес удаленного устройства является фактически используемым, настроенным начальным git clone и изменяемым в любое время после этого.   -  person torek    schedule 29.04.2021
comment
Я инициализировал с помощью git submodule add --force --name "${RepositoryName}" "${Url}" "${RepositoryPath}". Да, я использовал insteadOf. Итак, при использовании insteadOf URL-адрес не отражается в .gitmodules и .git/config?   -  person Porcupine    schedule 30.04.2021
comment
Как я уже сказал, я не уверен, что insteadOf вызывает перезапись во время создания экземпляра. Хотя вы можете легко проверить это.   -  person torek    schedule 30.04.2021


Ответы (1)


Из комментариев Git Submodules, эквивалентных для url.insteadof, это должно работать:

git -c url.https://github.com/[email protected]: submodule update --init --recursive

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

person VonC    schedule 30.04.2021