Enviar un clon de GitPython a través dun proxy HTTP
Pasa unha contorna de proxy a Repo.clone_from e despois revisa os axustes de Git que poden anulala.
Para enviar un clon HTTPS a través dun proxy sen cambiar a contorna do proceso de Python nin escribir un axuste global de Git, pasa as variábeis a 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',
},
)Usa o URL do proxy directamente nas cadeas de Python. Para un repositorio público e unha ruta onde se permiten proxies públicos, a lista de proxies HTTP ofrece puntos finais candidatos. As comiñas de agrupamento da shell non forman parte dese URL. Un URL de repositorio SSH segue o transporte SSH, así que este exemplo require un URL de repositorio HTTPS.
Se Git aínda toma outra ruta
A asignación env actualiza a contorna que herda o subproceso de Git; non substitúe esa contorna por unha baleira. Revisa os valores herdados de no_proxy por se hai unha excepción e a configuración propia de Git http.proxy, que pode anular o axuste de contorna correspondente.
Tamén podes atopar exemplos que pasan config ao clon. Iso invoca a opción --config de Git clone e escribe configuración no repositorio novo. Escólleo só cando o axuste deba sobrevivir a este proceso de clonación; configuración de Git no momento de clonar fronte a só na invocación explica a diferenza.