заменить протокол подмодуля git с git на http - PullRequest
26 голосов
/ 09 июля 2011

Я добавляю подмодуль с URL-адреса git @ ..., чтобы иметь возможность развиваться в нем. Теперь я хочу развернуть приложение и заменить URL-адрес на git: // ..., чтобы он не нуждался в аутентификации для репо подмодуля из Capistrano. Является ли редактирование URL-адреса в .gitmodules полностью для этого?

Ответы [ 2 ]

52 голосов
/ 09 июля 2011

Редактирование файла .gitmodules (затем его фиксация и отправка) будет достаточным для любых новых клонов.

Кроме того, когда инициализируется подмодуль (например, git submodule init …,git submodule update --init …, или git clone --recursive …, и т. Д.) Его URL копируется из файла .gitmodules в файл .git/config хранилища.

Итак, если у вас есть существующий «клоны развертывания »(те, к которым вы теперь хотите получить доступ к подмодулям через git://… URL-адреса), вам также придется обновить URL-адрес в их .git/config.Вы можете использовать git submodule sync для автоматического копирования URL субмодуля из текущего файла .gitmodules в файл .git/config (т. Е. После того, как вы извлекли коммит, обновляющий файл .gitmodules).

ПодмодульURL-адреса в .git/config обычно не обновляются автоматически, поскольку в некоторых случаях вы хотите переопределить URL-адрес только в определенных ситуациях.В частности, вы часто захотите использовать git@… URL в вашем репозитории .git/config (чтобы вы могли использовать SSH), но поместите git://… URL в .gitmodules (чтобы обычные пользователи не нуждались в SSH-на основе аутентификации).

0 голосов
/ 01 августа 2017

У меня возникли похожие проблемы, и после поиска в Google я наткнулся на эту статью: Относительный URL для подмодуля Git . Я обнаружил, что это хорошая практика, так как нет необходимости вручную изменять файл .gitsubmodule независимо от того, кто его проверяет. Это, вероятно, относится и к вашему делу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...