Seulement utiliser un proxy pour certaines urls git/domaines?
Est-il possible de configurer git pour utiliser un proxy seulement pour des domaines spécifiques?
Je voudrais utiliser notre proxy d'entreprise pour accéder à Github, mais la laisser de côté pour l'accès à nos propres git repos.
Je suis en utilisant bower et il doit exiger des éléments à la fois au sein de notre pare-feu et sur github, donc je ne peux pas le faire comme par projet. Il doit être une sorte d'option de configuration globale. Toutes les pensées?
Vous devez vous connecter pour publier un commentaire.
J'ai l'habitude d'utiliser les variables d'environnement:
http_proxy=http://username:password@proxydomain:port
https_proxy=http://username:password@proxydomain:port
Qui est capté par git, lors de l'accès dépôt GitHub.
Remarque:
http_proxy
ethttps_proxy
devez utiliser lehttp://
url du proxy (pas dehttps://
).proxydomain
(ne vous fiez pas à son nom court)Mais pour les internes de pensions, tout ce que j'ai à faire est de définir et d'exportation encore une variable d'environnement:
no_proxy=.my.company,localhost,127.0.0.1,::1
, pour accéder à tous les repo avec une adresse commemyrepo.my.company
ou localhost.Vous pouvez définir
NO_PROXY
ouno_proxy
, il n'a pas d'importance.Mais juste au cas où, j'ai toujours mis
HTTP_PROXY
,HTTPS_PROXY
,http_proxy
,https_proxy
,NO_PROXY
etno_proxy
.http://
pour http et https.%40
)::1
faire dans la no_proxy déclaration?::1
(en.wikipedia.org/wiki/Localhost, tools.ietf.org/html/rfc4291#section-2.5.3)PROXYAAA
pour le domaineAAA
maisPROXYBBB
pour le domaineBBB
??? dans mon cas sa pour git pull, nous avons configuré.subversion/servers
avec le groupe pour le svn, mais ses ignoré pour gitPour ajouter une autre possibilité, vous pouvez définir un proxy à travers le
git config http.proxy
.Mais ce qui est vraiment bien c'est, départ git1.8.5 (octobre 2013), vous pouvez jeu de paramètres http par l'url.
La "
http.*
" variables peuvent maintenant être spécifié par l'URL que la configuration s'applique.Par exemple,
Voir s'engager d4770964d5:
Tous les détails sont dans s'engager 6a56993b:
https
danshttps://example.com/
).example.com
danshttps://example.com/
).8080
danshttp://example.com:8080/
).repo.git
danshttps://example.com/repo.git
).user
danshttps://[email protected]/repo.git
)http.proxy = ""
Comme certains l'ont mentionné ici, vous pouvez le faire en spécifiant une URL avec les paramètres de proxy, mais Voici les cas d'utilisation qui fixe cela pour moi. Grâce à VonC ci-dessus!
Avis ci-dessous que je suis en précisant la racine du serveur Git. Le chemin complet vers le repo git vous avez cloné n'est pas nécessaire. Vous pouvez utiliser une entrée unique pour prendre soin de l'ensemble du serveur.
Ajouter les éléments suivants à votre .gitconfig fichier. Sur mon système windows, je suis à l'aide de %userprofile%\.gitconfig
NO_PROXY
àmy.internalgitserver.com
, et qui aurait pu être assez pour ne pas utiliser le proxy défini par: stackoverflow.com/a/27229920/6309git config --global http.proxy http://myproxy.net:8080
, pour la première, et ainsi de suite. Ensuite, vous n'avez même pas besoin d'eux pour trouver le bon endroit pour mettre ou de mettre à jour le fichier.Vous pouvez régler diverses options de configuration pour chaque distance en particulier. Disons que nous avons 2 télécommandes, nommé
origin
etupstream
respectivement. Vous réglez le proxy pour chaque procédant de la manière suivante:Cela va changer les sections de chaque télécommande à l'intérieur de votre référentiel local de configuration (
.git/config
).Vous pouvez également régler la configuration globale options si vous le souhaitez. Car il n'est pas logique de faire référence à un nom distant dans le fichier de configuration global (
$HOME/.gitconfig
), vous pouvez utiliser url correspondant (IIRC, en charge depuis Git 1.8.5). Exemple:Si vous voulez voir ce qui a été défini:
J'ai eu un problème similaire, où je suis derrière mon proxy d'entreprise. J'ai pratiquement deux types de référentiels:
J'ai dû mettre un proxy mondiale de config, qui agira en tant que par défaut, sauf indication contraire dans les locaux de config.
Donc, ci-dessous sont les commandes pour la configuration:
set global config avec proxy
alors se déplacer à votre répertoire local qui contient votre .git dossier et pour lequel vous n'avez pas besoin de proxy
de définir les config avec vide proxy
Il pourrait être fait dans l'autre sens aussi. Qui est, vous gardez le mondial config comme vide et local config avec les paramètres de votre proxy.
Juste pour vérifier, vous pouvez utiliser la commande ci-dessous pour une liste des paramètres de configuration pour les locaux et mondiaux, respectivement:
Sur Windows , il suffit de [note sans mot de passe] dans la suite travaillé pour moi