2015-10-01 3 views
0

Je souhaite stocker les informations d'identification Git pour les connexions git permenantly sur une machine Linux, et git credential.helper ne fonctionne pas (je pense que je n'utilise pas SSH). erreur "Fatal: impossible de lire le mot de passe pour 'http: // ....': Aucun appareil ou adresse". Étant donné que je ne suis pas l'administrateur du référentiel et que seul le protocole HTTP est autorisé pour l'authentification, heureusement je ne me soucie pas de la sécurité du mot de passe. Que puis-je faire pour mettre la commande git pull dans un fichier bash et éviter de demander un mot de passe à l'utilisateur?Informations d'identification du magasin pour les commandes git utilisant le protocole HTTP

J'espère qu'il y a un moyen de contourner le problème.

Répondre

0

Je suppose que votre référentiel nécessite une authentification pour les pulls, sinon git ne vous demandera pas de mot de passe pour le pull. La méthode recommandée pour contourner l'invite de mot de passe utilisateur consiste à créer une clé SSH sur cette machine, à ajouter la clé publique au serveur git, puis à utiliser l'URL SSH de la télécommande au lieu de l'URL HTTP/S. Mais puisque vous spécifiquement dit:

Je ne se soucient pas de la sécurité du mot de passe

vous pouvez en fait juste préciser la ligne de mot de passe pour la traction git comme ceci:

git pull http://username:[email protected]/my/repository 
+0

Merci, oui c'est un repo privé; donc il faut un mot de passe pour tirer. –

0

Deux choses qui clochent cette question:

  1. La plupart des référentiels tels que HTTPS GitHub exigent. Même si vous essayez de cloner sur HTTP , il suffit de basculer sur le backend à HTTPS et les pousses l'exigent comme bien.

  2. Les tirages ne nécessitent pas de mot de passe, sauf s'il s'agit d'un dépôt privé. Comme # 1, depuis vous n'avez donné aucune information sur votre repo, il est difficile de commenter plus loin.

Maintenant, ce que je fais est la suivante:

git config --global credential.helper store 

Ensuite, la première fois que vous poussez vous demandera vos informations d'identification. Une fois que vous les avez saisis, ils sont enregistrés dans ~/.git-credentials. Notez qu'ils sont stockés en texte brut, vous avez été avisé.

+0

Oui c'est un repo privé. Et le stockage à l'aide de credential.helper ne fonctionne pas car mon repo est basé sur HTTPS et non sur SSH. Et puisque je ne peux pas activer SSH sur le référentiel, je dois faire face à ce que j'ai. –

+0

@PokaYoke oui ça marche. J'ai 8 repos HTTPS et j'utilise cette méthode –