Как преобразовать `git:` urls в `http:` urls - PullRequest
126 голосов
/ 12 ноября 2009

Я работаю за http прокси. Я пытаюсь клонировать исходное дерево Android с помощью их инструмента «репо».

Этот инструмент настаивает на использовании git:// URL-адресов, даже если http:// URL-адреса также работают. В результате я не могу загрузить исходный код.

Можно ли заставить git всегда использовать http?

Редактировать: Мой http_proxy настроен правильно. Например, это работает:

git clone http://android.git.kernel.org/platform/manifest.git

Но это не так (errno = Время соединения истекло):

git clone git://android.git.kernel.org/platform/manifest.git

Так этот ответ мне не очень помогает.

Ответы [ 4 ]

282 голосов
/ 08 июля 2012

Вот пример переписывания протокола по умолчанию для GitHub:

git config --global url.https://github.com/.insteadOf git://github.com/
35 голосов
/ 12 ноября 2009

Я не знаю, как этот инструмент repo использует Git (и если вы можете настроить 'repo' для использования протокола http), но вы можете попробовать обмануть его, используя переменную конфигурации url.<base>.insteadOf (см. git-config и git-fetch manpages).

Вы пытались использовать core.gitProxy для прохождения через брандмауэр, если это проблема с использованием протокола git?

22 голосов
/ 16 февраля 2011

У меня была такая же проблема с рекурсивным получением подмодулей в git-репозитории. Я за сумасшедшим брандмауэром, который не разрешает исходящие соединения через порт git. Некоторые из подмодулей подмодулей были закодированы как git://github.com/blah/blah.git. Это убило мою рекурсивную популяцию субмодулей. Обходной путь следующий:

git config --global url."https://<GITUSERNAME>@".insteadOf git://

Это заменит git:// на https://<GITUSERNAME>@ во всех URL-адресах хранилища субмодулей. Вам нужно заменить <GITUSERNAME> на ваше собственное имя пользователя git. Также обратите внимание, что требуется --global; просто добавление этой конфигурации в базовый каталог репозитория не работает.

3 голосов
/ 10 декабря 2016

Вы можете проверить в ~/.gitconfig, перезаписываете ли вы SSH с помощью https://, или наоборот.

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