Če želite en klon HTTPS poslati skozi proxy brez spreminjanja okolja procesa Python ali pisanja globalne nastavitve Git, posredujte spremenljivke funkciji 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',
    },
)

Uporabite URL proxyja neposredno v nizih Python. Za javni repozitorij in pot, kjer so dovoljeni javni proxyji, seznam proxyjev HTTP ponuja kandidatne končne točke. Narekovaji za združevanje v lupini niso del tega URL-ja. URL repozitorija SSH sledi transportu SSH, zato ta primer zahteva URL repozitorija HTTPS.

Če Git še vedno izbere drugo pot

Preslikava env posodobi okolje, ki ga podproces Git podeduje; tega okolja ne nadomesti s praznim. Preverite podedovane vrednosti no_proxy za obhod in lastno konfiguracijo Git http.proxy, ki lahko preglasi ustrezno nastavitev okolja.

Morda boste naleteli tudi na primere, ki klonu posredujejo config. To pokliče možnost --config ukaza Git clone in zapiše konfiguracijo v novi repozitorij. Izberite to le, kadar mora nastavitev preživeti ta postopek kloniranja; konfiguracija Git ob kloniranju proti samo ob klicu pojasni razliko.

Sorodni članki