Да бисте провели један 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 због заобилажења и сопствену Git конфигурацију http.proxy, која може надјачати одговарајућу поставку окружења.

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

Повезани чланци