Da biste proveli jedan HTTPS klon kroz proxy bez promjene okruženja Python procesa ili pisanja globalne Git postavke, predajte varijable funkciji 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',
    },
)

Koristite proxy URL izravno u Python nizovima. Za javni repozitorij i rutu na kojoj su javni proxyji dopušteni, popis HTTP proxyja nudi kandidat-endpointove. Navodnici za grupiranje u shellu nisu dio tog URL-a. URL SSH repozitorija slijedi SSH transport, pa ovaj primjer zahtijeva HTTPS URL repozitorija.

Ako Git i dalje ide drugim putem

Preslikavanje env ažurira okruženje koje Git podproces nasljeđuje; ono ne zamjenjuje to okruženje praznim. Provjerite naslijeđene vrijednosti no_proxy zbog zaobilaženja i provjerite vlastitu Git konfiguraciju http.proxy, koja može nadjačati odgovarajuću postavku okruženja.

Možete sresti i primjere koji klonu predaju config. To poziva opciju --config naredbe Git clone i upisuje konfiguraciju u novi repozitorij. Odaberite to samo kada postavka treba nadživjeti ovaj proces kloniranja; Git konfiguracija u vrijeme kloniranja i samo u vrijeme poziva objašnjava razliku.

Povezani članci