Prežeňte jeden klon GitPython cez HTTP proxy
Odovzdajte proxy prostredie funkcii Repo.clone_from a potom skontrolujte nastavenia Git, ktoré ho môžu prepísať.
Aby ste jeden HTTPS klon prehnali cez proxy bez zmeny prostredia procesu Python alebo zápisu globálneho nastavenia Git, odovzdajte premenné funkcii 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',
},
)Použite URL proxy priamo v reťazcoch Pythonu. Pre verejný repozitár a trasu, kde sú povolené verejné proxy, zoznam HTTP proxy ponúka kandidátske koncové body. Úvodzovky zoskupenia v shelli nie sú súčasťou tejto URL. URL repozitára SSH sa riadi transportom SSH, preto tento príklad vyžaduje URL repozitára HTTPS.
Ak Git stále volí inú cestu
Mapovanie env aktualizuje prostredie, ktoré podproces Git dedí; nenahrádza toto prostredie prázdnym. Skontrolujte zdedené hodnoty no_proxy kvôli obchádzaniu a vlastnú konfiguráciu Git http.proxy, ktorá môže prepísať príslušné nastavenie prostredia.
Môžete sa tiež stretnúť s príkladmi, ktoré klonu odovzdávajú config. To volá voľbu --config príkazu Git clone a zapisuje konfiguráciu do nového repozitára. Zvoľte to len vtedy, keď má nastavenie prežiť tento proces klonovania; konfigurácia Git pri klonovaní verzus len pri volaní vysvetľuje rozdiel.