De a Git reglas de proxy distintas para hosts distintos
La configuración HTTP específica por URL de Git puede mantener un servicio interno directo mientras conserva un proxy en otro lugar. Inspeccione el resultado de coincidencia para la URL exacta.
Una sola configuración de Git puede servir dos rutas muy distintas: un host externo alcanzado mediante un proxy aprobado y un host interno alcanzado directamente. No tiene que editar el valor global predeterminado cada vez que cambia de repositorio.
Git admite configuración HTTP específica por URL. Por ejemplo:
[http]
proxy = http://proxy.example:8080
[http "https://git.office.example/"]
proxy =
Para un repositorio público externo donde se permiten proxies públicos, la lista de proxies HTTP ofrece candidatos para el extremo predeterminado. El valor vacío es una anulación explícita para la URL coincidente. Es distinto de eliminar esa clave más específica, lo que puede volver a exponer el proxy genérico.
Haga coincidir la URL que usa Git
El esquema, el nombre de host, el puerto, la ruta y el nombre de usuario opcional participan en las reglas de coincidencia documentadas. No trate la subsección de URL como una expresión general de comodines del shell. Una regla de ruta más estrecha puede vencer a una regla de host más amplia.
Para una vista de solo lectura de la configuración de proxy coincidente:
git config --get-urlmatch http.proxy https://git.office.example/team/project.git
Esto inspecciona la coincidencia de configuración. No es una prueba de red ni demuestra que la ruta sea alcanzable. Tenga en cuenta también otros ámbitos de configuración y los ajustes de entorno pertinentes.
Una redirección no es una nueva coincidencia de configuración
La documentación de Git dice que las URL coincidentes son las que se pasan directamente a los comandos de Git; las URL visitadas debido a una redirección no participan en esa coincidencia. Tenga presente esa limitación si el primer host redirige las descargas a otro lugar.
La ruta también debería coincidir con el transporte. Un remoto SSH no se rige por una subsección de URL HTTP solo porque el mismo servicio ofrezca un sitio web HTTPS.
Use unas pocas reglas intencionadas y luego inspeccione el resultado para URL representativas. Una larga acumulación de entradas de proxy globales, locales del repositorio y específicas por URL es mucho más difícil de razonar que la distinción de red que intentaba expresar.