За да пренесете еден 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 прокси нуди кандидат-крајни точки. Наводниците за групирање во shell не се дел од таа URL-адреса. URL-адресата на SSH-складиште го следи SSH-транспортот, затоа овој пример бара HTTPS-URL на складиште.

Ако Git сè уште избира друг пат

Пресликувањето env го ажурира опкружувањето што го наследува Git-подпроцесот; тоа не го заменува тоа опкружување со празно. Проверете ги наследените вредности на no_proxy за заобиколување и сопствената конфигурација http.proxy на Git, која може да ја надвладее соодветната поставка на опкружувањето.

Може да наидете и на примери што му предаваат config на клонот. Тоа ја повикува опцијата --config на Git clone и запишува конфигурација во новото складиште. Изберете го тоа само кога поставката треба да го надживее овој процес на клонирање; Git-конфигурација при клонирање наспроти само при повикување ја објаснува разликата.

Поврзани статии