Usar un proxy para un solo repositorio Git
Configura un proxy HTTP local al repositorio, revisa la configuración que Git elige para la URL remota y retira la anulación cuando deje de hacer falta.
No necesitas un proxy Git global solo porque un proyecto requiera una conexión distinta. Una copia de trabajo existente tiene su propia configuración local, así que puedes mantener el cambio en ese repositorio.
Estos ejemplos usan los comandos actuales git config set/get/unset. El directorio del proyecto, la URL remota y la IP de documentación son valores de ejemplo. Para probar un repositorio público donde se permitan proxies públicos, elige un candidato de la lista de proxies HTTP.
git -C project config set --local http.proxy http://203.0.113.10:8080
git -C project ls-remote origin
La URL del proxy incluye su esquema de transporte. Un remoto HTTPS puede usar un proxy HTTP normal que admita CONNECT; el esquema HTTPS del remoto no obliga a cambiar la URL del proxy a HTTPS.
Comprueba qué eligió Git realmente
Si el resultado es inesperado, inspecciona el valor seleccionado para la URL remota real:
git -C project config get --show-origin \
--url=https://example.com/team/project.git http.proxy
Usa tu remoto HTTPS real en esa consulta. Git puede tener ajustes de sistema, usuario, repositorio, línea de comandos y específicos de URL. Mirar solo un valor global http.proxy puede omitir una regla más específica. La salida del origen ayuda a identificar el archivo o la línea de comandos de donde procede el resultado.
El ajuste local se aplica al acceso HTTP desde ese repositorio, no solo a una rama concreta. Por eso un repositorio con varios remotos HTTP puede usarlo para más remotos que el probado inicialmente. Hay ajustes HTTP específicos de URL si necesitas una coincidencia más limitada.
Antes de que exista la copia de trabajo
Para el clon inicial, decide si la anulación debe persistir; para limitarla a esa invocación de Git, usa:
git -c http.proxy=http://203.0.113.10:8080 \
clone https://example.com/team/project.git
La anulación de línea de comandos no se convierte por sí sola en una entrada permanente en la nueva copia. Establece después un valor local si las futuras operaciones fetch deben usar esa ruta.
Un remoto SSH es un caso distinto
Un remoto que empieza por git@host: o ssh:// usa SSH. El ajuste de proxy HTTP de Git no lo convierte en una transferencia HTTP. Comprueba el transporte del remoto antes de reemplazar una IP de proxy funcional solo porque una operación SSH sigue fallando.
Cuando ya no quieras la anulación local, elimina solo esa clave:
git -C project config unset --local http.proxy
Al eliminarla, vuelve a aplicarse la configuración pertinente de otras fuentes. No es un comando para borrar todos los ajustes de proxy del equipo.