Задайте Git разные правила прокси для разных хостов
HTTP-конфигурация Git для конкретных URL может оставить внутренний сервис прямым, сохранив прокси в другом месте. Проверьте результат сопоставления для точного URL.
Одна конфигурация Git может обслуживать два совершенно разных маршрута: внешний хост, доступный через одобренный прокси, и внутренний хост, доступный напрямую. Вам не нужно каждый раз править глобальное значение по умолчанию при смене репозитория.
Git поддерживает HTTP-конфигурацию для конкретных URL. Например:
[http]
proxy = http://proxy.example:8080
[http "https://git.office.example/"]
proxy =
Для внешнего публичного репозитория, где разрешены публичные прокси, список HTTP-прокси предлагает кандидатов для конечной точки по умолчанию. Пустое значение — это явное переопределение для совпадающего URL. Оно отличается от удаления того более конкретного ключа, что может снова открыть общий прокси.
Сопоставьте URL, который использует Git
Схема, имя хоста, порт, путь и необязательное имя пользователя участвуют в документированных правилах сопоставления. Не рассматривайте подраздел URL как общее выражение с подстановочными знаками оболочки. Более узкое правило пути может победить более широкое правило хоста.
Для просмотра подходящей конфигурации прокси только для чтения:
git config --get-urlmatch http.proxy https://git.office.example/team/project.git
Это проверяет сопоставление конфигурации. Это не сетевой тест и не доказывает, что маршрут доступен. Учитывайте также другие области конфигурации и соответствующие параметры среды.
Перенаправление — это не новое сопоставление конфигурации
Документация Git говорит, что сопоставляются URL, переданные непосредственно командам Git; URL, посещаемые из-за перенаправления, в этом сопоставлении не участвуют. Помните об этом ограничении, если первый хост перенаправляет загрузки в другое место.
Маршрут должен соответствовать и транспорту. Удалённый репозиторий SSH не управляется подразделом URL HTTP только потому, что тот же сервис предлагает веб-сайт HTTPS.
Используйте несколько осознанных правил, затем проверьте результат для показательных URL. Долгое накопление глобальных, локальных для репозитория и специфичных для URL записей прокси гораздо труднее осмыслить, чем сетевое различие, которое вы пытались выразить.