Note (novembre 2013)
Encoder l'url (en particulier tout caractère spécial dans un mot de passe) est la bonne solution.
Ce qui est .netrc
mentionné ci-dessous est uniquement pour l'URL du dépôt distant, pas pour le proxy utilisé pour résoudre ladite URL du dépôt distant.
Pour ledit encodage, voir " Encodage en pourcentage ":
Le codage en pourcentage, également connu sous le nom de codage URL , est un mécanisme de codage des informations dans un URI ( Uniform Resource Identifier ) dans certaines circonstances. Bien qu'il soit connu sous le nom de codage d'URL, il est, en fait, utilisé plus généralement dans l'ensemble principal d' identificateur de ressource uniforme (URI), qui comprend à la fois le localisateur de ressources uniformes (URL) et le nom de ressource uniforme (URN). En tant que tel, il est également utilisé dans la préparation de données du type de support application / x-www-form-urlencoded , comme il est souvent utilisé dans la soumission de données de formulaire HTML dans les requêtes HTTP .
Caractères réservés après encodage en pourcentage:
! # $ & ' ( ) * + , / : ; = ? @ [ ]
%21 %23 %24 %26 %27 %28 %29 %2A %2B %2C %2F %3A %3B %3D %3F %40 %5B %5D
Réponse originale (mai 2011)
Deux remarques:
avoir un mot de passe pour un serveur accédé avec http (pas https) est ... étrange. Le mot de passe n'est pas chiffré lors des communications entre le client et le serveur;
vous pouvez configurer un .netrc
(ou _netrc
pour Windows) dans votre $HOME
, avec le contenu suivant
adresse IP de la machine: port
login userId
mot de passe pwd @
La boucle utilisée par Git dans les coulisses gèrerait très bien l'encodage, @
ou non @
.