how behind git proxy git-config

behind - how to set proxy to git



git:// a través del proxy (4)

Estoy detrás de un firewall que está bloqueando el puerto 9418 (git) y estoy tratando de instalar algunas herramientas que están haciendo un checkout explícito de git://github.com/... , así que no puedo cambiar a https para el revisa.

Así que me pregunto si es posible redirigir todo el tráfico al puerto 9418 a través de un proxy, y si es así, ¿cómo? :)


¿Has probado un túnel TCP basado en ssh? Si tiene un servidor ssh que (a) se encuentra fuera de su firewall y (b) permite el reenvío de IP, puede hacer lo siguiente:

ssh -L localhost:9418:<remote>:9418 me@remote-ssh-server

o, si tiene que ejecutar sshd en el puerto 443 para evitar su firewall,

ssh -P 443 -L localhost:9418:<remote-host>:9418 me@remote-ssh-server

Entonces, localmente:

git checkout git://localhost/...

Obviamente, esto no es transparente, y es un poco intrincado: no hay dudas sobre herramientas que están más específicamente dirigidas al problema. Sin embargo, normalmente utilizo este método porque usa herramientas que tengo a mano (ssh y un servidor virtual cheapo que alquilo).

(En realidad, nunca lo intenté con una conexión git, pero no veo ninguna razón por la que no funcionaría. Lo he usado con muchos otros protocolos de puerto TCP único sin problema).


Eche un vistazo a la configuración de core.gitproxy en la configuración de Git .

Google rápido reveló este script que puede ser útil (o no, no lo intenté): https://gist.github.com/49288


Si está hablando de submódulos de git, intente esto:

git config --global url.https://github.com/.insteadOf git://github.com/

... tomado de here .

De esta forma, no necesita establecer ningún proxy ni ejecutar ningún script.


core.gitProxy hacer que core.gitProxy apunte a un comando proxy que conectará git al servidor remoto a través de su proxy SOCKS. Puede crear una secuencia de comandos con el siguiente contenido para servir como un comando proxy:

nc -x <your_proxy_host>:<your_proxy_port> $1 $2

Los dos parámetros, que representan el host remoto y el puerto, se pasarán al comando proxy por git. Si nombra este script git-proxy y lo hace accesible desde $PATH , puede llamar a git config para configurarlo:

git config --global --add core.gitProxy git-proxy