Comment saisir la commande avec un mot de passe pour la commande git pull?
Je veux faire cette commande en une seule ligne:
git pull && [my passphrase]
Comment faire?
- vous pouvez modifier votre mot de passe vide en suivant ceci: help.github.com/articles/working-with-ssh-key-passphrases
- Vous pourrait éviter le besoin de taper un mot de passe si vous exécutez l'agent ssh. La première fois que vous faites un git pull, vous le faites de manière interactive, et l'agent ssh se souviendra de votre clé privée et vous pouvez exécuter la commande git pull sans être invité.
Vous devez vous connecter pour publier un commentaire.
Ce n'est pas exactement ce que vous avez demandé, mais pour http(s):
https://user:pass@domain/repo
mais ce n'est pas vraiment recommandé, car il permettrait de montrer votre user/pass dans beaucoup d'endroits...Exemples d'utilisation pour les informations d'identification helper
git config credential.helper store
- stocke les informations d'identification indéfiniment.git config credential.helper 'cache --timeout=3600'
- magasins pour 60 minutesPour ssh-based access, vous pouvez utiliser l'agent ssh qui va fournir la clé ssh en cas de besoin. Cela nécessiterait la génération de clés sur votre ordinateur, le stockage de la clé publique sur le serveur distant et l'ajout de la clé privée de fichier de clés pertinents.
J'ai trouvé un moyen de fournir des informations d'identification pour une connexion https sur la ligne de commande. Vous avez juste besoin de spécifier l'URL complète de la commande git pull et inclure les informations d'identification de là:
Vous n'avez pas besoin d'avoir le référentiel cloné avec les informations d'identification de l'avant, ce qui signifie que vos informations d'identification ne se retrouvent pas dans
.git/config
. (Mais assurez-vous que votre shell de ne pas vous trahir et magasins de la ligne de commande dans un fichier d'historique.):password
partie, vous serez invité à entrer le mot de passe après avoir appuyer sur la touche enter. De cette façon, votre mot de passe ne seront pas enregistrées dans l'historique bash.Ne pas répondre directement à la question, mais je trouve cette question lors de la recherche d'un moyen, en gros, ne pas ré-entrer le mot de passe à chaque fois que je tire sur un serveur distant.
Bien,
git
vous permet de mettre en cache vos informations d'identification pour un laps de temps fini. Il est personnalisable engit config
et cette page explique très bien:https://help.github.com/articles/caching-your-github-password-in-git/#platform-linux
Dans un terminal, exécutez:
Pour personnaliser le délai d'expiration du cache, vous pouvez le faire:
Vos informations d'identification seront ensuite stockées en mémoire pour la durée demandée.
Notez que la façon dont le git d'informations d'identification d'assistance "store" sera stocker les mots de passe non cryptés changements avec Git 2.5+ (T2 2014).
Voir s'engager 17c7f4d par Junio C Hamano (
gitster
)Les doc disent maintenant: