For å senda ein HTTPS-klone gjennom ein proxy utan å endre miljøet til Python-prosessen eller skrive ei global Git-innstilling, gi variablane 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-strengane. For eit offentleg depot og ei rute der offentlege proxyar er tillatne, leverer HTTP-proxy-lista kandidat-endepunkt. Skal-grupperingsteikn er ikkje del av den URL-en. Ein SSH-depot-URL følgjer SSH-transporten i staden, så dette dømet krev ein HTTPS-depot-URL.

Viss Git framleis tek ei anna rute

env-tilordninga oppdaterer miljøet som Git-underprosessen arvar; ho erstattar ikkje miljøet med eit tomt. Kontroller arva no_proxy-verdiar for ei omgåing, og kontroller Git si eiga http.proxy-konfigurasjon, som kan overstyre den tilsvarande miljøinnstillinga.

Du kan òg støyte på døme som gir config til klonen. Det kallar på --config-innstillinga til Git clone og skriv konfigurasjon i det nye depotet. Vel det berre når innstillinga skal overleve denne kloneprosessen; Git-konfigurasjon ved kloning mot berre ved kall forklarer skilnaden.

Relaterte artiklar