Изменение https-адреса подмодулей в .git / config на ssh-адрес - PullRequest
0 голосов
/ 19 марта 2019

Мне нужно использовать ssh forwarding-agent для включения клонирования git на удаленных серверах. В репозитории есть подмодули, которые изначально были добавлены с их https адресами. Для работы экспедитора, я думаю, мне нужно изменить эти адреса на соответствующий ssh адрес.

Поможет ли изменение этих адресов в .git/config решить мою проблему?

Ответы [ 2 ]

3 голосов
/ 19 марта 2019

Используйте git config --global url.<base>.insteadOf для замены URL на лету.Что-то вроде

git config --global url.<new-url-with-https>.insteadOf git@<server>:<user>/<repo>.git

См. Больше примеров в https://stackoverflow.com/search?q=%5Bgit-submodules%5D+insteadof

0 голосов
/ 19 марта 2019

URL-адрес модуля хранится в .gitmodules в корне вашей песочницы. Этот файл отслеживается как часть Git-репозитория. Если вы внесете изменения и подтвердите их, они будут видны другим пользователям репозитория Git.

Когда вы звоните git submodule sync, а затем git submodule init, URL-адрес разрешается и копируется в .git/config. Когда вы звоните git submodule update, подмодуль клонируется, и его URL также находится в .git/modules/<module-name>/config.

Чтобы навсегда изменить URL, отредактируйте .gitmodules и снова наберите git submodule sync и git submodule init.

Чтобы временно изменить URL-адрес, вместо этого выполните следующие два изменения:

Измените URL в .git/config для подмодуля

Зайдите внутрь субмодуля и позвоните:

git remote set-url origin <new-url-with-https>

Вторая команда обновит URL в .git/modules/<module-name>/config, который является папкой .git для субмодуля.

...