Прокси для одного репозитория Git
Настройте локальный HTTP-прокси репозитория, проверьте выбранную Git конфигурацию для удалённого URL и удалите переопределение, когда оно не нужно.
Глобальный прокси Git не нужен лишь потому, что одному проекту требуется другое соединение. Существующая рабочая копия имеет свою локальную конфигурацию, поэтому изменение можно оставить в этом репозитории.
Примеры используют текущие команды git config set/get/unset. Каталог проекта, удалённый URL и документационный IP — заполнители. Для теста публичного репозитория, где разрешены публичные прокси, выберите кандидата из списка HTTP-прокси.
git -C project config set --local http.proxy http://203.0.113.10:8080
git -C project ls-remote origin
URL прокси включает транспортную схему. Удалённый репозиторий HTTPS может использовать обычный HTTP-прокси с CONNECT; схема HTTPS удалённого URL не требует менять URL прокси на HTTPS.
Проверьте, что Git действительно выбрал
При неожиданном результате проверьте значение, выбранное для фактического удалённого URL:
git -C project config get --show-origin \
--url=https://example.com/team/project.git http.proxy
В запросе используйте настоящий удалённый HTTPS-репозиторий. Git может иметь системные, пользовательские, репозиторные, командные и URL-специфичные настройки. Просмотр только глобального http.proxy может пропустить более конкретное правило. Вывод происхождения помогает найти файл или источник командной строки, определивший результат.
Локальная настройка относится к HTTP-доступу из этого репозитория, а не только к определённой ветке. Репозиторий с несколькими удалёнными HTTP-адресами может использовать её и для других, кроме первого проверенного. Для более узкого соответствия есть URL-специфичные HTTP-настройки.
Пока рабочей копии нет
При первоначальном клонировании решите, должно ли переопределение сохраниться; чтобы ограничить его этим вызовом Git, используйте:
git -c http.proxy=http://203.0.113.10:8080 \
clone https://example.com/team/project.git
Переопределение командной строки само не становится постоянной записью конфигурации в новой рабочей копии. Задайте локальное значение позже, если последующие fetch должны использовать этот маршрут.
Удалённый репозиторий SSH — другой случай
Удалённый адрес, начинающийся с git@host: или ssh://, использует SSH. Настройка HTTP-прокси Git не превращает его в HTTP-передачу. Проверьте транспорт удалённого адреса перед заменой рабочего IP прокси только потому, что операция SSH всё ещё не удаётся.
Когда локальное переопределение больше не нужно, удалите только этот ключ:
git -C project config unset --local http.proxy
Удаление снова даёт действовать применимой конфигурации других источников. Это не команда удаления всех настроек прокси на машине.