Comment faire en sorte que Git utilise un serveur proxy?
Je dois extraire le code d'un serveur Git, mais il affiche "Request timed out" à chaque fois. Comment puis-je contourner cela?
Sinon, comment puis-je configurer un serveur proxy?
git
version-control
proxy
PlagueHammer
la source
la source
Réponses:
Commande à utiliser:
proxyuser
pour votre utilisateur proxyproxypwd
votre mot de passe proxyproxy.server.com
l'URL de votre serveur proxy8080
le port proxy configuré sur votre serveur proxyNotez que cela fonctionne pour les référentiels http et https.
Si vous décidez à tout moment de réinitialiser ce proxy et de travailler sans proxy:
Commande à utiliser:
Enfin, pour vérifier le proxy actuellement défini:
la source
%40
en remplacement de la@
chaîne in username / password, bien que je ne l'ai pas testé moi-même. J'espère que cela aide. :-)Cela a fonctionné pour moi, dans Windows XP derrière un pare-feu d'entreprise.
Je n'ai pas eu à installer de proxy local ou tout autre logiciel en plus de git v1.771 depuis http://code.google.com/p/msysgit/downloads/list?can=3
proxyuser = l'utilisateur proxy qui m'a été attribué par notre service informatique, dans mon cas, c'est le même utilisateur Windows que j'utilise pour me connecter à mon PC, l'utilisateur Active Directory
proxypwd = le mot de passe de mon utilisateur proxy
proxy.server.com:8080 = le nom et le port du proxy, je l'ai obtenu à partir du Panneau de configuration, Options Internet, Connexions, bouton Paramètres LAN, bouton Avancé dans la section Serveur proxy, utilisez le nom du serveur et le port sur la première ligne (http) .
mygithubuser = l'utilisateur que j'utilise pour me connecter à github.com
mygithubpwd = le mot de passe de mon utilisateur github.com
repoUser = l'utilisateur propriétaire du référentiel
repoName = le nom du repo
la source
git config --global http.sslcainfo MY_NEW_CERTS_BUNDLE.crt
ainsi que les certificats téléchargés comme décrit dans simplicidade.org/notes/archives/2011/06/… (merci à: stackoverflow.com/a/7206627/98528 ) l'ont fait pour moi!git://
protocole.Définissez une variable système nommée
http_proxy
avec la valeur deProxyServer:Port
. C'est la solution la plus simple. Respectivement, utilisezhttps_proxy
comme daefu l'a souligné dans les commentaires.Définir gitproxy (comme le mentionne sleske) est une autre option, mais cela nécessite une "commande", qui n'est pas aussi simple que la solution ci-dessus.
Références: http://bardofschool.blogspot.com/2008/11/use-git-behind-proxy.html
la source
http_proxy
est requise pour les URL HTTP ethttps_proxy
est requise pour les URL HTTPS. Alternativement, on pourrait simplement définirall_proxy
pour toutes les URL. Voir laENVIRONMENT
section dans curl (1) . Cependant, lors de la définition des options de git-config,http.proxy
est utilisé pour les URL HTTP et HTTPS. Voirhttp.proxy
dans git-config (1) .Si la méthode de configuration de votre serveur proxy en ligne de commande ne fonctionne pas, vous pouvez probablement simplement modifier .gitconfig (à la racine de votre profil, qui peut se cacher à la fois dans C: \ Documents and Settings et sur un lecteur réseau) et l'ajouter :
YMMV cependant, cela ne couvre que la première étape de la configuration de la ligne de commande. Vous devrez peut-être également modifier la configuration du système git et je ne sais pas où ils l'ont caché.
la source
Comme alternative à l'utilisation
git config --global http.proxy address:port
, vous pouvez définir le proxy sur la ligne de commande:L'avantage est que le proxy n'est pas défini de manière persistante. Sous Bash, vous pouvez définir un alias:
la source
Si vous utilisez ubuntu, procédez comme suit ...
Étape 1: installer le tire-bouchon
Étape 2: Écrivez un script nommé git-proxy.sh et ajoutez ce qui suit
Étape 3: rendre le script exécutable
Étape 4: configurer la commande proxy pour GIT en définissant la variable d'environnement
Utilisez maintenant les commandes git, telles que
la source
"$@"
place de$*
. Consultez le manuel de votre shell pour plus de détails.Face au même problème en raison de plusieurs
.gitconfig
fichiers dans Windows, suivi des étapes ci-dessous pour résoudre le même:Étape 1: Ouvrez Git BASH
Étape 2: Recherchez
.gitconfig
, exécutez la commande suivante:Étape 3: copiez le contenu ci-dessous dans
.gitconfig
:la source
Essayez de mettre ce qui suit dans le fichier ~ / .gitconfig:
la source
Pour le protocole git (git: // ...), installez socat et écrivez un script tel que:
rendez-le exécutable, mettez-le dans votre chemin et dans votre
~/.gitconfig
ensemblecore.gitproxy
au nom de ce script.la source
socat STDIO PROXY:%proxy%:%1:%2,proxyport=%PROXYPORT%
set GIT_PROXY_COMMAND=path\to\script
pour que GIT utilise le proxy sans jouer avec git config.Il y a quelque chose que j'ai remarqué et que je veux partager ici:
La méthode ci-dessus ne fonctionnera pas pour les URL ssh (c.-à-d.
[email protected]:<user name>/<project name>.git
):Et les choses ne changeront pas si nous définissons SSH sur le port HTTPS ( https://help.github.com/en/articles/using-ssh-over-the-https-port ) car il ne change que le port (22 par défaut ) la connexion ssh se connecte à.
(Pas un locuteur natif anglais, veuillez affiner mes mots si nécessaire)
la source
Je travaille sur Windows XP au travail (état / gouvernement), j'ai donc fait mes recherches et trouvé cela ici et cela a fonctionné pour moi. J'espère que cela t'aides :)
La variable d'environnement http_proxy
Si vous utilisez un serveur proxy ou un pare-feu, vous devrez peut-être définir la variable d'environnement http_proxy afin d'accéder à une URL à partir de la ligne de commande. Exemple: installation de ppm pour perl ou application de rpm sous linux, mise à jour d'ubuntu
Définissez la variable http_proxy avec le nom d'hôte ou l'adresse IP du serveur proxy: http_proxy = http: // [proxy.example.org]
Si le serveur proxy nécessite un nom d'utilisateur et un mot de passe, incluez-les sous la forme suivante: http_proxy = http: // [nom d'utilisateur: [email protected]]
Si le serveur proxy utilise un port autre que 80, incluez le numéro de port: http_proxy = http: // [nom d'utilisateur: [email protected]: 8080]
Windows XP
Linux, Solaris ou HP-UX
Définissez la variable d'environnement http_proxy à l'aide de la commande spécifique à votre shell (par exemple, définir ou exporter). Pour rendre cette modification persistante, ajoutez la commande au fichier de profil approprié pour le shell. Par exemple, dans bash, ajoutez une ligne comme celle-ci à votre fichier .bash_profile ou .bashrc:
la source
En plus de ces réponses, j'ai trouvé utile de considérer ces 2 points:
Il peut être nécessaire d'appliquer un schéma d'authentification:
En outre, généralement avec le schéma d'authentification NTLM, il peut être nécessaire de fournir explicitement le domaine AD.
Dans git bash:
Et mettez à jour le http.proxy en conséquence:
Quoi qu'il en soit, l'enquête peut être aidée en ajoutant des journaux CURL:
la source
git config --global http.proxyAuthMethod basic
. Git gersion 2.8.3 n'a envoyé aucune authentification tant que je n'ai pas défini ce paramètre de configuration.Si vous avez installé et configuré des tsocks ou des chaînes proxy , vous pouvez
ou
pour le raccourcir, j'ai créé un lien symbolique
/usr/bin/p
pourproxychains
que je puisse l'utiliser comme ceciet je peux l'utiliser pour proxy n'importe quelle commande,
au fait, les proxychains ne sont pas mis à jour depuis longtemps, vous pouvez essayer proxychians-ng
la source
Configurer git proxy sur le terminal
si
Réglez-le globalement une fois
si vous souhaitez définir un proxy pour un seul projet git (il peut y avoir des situations où vous ne souhaitez peut-être pas utiliser le même proxy ou un proxy pour certaines connexions git)
si vous souhaitez afficher les paramètres proxy actuels
si vous souhaitez supprimer le proxy globalement
si vous souhaitez supprimer le proxy pour une seule racine git
la source
voici le paramètre proxy
la source
J'ai suivi la plupart des réponses recommandées ici. J'ai d'abord eu l'erreur suivante:
J'ai ensuite essayé la commande suivante de @Salim Hamidi
Mais j'ai eu l'erreur suivante:
Cela peut se produire si le serveur proxy ne peut pas vérifier le certificat SSL. Nous voulons donc nous assurer que la vérification ssl est désactivée (non recommandé pour les sites non approuvés), j'ai donc effectué les étapes suivantes qui ont été recommandées par @Arpit mais avec de légères modifications:
Assurez-vous d'abord de supprimer tous les paramètres de proxy précédents:
2.Ensuite, listez et obtenez le contenu de gitconfig
3.Dernière mise à jour du contenu du fichier gitconfig comme ci-dessous:
la source
J'ai essayé toutes les réponses ci-dessus et rien n'a fonctionné pour moi, car il y avait un problème d'encodage de mot de passe proxy.
Cette commande a fonctionné:
N'entrez pas le mot de passe dans votre commande. Il vous demandera dynamiquement lorsque vous essayez de vous connecter à n'importe quel dépôt git.
la source
Pour les utilisateurs de Windows: si
git config
ouset http_proxy=
ne fonctionne pas, cette réponse peut aider:remplacer le
git://
protocole du dépôt git parhttp://
. Notez que vous devrez dehttp_proxy
toute façon définir le premier.la source
Après avoir inlassablement essayé toutes les solutions de cette page, mon travail a consisté à utiliser la clé SSH à la place!
la source