Protáhněte jeden klon GitPython přes HTTP proxy
Předejte proxy prostředí funkci Repo.clone_from a potom zkontrolujte nastavení Git, která ho mohou přebít.
Chcete-li jeden HTTPS klon protáhnout přes proxy bez změny prostředí procesu Python nebo zápisu globálního nastavení Git, předejte proměnné funkci 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žijte URL proxy přímo v řetězcích Pythonu. Pro veřejný repozitář a trasu, kde jsou veřejné proxy povoleny, seznam HTTP proxy nabízí kandidátské koncové body. Uvozovky pro seskupení v shellu nejsou součástí této URL. URL repozitáře SSH se řídí transportem SSH, takže tento příklad vyžaduje URL repozitáře HTTPS.
Pokud Git stále volí jinou cestu
Mapování env aktualizuje prostředí, které podproces Git dědí; nenahrazuje toto prostředí prázdným. Zkontrolujte zděděné hodnoty no_proxy kvůli obcházení a vlastní konfiguraci Git http.proxy, která může přebít odpovídající nastavení prostředí.
Můžete se také setkat s příklady, které klonu předávají config. To volá volbu --config příkazu Git clone a zapisuje konfiguraci do nového repozitáře. Zvolte to jen tehdy, když má nastavení přežít tento proces klonování; konfigurace Git při klonování versus pouze při volání vysvětluje rozdíl.