Przepuść jeden klon GitPython przez proxy HTTP
Przekaż środowisko proxy do Repo.clone_from, a potem sprawdź ustawienia Git, które mogą je nadpisać.
Aby przepuścić jeden klon HTTPS przez proxy bez zmiany środowiska procesu Pythona i bez zapisywania globalnego ustawienia Git, przekaż zmienne do 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',
},
)Użyj adresu URL proxy bezpośrednio w łańcuchach Pythona. Dla publicznego repozytorium i trasy, na której dozwolone są publiczne proxy, lista proxy HTTP dostarcza kandydatów na punkty końcowe. Cudzysłowy grupujące powłoki nie są częścią tego adresu. Adres repozytorium SSH korzysta z transportu SSH, więc ten przykład wymaga adresu repozytorium HTTPS.
Jeśli Git nadal wybiera inną trasę
Mapowanie env aktualizuje środowisko dziedziczone przez podproces Git; nie zastępuje go pustym środowiskiem. Sprawdź odziedziczone wartości no_proxy pod kątem obejścia oraz własną konfigurację http.proxy Git, która może nadpisać odpowiednie ustawienie środowiska.
Możesz też spotkać przykłady przekazujące config do klonu. To wywołuje opcję --config polecenia Git clone i zapisuje konfigurację w nowym repozytorium. Wybierz to tylko wtedy, gdy ustawienie ma przetrwać ten proces klonowania; konfiguracja Git w czasie klonowania kontra tylko przy wywołaniu wyjaśnia różnicę.