Использование SSH против https с подмодулями Github
Я хотел бы настроить публичное GitHub-репо с субмодулями. GitHub предлагает два способа подключения: https:...
& git@...
протоколы. Для команды, работающей над проектом, git@...
гораздо проще в использовании, потому что мы все используем надлежащие сертификаты SSH. Но для случайного пользователя, который не является членом команды, https:...
это единственный вариант. Подмодулям git требуется полный URL.
Как мы можем настроить подмодули репозитория, чтобы как разработчики, так и сторонние участники могли одинаково хорошо использовать систему? Спасибо!
3 ответа
Опубликуйте свои подмодули с https://
протокол, но заставьте всех ваших разработчиков использовать ssh://
протокол. Git может заменить один протокол другим на лету:
git config url."ssh://git@".insteadOf https://
Основываясь на ответе доктора философии , я обнаружил, что мне нужно указать
--global
чтобы убедиться, что конфигурация применима и к подмодулям. Это команда, которую я выполнил:
git config --global 'url.ssh://git@example.com.insteadOf' 'https://example.com:PORT'
(Написано как ответ, так как у меня нет репутации комментировать)
Во-первых, это не "протокол git", а фактически протокол SSH с URL-адресом git@github.com:user:repo
,
(на самом деле есть протокол git, больше не используемый в наши дни)
Во-вторых, сохраните URL-адреса как https для подмодулей: легко кэшировать учетные данные (имя пользователя / пароль) с помощью диспетчера учетных данных (например, GCM для Windows).
Но это означает, что эти пользователи должны быть добавлены в качестве участников (независимо от того, используете ли вы HTTPS или URL-адреса SSH)