Подтвердить что ты не робот

Замените git протокол подмодуля с git на http

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

4b9b3361

Ответ 1

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

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

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

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

Ответ 2

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