Send et GitPython-klon gennem en HTTP-proxy
Giv et proxy-miljø til Repo.clone_from, og kontrollér derefter de Git-indstillinger, der kan tilsidesætte det.
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.