GIT – Detrás de un proxy.
En todas las empresas para las que he trabajado in-situ siempre me he encontrado un proxy para que los trabajadores accedemos a internet de manera controlada y de manera productiva. Desgraciadamente, los proxies a veces dan quebraderos de cabeza cuando las aplicaciones que usamos necesitan de una conexión con la red de redes para funcionar correctamente. GIT es una de esas aplicaciones que, por ejemplo, cuando queremos consolidar nuestro código fuente en la nube, necesita de una conexión a internet para funcionar correctamente, y si hay un proxy de por medio, necesitaremos de una configuración extra para conseguirlo.
La herramienta para configurar GIT
Antes de nada, una pequeña pincelada de la herramienta que GIT proporciona para obtener y establecer variables de configuración que controlan el funcionamiento de GIT: git config.
Se puede elegir que estas configuraciones se almacenen en tres lugares distintos, dependiendo del nivel de alcance que queremos que tengan:
- /etc/gitconfig (en windows /mingw64/etc/gitconfig): Contiene configuraciones para todos los usuarios del sistema y para todos los repositorios. Para ello hay que pasar el comando –system a git config.
- /.gitconfig: Contiene configuraciones específicas del usuario para todos los repositorios. Para ello hay que pasar el comando –global a git config.
- /.git/config/config: Contiene configuraciones propias de cada repositorio. En este caso, no es necesario pasar comando alguno, pero hay que indicar el repositorio sobre el que se quiere aplicar la configuración.
Cada nivel sobreescribe los valores del nivel anterior, por lo que los valores particulares del repositorio tienen preferencia frente a los del usuario y estos, a su vez, tienen preferencia frente a los de sistema.
Configurar el uso de proxy en GIT.
git config --global http.proxy http://proxy.user:proxy.pass@proxy.name_or_ip:proxy.port
Donde:
- proxy.user es el usuario que tiene permiso para acceder al proxy.
- proxy.pass es la password de dicho usuario
- proxy.name_or_ip es el nombre DNS o la dirección IP de la máquina que hace de proxy de internet.
- proxy.port es el puerto por el que se accede a comunicar con el proxy de internet.
- –global, le indica a git que la configuración es propia del usuario y sirve para todos sus repositorios.
Consultar el proxy configurado en git
git config --global --get http.proxy
Borrar el proxy configurado en git.
git config --global --unset http.proxy
Conclusión
En este caso la solución es sencilla y funciona correctamente si seguimos los pasos indicados. Espero, como siempre, que esta información, aunque fácil de encontrar en la documentación oficial de GIT, sea de utilidad.