from - Cómo deshabilitar temporalmente el proxy http de git
setting proxy to git (3)
En mi caso, pude deshabilitar las solicitudes de clonación de git que pasan por el proxy en mi configuración corporativa ejecutando
git config --global --add remote.origin.proxy ""
Según la documentación de git, esto deshabilita todas las solicitudes a ese repositorio remoto llamado origen.
Estoy usando git detrás de un firewall corporativo, y estoy clonando exitosamente proyectos externos usando http.proxy --global config.
Mi problema surge cuando quiero clonar a través de http en la intranet. Sospecho que la configuración del proxy interfiere con la solicitud de la intranet.
Sé que podría restablecer la configuración antes de usar la intranet, pero no es muy fácil de usar.
También vi esta answer , pero parece aplicarse solo a un repositorio existente.
¿Hay alguna forma de desactivar el uso del proxy solo para una invocación de comando? En este caso, el clon inicial?
Lo que me gusta hacer es establecer dos alias Git:
~ / .gitconfig
[alias]
noproxy = config --global --remove-section http
proxy = config --global http.proxy http://127.0.0.1:9666
Tenga en cuenta que no config --global --unset http.proxy
para restablecer el proxy porque deja atrás el encabezado de la sección [http]
, así que después de habilitar y deshabilitar el proxy, su .gitconfig
se contaminará .gitconfig
con un montón de vaciar [http]
encabezados de sección. No es gran cosa, pero es simplemente molesto.
En algunos casos, como detrás de los firewalls corporativos, debe configurar ~/.ssh/config
lugar. La configuración se vuelve un poco más complicada:
~ / .gitconfig
[alias]
noproxy = !sh -c ''cp ~/.ssh/config.noproxy ~/.ssh/config''
proxy = !sh -c ''cp ~/.ssh/config.proxy ~/.ssh/config''
~ / .ssh / config.noproxy
Host github.com-username
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
~ / .ssh / config.proxy
Host *
ProxyCommand connect -H 127.0.0.1:9666 %h %p
Host github.com-username
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
Incluso puedes combinar los dos métodos cambiando los alias a esto:
[alias]
noproxy = !sh -c ''git config --global --remove-section http 2> /dev/null && cp ~/.ssh/config.noproxy ~/.ssh/config''
proxy = !sh -c ''git config --global http.proxy http://127.0.0.1:9666 && cp ~/.ssh/config.proxy ~/.ssh/config''
Ahora puedo simplemente escribir git noproxy
para deshabilitar el proxy y git proxy
para habilitarlo. Incluso puedes cambiar entre varios proxies creando más alias.
Siempre me pongo:
no_proxy=.mycompany
( export
si estoy en Unix, o un set
simple en Windows)
Basta con omitir el proxy para todas las url de intranet que terminan con " .mycompany
".
Vea para un ejemplo:
- " No se puede actualizar / instalar utilizando Composer detrás de un firewall corporativo "
- "¿ Usar solo un proxy para ciertos git urls / dominios? "
- " No se puede hacer
git-svn fetch
detrás del proxy "
Lo uso en mi propio proyecto: .proxy.example
:
export http_proxy=http://username:[email protected]:port
export https_proxy=http://username:[email protected]:port
export no_proxy=.company localhost