За да прекарате един 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 за заобикаляне и проверете собствената конфигурация http.proxy на Git, която може да отмени съответната настройка на средата.

Може да срещнете и примери, които подават config към клонирането. Това извиква опцията --config на Git clone и записва конфигурация в новото хранилище. Изберете това само когато настройката трябва да надживее този процес на клониране; Git конфигурация по време на клониране и само при извикване обяснява разликата.

Подобни статии