For at sende et HTTPS-klon gennem en proxy uden at ændre Python-processens miljø eller skrive en global Git-indstilling, giv variablerne 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',
    },
)

Brug proxy-URL'en direkte i Python-strengene. Til et offentligt lager og en rute, hvor offentlige proxyer er tilladt, leverer HTTP-proxy-listen kandidat-endpoints. Shell-grupperingstegn er ikke en del af den URL. En SSH-lager-URL følger i stedet SSH-transporten, så dette eksempel kræver en HTTPS-lager-URL.

Hvis Git stadig tager en anden rute

env-mappingen opdaterer det miljø, som Git-underprocessen arver; den erstatter ikke miljøet med et tomt. Kontrollér arvede no_proxy-værdier for en omgåelse, og kontrollér Gits egen http.proxy-konfiguration, som kan tilsidesætte den tilsvarende miljøindstilling.

Du kan også støde på eksempler, der giver config til klonen. Det kalder Git clone's --config-indstilling og skriver konfiguration i det nye lager. Vælg det kun, når indstillingen skal overleve denne klonproces; Git-konfiguration ved kloning kontra kun ved kald forklarer forskellen.

Relaterede artikler