Send en GitPython-klone gjennom en HTTP-proxy
Gi et proxy-miljø til Repo.clone_from, og kontroller deretter Git-innstillingene som kan overstyre det.
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.