Dernière mise à jour: 05 mars 2019
Après 98 votes positifs, je pense que je dois donner une vraie réponse avec l'explication.
Pourquoi le code VS demande un mot de passe? Parce que VSCode exécute la fonction de récupération automatique, alors que git server n'a aucune information pour autoriser votre identité. Cela arrive quand:
- Votre git repo a
https
une URL distante. Oui! Ce type de télécommande vous demandera absolument à chaque fois. Aucune exception ici! (Vous pouvez faire une astuce temporaire pour mettre en cache l'autorisation comme solution ci-dessous, mais ce n'est pas recommandé.)
- Votre dépôt git a
ssl
une URL distante, MAIS vous n'avez pas copié votre clé publique ssh sur le serveur git. Utilisez ssh-keygen
pour générer votre clé et la copier sur le serveur git. Terminé! Cette solution vous aide également à ne plus jamais retaper le mot de passe sur le terminal. Voir une bonne instruction par @Fnatical ici pour la réponse.
La partie mise à jour à la fin de cette réponse ne vous aide pas vraiment du tout. (Cela vous stagne en fait dans votre flux de travail.) Il arrête uniquement les événements dans VSCode et déplace ces événements vers le terminal.
Désolé si cette mauvaise réponse vous affecte depuis très longtemps.
-
la réponse originale (mauvaise)
J'ai trouvé la solution sur le document VSCode :
Astuce: vous devez configurer un assistant d'informations d'identification pour éviter d'être invité à fournir des informations d'identification à chaque fois que VS Code parle à vos télécommandes Git. Si vous ne le faites pas, vous pouvez envisager de désactiver la lecture automatique dans le menu ... pour réduire le nombre d'invites que vous obtenez.
Donc, activez l'assistant d'informations d'identification afin que Git enregistre votre mot de passe en mémoire pendant un certain temps. Par défaut, Git mettra en cache votre mot de passe pendant 15 minutes.
Dans Terminal, entrez les informations suivantes:
git config --global credential.helper cache
# Set git to use the credential memory cache
Pour modifier le délai d'expiration du cache de mot de passe par défaut, entrez les informations suivantes:
git config --global credential.helper 'cache --timeout=3600'
# Set the cache to timeout after 1 hour (setting is in seconds)
MISE À JOUR (si la réponse originale ne fonctionne pas)
J'ai installé VS Code et je l'ai configuré ci-dessus, mais comme @ddieppa l'a dit, cela n'a pas fonctionné pour moi aussi. J'ai donc essayé de trouver une option dans User Setting, et j'ai vu "git.autofetch" = true, définissez maintenant c'est false! Le code VS n'est plus nécessaire pour saisir à nouveau le mot de passe à plusieurs reprises!
Dans le menu, cliquez sur Fichier / Préférences / Paramètres utilisateur Et saisissez-les:
Placez vos paramètres dans ce fichier pour remplacer les paramètres par défaut
{
"git.autofetch": false
}