Провести один клон GitPython через HTTP-прокси
Передайте прокси-окружение в Repo.clone_from, затем проверьте настройки Git, которые могут его переопределить.
Чтобы провести один HTTPS-клон через прокси, не меняя окружение процесса Python и не записывая глобальную настройку Git, передайте переменные в Repo.clone_from:
from git import Repo
repo = Repo.clone_from(
'https://git.example/team/project.git',
'/path/to/new-checkout',
env={
'http_proxy': 'http://proxy.example:8080',
'https_proxy': 'http://proxy.example:8080',
},
)Используйте URL прокси напрямую в строках Python. Для публичного репозитория и маршрута, где разрешены публичные прокси, список HTTP-прокси даёт подходящие конечные точки. Кавычки группировки оболочки не входят в этот URL. URL репозитория SSH использует транспорт SSH, поэтому этому примеру нужен HTTPS-URL репозитория.
Если Git всё равно идёт другим путём
Отображение env обновляет окружение, наследуемое подпроцессом Git; оно не заменяет это окружение пустым. Проверьте унаследованные значения no_proxy на обход и собственную конфигурацию Git http.proxy, которая может переопределить соответствующую переменную окружения.
Вы также можете встретить примеры, передающие config в клон. Это вызывает опцию --config команды Git clone и записывает конфигурацию в новый репозиторий. Выбирайте это только когда настройка должна пережить данный процесс клонирования; конфигурация Git при клонировании против только при вызове объясняет разницу.