Om een HTTPS-kloon deur 'n proxy te stuur sonder om die Python-proses se omgewing te verander of 'n globale Git-instelling te skryf, gee die veranderlikes aan Repo.clone_from deur:

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',
    },
)

Gebruik die proxy-URL direk in die Python-stringe. Vir 'n publieke pakket en 'n roete waar publieke proxies toegelaat word, verskaf die HTTP-proxylys kandidaat-eindpunte. Skulp-groeperingstekens is nie deel van daardie URL nie. 'n SSH-pakket-URL volg eerder die SSH-transport, so hierdie voorbeeld vereis 'n HTTPS-pakket-URL.

As Git steeds 'n ander roete neem

Die env-afbeelding werk die omgewing by wat die Git-subproses erf; dit vervang nie daardie omgewing met 'n leë een nie. Kontroleer geërfde no_proxy-waardes vir 'n omleiding, en kontroleer Git se eie http.proxy-konfigurasie, wat die ooreenstemmende omgewingsinstelling kan oorheers.

Jy kan ook voorbeelde teëkom wat config aan die kloon deurgee. Dit roep Git-kloon se --config-opsie aan en skryf konfigurasie in die nuwe pakket. Kies dit net wanneer die instelling hierdie kloonproses moet oorleef; kloontyd teenoor slegs-aanroeping Git-konfigurasie verduidelik die verskil.

Verwante artikels