web-dev-qa-db-fra.com

Git Windows Désactiver l'interface utilisateur du mot de passe mais obtenir le mot de passe Invite du shell

Dans git bash pour Windows, le nom d'utilisateur et/ou le mot de passe sont demandés dans une invite contextuelle distincte de l'interface utilisateur, comme ci-dessous. 

 Username Prompt

En appuyant sur Annuler, vous obtenez l'invite ci-dessous, basée sur le shell, où le même nom d'utilisateur peut être saisi.

 Shell based username Prompt

Existe-t-il un moyen de désactiver ces invites? Je souhaite toujours entrer mon nom d'utilisateur et mon mot de passe, mais au lieu de l'invite basée sur l'interface utilisateur, je souhaite le saisir via l'invite basée sur le shell.

En utilisant des suggestions de cela ne aide pas. Comment annuler git config --system core.askpass git-gui - askpass

22
Yogesh_D

Essayez de supprimer la variable core.askPass globalement (dans votre fichier de configuration)

$ git config --global core.askPass ""

ou utilisez le commutateur -c pour le remplacer pour une seule commande

$ git -c core.askPass="" clone <https_url>

voir: https://git-scm.com/docs/gitcredentials

Remarque: annuler la définition de core.askPass à l'aide de git config --global --unset core.askPass n'aide pas. Il doit être défini sur une chaîne vide comme ci-dessus.

26
hinneLinks

Utilisez ssh au lieu de http/https.

Vous devrez définir les clés ssh sur votre machine locale, les télécharger sur votre serveur git et remplacer le formulaire URL http:// par git:// et vous n'aurez plus besoin de mots de passe.

Si vous ne pouvez pas utiliser ssh, ajoutez ceci à votre configuration: 

[credential "https://example.com"]
    username = me

les documents sont ici .

2
CodeWizard

Non défini SSH_ASKPASS.

unset SSH_ASKPASS

Pour faire cela automatiquement chaque fois que vous ouvrez git bash, vous pouvez ajouter la ligne ci-dessus à la fin de votre .bashrc.

Enquête

La documentation gitcredentials liée dans une autre liste de réponses répertorie un certain nombre de lieux que git vérifiera pour déterminer comment demander un mot de passe. J'ai examiné chacun à son tour:

env | grep GIT
git config --get core.askPass
env | grep SSH

La dernière commande m'a dit que SSH_ASKPASS existait:

SSH_ASKPASS=/mingw64/libexec/git-core/git-gui--askpass`.

Cela ne fait pas partie de mes fichiers de points, et semble donc provenir de la distribution Windows git par défaut de http://git-scm.com .

0
Alex Palmer

Vous pouvez essayer la configuration ci-dessous:

git config --global --unset credential.helper

et

git config --system --unset credential.helper

Cela m’a aidé à utiliser PortableGit 64 bits 2.12.1.1 sur Windows 7.

0
Jason Tien

Dans mon cas, j'utilise git 1.9.5 depuis 3 ans . Et récemment, j’ai essayé d’installer la dernière version 2.15.0 . Mot de passe alors que dans l'ancienne version de Git (1.9.5), il ne demandera rien de la sorte.

J'ai cherché dans google. Enfin, mon ami m'a aidé à résoudre ce problème… .. C'est parce que j'ai configuré la clé DSA au lieu de la clé RSA. D'après ce que je comprends, dsa est l'ancien format de clé et rsa est un nouveau format de clé.

Pour utiliser la dernière version de git bash avec l’ancienne clé dsa, j’ai fait ce qui suit, créer un fichier nommé "config" (c’est le nom complet) dans votre dossier .ssh .

PubkeyAcceptedKeyTypes = + ssh-dss

Et enregistrez-le.

Maintenant, ouvrez le dernier git bash. Et fais git pull. Il ne demandera aucun mot de passe et tirera simplement les commits.