59 votes

Existe-t-il un moyen de rappeler à git le mot de passe des télécommandes WebDAV?

Je travaille avec Git pour appliquer des modifications à un référentiel partagé sur HTTP / WebDAV, et Git demande un mot de passe pour chaque opération qui accède à la télécommande HTTP. Est-il possible de faire en sorte que Git mette en cache le mot de passe / que le serveur distant ne me le demande pas?

Le serveur Web distant devrait être un Apache et pourrait éventuellement être reconfiguré si nécessaire.

61voto

millimoose Points 22665

La façon est d'utiliser ~/.netrc comme indiqué dans l'étape 3 de cette Git de la documentation:

Ensuite, ajoutez les lignes suivantes à votre $HOME/.netrc (vous pouvez le faire sans, mais sera demandé d'entrer votre mot de passe beaucoup de temps):

machine <servername>
login <username>
password <password>

...et de définir des autorisations:

chmod 600 ~/.netrc

Mise à JOUR:

Comme de git 1.7.9, il semble que le chemin à parcourir serait le natif d'identification API d'assistance. Git est livré avec un texte en clair banque d'informations d'identification ou un moins pratique mais plus sécurisé temporaire cache d'informations d'identification. Il est également possible d'utiliser des informations d'identification des aides. Jusqu'à présent, je suis au courant d' une aide pour le natif d'informations d'Identification Windows Store, et celui qui s'intègre à l'OS X trousseau. (Git construire expédiés par Homebrew a un binaire pour elle, comme les autres OS X Git distributions. Github fournit également un autonome binaire.)

Les informations d'identification aides également en charge de la nécessité de séparer les ensembles d'informations d'identification pour les dépôts différents sur le même hôte.

28voto

Kshitiz Sharma Points 1330

Exécutez cette commande dans votre référentiel:

 git config credential.helper store
 

Puis appuyez une fois sur le serveur:

 git push
 

Les informations d'identification que vous utilisez pour transmettre au serveur seront enregistrées en ~/.git-credentials .

Instructions tirées de ce guide ici .

17voto

Oleg Points 119

Pourquoi ne pouvez-vous pas simplement utiliser un mot de passe dans l'URL distante?

 $ git config remote.origin.url = http://username:password@origin_link.com/repository.git
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X