Git de contournement de proxy
git fonctionne dans un environnement mandaté en paramétrant le http.proxy paramètre de configuration.
pour certaines adresses, je dois contourner le mandataire. Y a-t-il un paramètre de configuration sans-proxy/bypass-proxy?
6 réponses
le proxy peut être annulé à distance - voir http://git-scm.com/docs/git-config
(cherchez le "http".proxy" et "à distance.
git config --add remote.origin.proxy ""
pour contourner le proxy pour certains, habituellement une adresse locale, tout ce que vous devez faire est:
export no_proxy=URLToIgnore
où URLToIgnore est L'URL que vous voulez que Git ignore.
Vous pouvez aussi ignorer les URL se terminant par un certain mot.
export no_proxy=.mylocal
où toutes les URL se terminant par .mylocal seront ignorées. Pour ignorer plusieurs URLs:
export no_proxy=.mylocal URLToIgnore
pour le rendre permanent, ajoutez-le à votre fichier ~/username/.bash_profile . Si vous ne pouvez pas trouvez le fichier .bash_profile dans votre répertoire root utilisateur, puis créez-le manuellement.
pour plus de détails: comment désactiver temporairement git mandataire http
assurez-vous d'avoir un Git 2.1.2+ si vous voulez définir une configuration à une valeur vide, comme
git config --add remote.origin.proxy ""
parce que si vous décidez de restaurer un proxy pour cette télécommande (ici ' origin ')... il erreur de segmentation avec un Git de plus que 2.1.2 (Sept. 30, 2014)
voir commit c846664 ( tanayabh )
make config --add se comporter correctement pour les valeurs "vide" et NULL 1519280920"
actuellement si nous avons un fichier de configuration comme,
[foo]
baz
bar =
et nous essayons quelque chose comme, " git config --add foo.baz roll ", Git va erreur de segmentation. De plus, pour " git config --add foo.bar roll ", il écrasera la valeur originale au lieu de l'ajouter après la valeur vide existante.
le problème réside dans le regexp utilisé pour simuler --add dans git_config_set_multivar_in_file() , " ^$ ", qui dans le cas idéal ne devrait pas correspondre avec une chaîne de caractères mais est vrai pour les chaînes vides.
Utilisez plutôt un regexp comme " a^ " qui ne peut pas être vrai pour n'importe quelle chaîne, vide ou pas.
pour supprimer le segfault ajouter un contrôle pour NULL valeurs dans matches() dans config.c .
actuellement si nous avons un fichier de configuration comme,
[foo]
baz
bar =
et nous essayons quelque chose comme, " git config --add foo.baz roll ", Git va erreur de segmentation. De plus, pour " git config --add foo.bar roll ", il écrasera la valeur originale au lieu de l'ajouter après la valeur vide existante.
le problème réside dans le regexp utilisé pour simuler --add dans git_config_set_multivar_in_file() , " ^$ ", qui dans le cas idéal ne devrait pas correspondre avec une chaîne de caractères mais est vrai pour les chaînes vides.
Utilisez plutôt un regexp comme " a^ " qui ne peut pas être vrai pour n'importe quelle chaîne, vide ou pas.
pour supprimer le segfault ajouter un contrôle pour NULL valeurs dans matches() dans config.c .
en raison du rôle de L'utilisateur Windows / Unix, si vous ne pouvez pas éliminer le http_proxy de la ligne de commande, s'il vous plaît essayer cette approche -
git config -l --show-origin
qui imprimera les configurations basées sur les fichiers selon la hiérarchie. Maintenant, allez dans fichier spécifique (locales .git / config folder file) et mettre à jour / supprimer le http_proxy.
Espérons que cette aide.
export http_proxy=http://username:password@ip:port
export no_proxy=myhost, myhost:port
juste exécuter la commande ci-dessous à l'invite de commande
git config --global http.proxy [Proxy IP]:[Proxy port]