windows - Error de Git: fatal: no se puede conectar un socket(argumento no válido)
proxy msysgit (7)
Logré hacerlo funcionar a través de una ruta muy intrincada. Así es cómo:
- Tengo OpenSSH ejecutándose en mi máquina doméstica (una caja Vista) corriendo bajo Cygwin
- Estoy utilizando la tunelización dinámica de Bitvise Tunnelier a través del proxy integrado SOCKS / HTTP CONNECT .
- Luego uso Freecap (gracias a Marko) para "SOCKify" GIT-GUI. Desafortunadamente, tiene que configurar cada .exe de forma individual y ejecutarlos desde dentro de Freecap, por lo que no puede unificar SOCKify todas las herramientas de línea de comandos de git. Puede configurar comandos de línea de comandos explícitos dentro de Freecap, pero tiene que configurar cada uno individualmente, lo que de alguna manera frustra el propósito. Es por eso que acabo de configurar GIT-GUI en este elaborado sistema loco
Sorprendentemente, parece funcionar, aunque todavía no lo he probado todo. Se clonará, sin duda, que es un comienzo.
Si alguien tiene una mejor solución, soy todo oídos.
Tengo msysGit (Git en Windows) funcionando bien en mi máquina doméstica, pero en el trabajo, donde estamos detrás de un proxy Microsoft ISA, recibo el siguiente error cuando hago un clon git:
H:/>git clone git://github.com/akitaonrails/vimfiles.git
Initialized empty Git repository in H:/vimfiles/.git/
github.com[0: 65.74.177.129]: errno=Invalid argument
fatal: unable to connect a socket (Invalid argument)
Intenté establecer la variable de entorno http_proxy en:
http://our-proxy-server:8088
Configuré la directiva de configuración http.proxy de git:
git config --global http.proxy http://our-proxy-server:8088
Ninguno de los anteriores hace la diferencia.
Hacer un clon git con http://
lugar de git://
produce esto:
H:/>git clone http://github.com/akitaonrails/vimfiles.git
Initialized empty Git repository in H:/vimfiles/.git/
fatal: http://github.com/akitaonrails/vimfiles.git/info/refs download error - The requested URL returned error: 407
407 es, por supuesto, un error de autenticación.
Entonces mi pregunta es: ¿alguien ha logrado que Git trabaje detrás de un proxy, específicamente un proxy ISA? No sé si valdrá la pena buscar esto. Cualquier ayuda muy apreciada.
¡Gracias!
Incluso después de configurar el proxy, es posible que no pueda conectarse, ya que el proxy no permite el tráfico de protocolo git. En este caso, puede intentar usar "http" en lugar de "git"
H:> git clone http://github.com/akitaonrails/vimfiles.git
Además, si está utilizando un archivo de configuración de proxy automatizado (.pac), simplemente ábralo en un editor de texto. Es bastante fácil seguir el lenguaje de scripting, con un montón de condiciones para redirigir al proxy más eficiente. Busque el que permita el tráfico de propósito general (generalmente, el último proxy configurado) y configúrelo como se menciona en el comentario anterior.
Python 2.7 y ntlmaps funcionaron para mí después de recibir 407 errores y otra basura de GitHub.
.gitconfig:
[http]
proxy = http://127.0.0.1:5865
¿Tienes proxy SOCKS? Si lo has hecho, puedes probar FreeCap para codificar tu conexión git. He estado usando git de esta manera por un tiempo.
Si no, aún intente con FreeCap. IIRC podría ser capaz de usar proxies http, pero no lo he intentado.
EDITAR: Por lo general, comparto cmd.exe utilizando FreeCap, y desde ese momento (casi) todos los programas de cmdline que comienzo desde esa sesión también están calzados. Es por eso que recomendé Free Cap, ya que SocksCap (otra alternativa) no funciona de esa manera.
En cuanto a usar http.proxy, por alguna razón nunca funcionó para mí con la versión de mingw y los proxys http de mi compañía.
Tuve este problema en windows7:
$ git clone git://github.com/facebook/php-sdk.git
Initialized empty Git repository in c:/Users/Jay/temp/php-sdk/.git/
github.com[0: 207.97.227.239]: errno=No error
fatal: unable to connect a socket (No error)
Finalmente me di cuenta de que se estaba ejecutando el software antivirus AVG. Inhabilité el "escudo residente" dentro de AVG y ahora funciona como un amuleto.
$ git clone git://github.com/facebook/php-sdk.git
Initialized empty Git repository in c:/Users/Jay/temp2/php-sdk/.git/
remote: Counting objects: 223, done.
remote: Compressing objects: 100% (179/179), done.
emote: Total 223 (delta 84), reused 0 (delta 0)
Receiving objects: 100% (223/223), 37.32 KiB, done.
Resolving deltas: 100% (84/84), done.
Esto es lo que funcionó para mí:
git config --global http.proxy http://login:password@PROXY_SERVER:PORT
git config --global http.sslVerify false
Tuve exactamente el mismo error; pero el archivo de configuración global ~/.gitconfig
era la clave.
Si tiene un proxy con autenticación, debe ingresarlo:
git config --global http.proxy http://login:password@our-proxy-server:8088
Y simplemente funciona (con '' git clone http:
'')
Ejemplo de un blog que detalla la misma configuración: clon de GIT sobre HTTP: ¿quién sabía?
Si aún falla en 407, podría estar relacionado con un problema con git-fetch que pierde tokens de autenticación en el segundo HTTP GET . Es posible que se necesite una versión más reciente de libcurl .
Actualización de enero de 2011: jbustamovej menciona en su respuesta (upvoted) su publicación de blog " GitHub Behind Corporate Proxy ", que agrega esto:
Es importante tener en cuenta que si su inicio de sesión tiene una barra invertida , como en
domain/login
, debe escapar de la barra invertida , como en:
git config --global http.proxy http://domain///login:password@our-proxy-server:8088