Usa un proxy para un único repositorio Git
Configura un proxy HTTP local ao repositorio, revisa a configuración que Git escolle para o URL remoto e retira a substitución cando xa non faga falta.
Non necesitas un proxy Git global só porque un proxecto precise outra conexión. Unha copia de traballo existente ten configuración local propia, así que podes manter o cambio nese repositorio.
Estes exemplos usan as ordes actuais git config set/get/unset. O directorio do proxecto, o URL remoto e a IP de documentación son valores de mostra. Para probar un repositorio público onde se permitan proxys públicos, escolle un candidato da lista de proxys HTTP.
git -C project config set --local http.proxy http://203.0.113.10:8080
git -C project ls-remote origin
O URL do proxy inclúe o seu esquema de transporte. Un remoto HTTPS pode usar un proxy HTTP normal compatible con CONNECT; o esquema HTTPS do remoto non obriga a cambiar o URL do proxy a HTTPS.
Comproba que escolleu Git realmente
Se o resultado é inesperado, inspecciona o valor seleccionado para o URL remoto real:
git -C project config get --show-origin \
--url=https://example.com/team/project.git http.proxy
Usa o teu remoto HTTPS real nesa consulta. Git pode ter axustes de sistema, usuario, repositorio, liña de ordes e específicos de URL. Mirar só un valor global http.proxy pode omitir unha regra máis concreta. A saída da orixe axuda a identificar o ficheiro ou a liña de ordes de onde vén o resultado.
O axuste local aplícase ao acceso HTTP desde ese repositorio, non só a unha rama concreta. Por iso, un repositorio con varios remotos HTTP pode usalo para máis remotos que o probado inicialmente. Hai axustes HTTP específicos de URL se precisas unha coincidencia máis limitada.
Antes de que exista a copia de traballo
Para o clon inicial, decide se a substitución debe persistir; para limitala a esa invocación de Git, usa:
git -c http.proxy=http://203.0.113.10:8080 \
clone https://example.com/team/project.git
A substitución de liña de ordes non se converte por si soa nunha entrada permanente na nova copia. Establece despois un valor local se as futuras operacións fetch deben usar esa ruta.
Un remoto SSH é un caso distinto
Un remoto que comeza por git@host: ou ssh:// usa SSH. O axuste de proxy HTTP de Git non o converte nunha transferencia HTTP. Comproba o transporte do remoto antes de substituír unha IP de proxy funcional só porque unha operación SSH segue fallando.
Cando xa non queiras a substitución local, elimina só esa clave:
git -C project config unset --local http.proxy
Ao eliminala volve aplicarse a configuración pertinente doutras fontes. Non é unha orde para borrar todos os axustes de proxy do ordenador.