
Есть вы находитесь за корпоративным прокси, то, возможно, сталкивались с проблемой ограничения доступа во внешнюю сеть по некоторым протоколам. Да что некоторым — часто режут все, кроме HTTP(S). Это создает проблему при выкачивании исходников проектов с GitHub, Bitbucket и других площадок. Собственно, сам проект можно выкачать указывая в пути https:// адрес вместо git://. Но с внешними модулями проекта так не пройдет. Тут остается править все пути в .gitmodules, что плохо, так как будет постоянно возникать вопрос слияния при обновлении этого файла на сервере.
Но есть и другой способ. Можно сказать git, чтобы он автоматически подменял при чтении конфига все вхождения git:// на https://. Для этого достаточно ввести в консоли следующую команду:
$ git config --global url."https://github.com/".insteadOf git://github.com/
Интересная особенность.
ОтветитьУдалитьА чем https:// не подходит (это именно вопрос, вдруг он чего-то не умеет, чего умеет git://).
Практически во всех проектах используют ссылки на подмодули в виде git://.
ОтветитьУдалитьЯ вижу тут такое объяснение: в этом случае для аутентификации будет использоваться твой сертификат. Это важно, если ты заливаешь в эти же подмодули. Если только чтение из открытых репозитариев, то https вполне сойдет, т.к. ты заходишь под анонимным пользователем. Ну и понятно, что свой логин/пароль в файле .submodules никто не станет для https прописывать.
Хотя я столкнулся с проблемой при клонировании mono и там как раз вариант без аутентификации. Не "[email protected]:", который использует сертификат, а именно "git://". Последний не использует аутентификацию ни сервера, ни клиента. Неизвестно мне нафик там так сделали.
ОтветитьУдалить