received from configurar code after git http-proxy

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