J'ai msysGit (Git sous Windows) qui fonctionne très bien sur ma machine domestique, mais au travail, où nous sommes derrière un proxy Microsoft ISA, j'obtiens l'erreur suivante lorsque je fais un git cloner:
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)
J'ai essayé de définir la variable d'environnement http_proxy sur:
http://our-proxy-server:8088
J'ai défini la directive de configuration git http.proxy:
git config --global http.proxy http://our-proxy-server:8088
Aucun des éléments ci-dessus ne fait de différence.
Faire un clone git avec http://
au lieu de git://
donne ceci:
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 est bien sûr une erreur d'authentification.
Donc ma question est: quelqu'un a-t-il réussi à faire fonctionner git derrière un proxy, en particulier un proxy ISA? Je ne sais pas si cela vaudra la peine de poursuivre cela. Toute aide très appréciée .
Merci!
J'ai eu exactement la même erreur; mais le ~/.gitconfig
fichier de configuration global était la clé.
Si vous avez un proxy avec authentification, vous devez le mettre:
git config --global http.proxy http://login:password@our-proxy-server:8088
Et ça marche juste (avec 'git clone http:
')
Exemple de blog détaillant la même configuration: clone GIT sur HTTP: qui savait?
S'il échoue toujours en 407, il pourrait être lié à un problème avec git-fetch perd des jetons d'authentification sur le deuxième HTTP GET . Un version plus récente de libcurl pourrait être nécessaire.
Mise à jour de janvier 2011: jbustamovej mentionne dans sa réponse (votée) son article de blog " GitHub Behind Corporate Proxy ", qui ajoute ceci:
Il est important de noter que si votre connexion a une barre oblique inverse , comme dans
domain\login
, vous devez échapper à la barre oblique inverse , comme dans:
git config --global http.proxy http://domain\\\login:password@our-proxy-server:8088
Même après avoir configuré le proxy, il se peut que vous ne puissiez pas vous connecter, car le proxy interdit le trafic du protocole git. Dans ce cas, vous pouvez essayer d'utiliser "http" au lieu de "git"
H:> clone git http://github.com/akitaonrails/vimfiles.git
De plus, si vous utilisez un fichier de configuration de proxy automatisé (.pac), ouvrez-le simplement dans un éditeur de texte. C'est un langage de script assez simple à suivre, avec un tas de conditions à rediriger vers le proxy le plus efficace. Trouvez celui qui autorise le trafic à usage général (généralement, le dernier proxy configuré) et configurez-le comme mentionné dans le commentaire ci-dessus.
Avez-vous un proxy SOCKS? Si c'est le cas, vous pouvez essayer FreeCap pour améliorer votre connexion git. J'utilise git de cette façon depuis un moment.
Sinon, essayez toujours FreeCap. IIRC, il pourrait peut-être utiliser des proxy http, mais je n'ai pas essayé.
EDIT: Je socksify habituellement cmd.exe en utilisant FreeCap, et à partir de là (presque) tous les programmes cmdline que je démarre à partir de cette session sont également socksified. C'est pourquoi j'ai recommandé Free Cap, car SocksCap (une autre alternative) ne fonctionne pas de cette façon.
Quant à l'utilisation de http.proxy, pour une raison quelconque, cela n'a jamais fonctionné pour moi avec la version mingw et les proxy http de mon entreprise.
J'ai réussi à le faire fonctionner via une route très compliquée. Voici comment:
Étonnamment, cela semble fonctionner, même si je n'ai pas encore tout testé. Ça va cloner, certainement, ce qui est un début.
Si quelqu'un a une meilleure solution, je suis à l'écoute.
Voici ce qui a fonctionné pour moi:
git config --global http.proxy http://login:password@PROXY_SERVER:PORT
git config --global http.sslVerify false
Python 2.7 et ntlmaps ont fonctionné pour moi après avoir obtenu 407 erreurs et autres indésirables de GitHub.
.gitconfig:
[http]
proxy = http://127.0.0.1:5865
J'ai eu ce problème sur 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)
Finalement réalisé que c'était AVG logiciel antivirus en cours d'exécution. J'ai désactivé le "bouclier résident" dans AVG et fonctionne comme un charme maintenant.
$ 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.