web-dev-qa-db-fra.com

git: 'credential-cache' n'est pas une commande git

J'ai suivi ces instructions à la lettre, y compris la partie concernant la mise en cache des mots de passe. Il semble que les instructions soient fausses, car chaque fois que je git Push Origin master je reçois cette erreur:

git: 'credential-cache' is not a git command. See 'get --help'.

... à quel point je suis obligé d'entrer mon nom d'utilisateur et mot de passe. Après cela, le même message d'erreur s'affiche à nouveau, suivi de la sortie de git Push.

Voici le contenu de mon fichier .gitconfig:

[user]
    name = myusername
    email = [email protected]
[credential]
    helper = cache

Pour être clair, après avoir installé Git et lancé Git Bash, voici exactement ce que j'ai tapé:

git config --global user.name "myusername"
git config --global user.email "[email protected]"
git config --global credential.helper cache

S'il vous plaît aider. C'est tellement frustrant!

244
David Kennedy

De n blog que j'ai trouvé :

"Ce [git-credential-cache] ne fonctionne pas pour les systèmes Windows, car git-credential-cache communique via un socket Unix."

Git pour Windows

Comme msysgit a été remplacé par Git pour Windows, l’utilisation de Git pour Windows est désormais l’option la plus simple. Certaines versions du programme d'installation de Git pour Windows (par exemple, 2.7.4) ont une case à cocher lors de l'installation pour activer Git Credential Manager. Voici une capture d'écran:

screenshot of Git For Windows 2.7.4 install wizard

Vous utilisez toujours msysgit? Pour msysgit versions 1.8.1 et supérieures

L'aide wincred a été ajoutée dans msysgit 1.8.1. Utilisez-le comme suit:

git config --global credential.helper wincred

Pour les versions de msysgit antérieures à la 1.8.1

Commencez par télécharger git-credential-winstore et installez-le dans votre répertoire git bin.

Ensuite, assurez-vous que le répertoire contenant git.cmd se trouve dans votre variable d’environnement Path. Le répertoire par défaut est C:\Program Files (x86)\Git\cmd sur un système 64 bits ou C:\Program Files\Git\cmd sur un système 32 bits. Un moyen simple de tester cela consiste à lancer une invite de commande et à taper git. Si vous n'obtenez pas une liste de commandes git, elle n'est pas configurée correctement.

Enfin, lancez une invite de commande et tapez:

git config --global credential.helper winstore

Ou vous pouvez modifier votre fichier .gitconfig manuellement:

[credential]
    helper = winstore

Une fois cette opération effectuée, vous pouvez gérer vos informations d'identification git via Windows Credential Manager, que vous pouvez extraire via le Panneau de configuration de Windows.

312
Nate Cook

On dirait que git est maintenant livré avec wincred prêt à l'emploi sous Windows (msysgit):

git config --global credential.helper wincred

Référence : https://github.com/msysgit/git/commit/e2770979fec968a25ac21e34f9082bc17a71a78

55
A T

Première exécution git config --global credential.helper wincred

Ensuite, allez à: CONTROL PANEL\CREDENTIAL MANAGER\WINDOWS CREDENTIAL\GENERIC CREDENTIAL

puis cliquez sur ajouter une information d'identification dans Internet or network address: add git:https:// {nom d'utilisateur} .github.com

User: {nom}

Password: {Mot de passe}

24
Ivandro Ismael

J'ai fait face à ce problème en utilisant AptanaStudio3 sur Windows7. Cela m'a aidé:

git config --global credential.helper wincred

Code pris de ici

20
Ikrom

Il existe maintenant un moyen beaucoup plus simple de configurer la mise en cache du mot de passe Git en double-cliquant sur un petit fichier exe sous Windows. Le programme est toujours basé sur git-credential-winstore mentionné par la réponse la plus votée, bien que le projet ait été déplacé de GitHub vers http://gitcredentialstore.codeplex.com/

Vous pouvez télécharger le fichier exe (et un binaire pour Mac) à partir de cet article de blog: https://github.com/blog/1104-credential-caching-for-wrist-friendly-git-usage

10
Saheed

Recherchez d’abord la version que vous utilisez pour GIT.

en utilisant cette commande: git --version

si vous avez une version plus récente que 1.7.10.

Ensuite, utilisez simplement ceci cette commande.

git config --global credential.helper wincred

référence

7
Sireesh Yarlagadda

Une erreur similaire est 'credential-wincred' is not a git command

Les réponses acceptées et populaires sont maintenant obsolètes ...

wincred est pour le projet git-credential-winstore qui est n'est plus mainten .

Il a été remplacé par Git-Credential-Manager-for-Windows maintenu par Microsoft open source .

Téléchargez le communiqué sous forme de fichier Zip à partir du lien ci-dessus et extrayez le contenu dans

\cygwin\usr\libexec\git-core

(ou \cygwin64\usr\libexec\git-core comme il se peut)

Puis activez-le (en définissant la valeur globale .gitconfig) - exécutez:

git config --global credential.helper manager

Comment utiliser

Aucune autre configuration n'est nécessaire.

Cela fonctionne [automatiquement] lorsque les informations d'identification sont nécessaires.

Par exemple, lorsque vous appuyez sur Azure DevOps, il ouvre une fenêtre et initialise un flux oauth2 pour obtenir votre jeton.

ref:

6
TT--

Pour le bien des autres qui viennent sur ce sujet, j’ai eu le même problème sous Ubuntu (c’est-à-dire que mes mots de passe n’étaient pas mis en cache, bien que j’ai correctement paramétré l’option et que j’ai eu l’erreur git: 'credential-cache' is not a git command.), jusqu’à ce que je le découvre. que cette fonctionnalité est uniquement disponible dans Git 1.7.9 et supérieur .

Étant sur une distribution plus ancienne d'Ubuntu (Natty; je suis un utilisateur têtu de Gnome 2), la version du référentiel était la version 1.7.4.1 de Git. J'ai utilisé le PPA suivant pour mettre à niveau: https://launchpad.net/~git-core/+archive/ppa

6
Johann

Pour le bien des autres personnes qui ont ce problème - j'ai atterri ici parce que j'ai essayé de devenir mignon avec la façon dont j'ai configuré un nouveau référentiel github, mais selon l'assistant page de configuration , les informations d'identification ne fonctionnent pas, sauf si vous clonez un dépôt.

"Conseil: l'assistant d'informations d'identification ne fonctionne que lorsque vous clonez une URL de référentiel HTTPS. Si vous utilisez plutôt l'URL du référentiel SSH, les clés SSH sont utilisées pour l'authentification. Ce guide vous aide à générer et à utiliser une paire de clés SSH."

5
Andrew

J'ai résolu ce problème en supprimant la section credential de la configuration d'un projet spécifique:

  • Vient de taper: _git config -e_
  • Dans l'éditeur, j'ai supprimé toute la section [credential] helper = cache.

Cela a supprimé le message ennuyeux:

_git: 'credential-cache' is not a git command. See 'git --help'._

5
Pini Cheyni

Je me rends compte que je suis un peu en retard dans la conversation, mais j'ai rencontré exactement le même problème. Dans ma config git, j'avais deux informations d'identification pour l'entrée…

Dans mon fichier .gitconfig

[credential]
helper = cached
[credentials]
helper = wincred

Le correctif: Modifié mon fichier .gitconfig par les paramètres ci-dessous

[credential]
helper = wincred
[credentials]
helper = wincred
3
Jr Phillips

Je désinstalle le gestionnaire de mots de passe, vous devez donc mettre le mot de passe pour tout le monde

git credential-manager uninstall 
0
Xin Li