For å sende en HTTPS-klone gjennom en proxy uten å endre miljøet til Python-prosessen eller skrive en global Git-innstilling, gi variablene til 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',
    },
)

Bruk proxy-URL-en direkte i Python-strengene. For et offentlig depot og en rute der offentlige proxyer er tillatt, leverer HTTP-proxy-listen kandidat-endepunkter. Skallgrupperingstegn er ikke en del av den URL-en. En SSH-depot-URL følger SSH-transporten i stedet, så dette eksempelet krever en HTTPS-depot-URL.

Hvis Git fortsatt tar en annen rute

env-tilordningen oppdaterer miljøet som Git-underprosessen arver; den erstatter ikke miljøet med et tomt. Kontroller arvede no_proxy-verdier for en omgåelse, og kontroller Gits egen http.proxy-konfigurasjon, som kan overstyre den tilsvarende miljøinnstillingen.

Du kan også støte på eksempler som gir config til klonen. Det kaller Git clone sin --config-innstilling og skriver konfigurasjon i det nye depotet. Velg det bare når innstillingen skal overleve denne kloneprosessen; Git-konfigurasjon ved kloning kontra bare ved kall forklarer forskjellen.

Relaterte artikler