Skicka en GitPython-klon genom en HTTP-proxy
Ge en proxy-miljö till Repo.clone_from och kontrollera sedan de Git-inställningar som kan åsidosätta den.
För att skicka en HTTPS-klon genom en proxy utan att ändra Python-processens miljö eller skriva en global Git-inställning, ge variablerna till 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',
},
)Använd proxy-URL:en direkt i Python-strängarna. För ett offentligt arkiv och en väg där offentliga proxyservrar tillåts levererar HTTP-proxylistan kandidat-slutpunkter. Skalets grupperingscitattecken är inte en del av den URL:en. En SSH-arkiv-URL följer SSH-transporten istället, så det här exemplet kräver en HTTPS-arkiv-URL.
Om Git fortfarande tar en annan väg
env-mappningen uppdaterar miljön som Git-underprocessen ärver; den ersätter inte miljön med en tom. Kontrollera ärvda no_proxy-värden för en kringgång och Gits egen http.proxy-konfiguration, som kan åsidosätta motsvarande miljöinställning.
Du kan också stöta på exempel som ger config till klonen. Det anropar Git clones --config-alternativ och skriver konfiguration i det nya arkivet. Välj det bara när inställningen ska överleva den här klonprocessen; Git-konfiguration vid kloning kontra bara vid anropet förklarar skillnaden.