J'ai le problème suivant lorsque j'essaie d'extraire du code à l'aide de git Bash sous Windows:
fatal: could not read Username for 'https://github.com': No such file or directory
J'ai déjà essayé de mettre en œuvre la solution acceptée fournie ici:
... mais le problème persiste. Après avoir ajouté / supprimé l'origine, j'obtiens toujours la même erreur.
git config --global user.name "Your Name Here"
Réponses:
Suivez les étapes pour configurer les clés SSH ici: https://help.github.com/articles/generating-ssh-keys
OU
la source
git remote set-url origin https://{username}:{password}@github.com/...
git remote -v
error: cannot spawn sh: No such file or directory
J'ai rencontré exactement le même problème. Ce problème s'est produit lorsque j'ai cloné à l'aide de l'URL HTTPS, puis que j'ai essayé de pousser les modifications à l'aide de Git Bash sous Windows en utilisant:
Cependant, lorsque j'ai utilisé l'URL SSH pour cloner, ce problème ne s'est pas produit:
la source
python:3.7-slim
. Ce n'est donc pas lié à Windows.Notez que si vous obtenez cette erreur à la place:
Ensuite, vous devez mettre à jour votre Git vers la version
2.16
ou une version ultérieure.la source
Pour moi, rien n'a fonctionné à partir des suggestions ci-dessus, j'utilise
git pull
du script shell jenkins et apparemment il prend un nom d'utilisateur incorrect. J'ai passé des siècles avant de trouver un moyen de le réparer sans passer à SSH.Dans votre dossier de l'utilisateur, créez un fichier .gitconfig (si vous ne l'avez pas déjà) et mettez vos informations d'identification au format suivant:,
https://user:[email protected]
plus d' informations . Après votre lien de fichier .gitconfig vers ces informations d'identification, dans mon cas, c'était:[credential] helper = store --file /Users/admin/.git-credentials
Maintenant, git utilisera toujours ces informations d'identification quoi qu'il arrive. J'espère que cela aidera quelqu'un, comme cela m'a aidé.
la source
[credential] helper = store --file /..../.git-credentials
dans.git/config
dans mon répertoire de travailJ'ai trouvé ma réponse ici :
modifier
~/.gitconfig
et ajouter ce qui suit:Bien que cela résout un problème différent, le code d'erreur est le même ...
la source
Si vous souhaitez continuer, utilisez https à la place de ssh et évitez de saisir votre nom d'utilisateur et votre mot de passe pour des raisons de sécurité.
Vous pouvez également essayer le jeton Github OAuth , puis vous pouvez faire
git config remote.origin.url 'https://{token}@github.com/{username}/{project}.git'
ougit remote add origin 'https://{token}@github.com/{username}/{project}.git'
Cela fonctionne pour moi!
la source
Cette erreur peut également se produire lors de la tentative de clonage d'une URL HTTP non valide. Par exemple, voici l'erreur que j'ai obtenue en essayant de cloner une URL GitHub avec quelques caractères:
Cela s'est en fait produit à l'intérieur d'Emacs, donc l'erreur dans Emacs ressemblait à ceci:
Donc, au lieu d'une erreur utile disant qu'il n'y avait pas de tel dépôt à cette URL, cela m'a donné cela, m'envoyant dans une poursuite sauvage jusqu'à ce que je réalise enfin que l'URL était incorrecte.
C'est avec la version 2.7.4 de git.
Je poste ceci ici parce que cela m'est arrivé il y a un mois et encore une fois tout à l'heure, m'envoyant à nouveau sur la même chasse à l'oie sauvage. > :(
la source
Réponse courte:
Ignorez les trois premières lignes s'il ne s'agit pas d'un nouveau référentiel.
Description plus longue:
J'ai juste eu le même problème, car aucune des réponses ci-dessus ne m'a aidé, j'ai décidé de publier cette solution qui a fonctionné pour moi.
Quelques notes:
En tant qu'outil de ligne de commande, j'ai utilisé GitShell (pour Windows, j'utilise Terminal.app sur Mac).
GitShell est l'outil officiel de GitHub, peut être téléchargé à partir de https://windows.github.com/
J'espère que cela aidera quiconque a le même problème.
la source
J'ai corrigé cela en installant une version plus récente de Git. La version que j'ai installée est la 2.10.2 de https://git-scm.com . Voir le dernier article ici: https://www.bountysource.com/issues/31602800-git-fails-to-authenticate-access-to-private-repository-over-https
Avec le plus récent Git Bash, la fenêtre du gestionnaire d'informations d'identification apparaît et vous pouvez entrer votre nom d'utilisateur et votre mot de passe, et cela fonctionne!
la source
Il s'agit d'un problème avec vos informations d'identification stockées dans le cache des informations d'identification système. Vous avez probablement la variable de configuration 'credential.helper' définie sur wincred ou winstore et elle ne parvient pas à l'effacer. Si vous démarrez le Panneau de configuration et lancez l'applet Credential Manager, recherchez les éléments dans la section des informations d'identification génériques intitulée "git: https://github.com ". Si vous les supprimez, le sera recréé la prochaine fois, mais l'utilitaire d'aide aux informations d'identification vous demandera vos nouvelles informations d'identification.
la source
git config --global -l | grep credential
. S'il y a quelque chose en sortie, ce sera l'utilitaire qui essaiera de fournir vos informations d'identification stockées au serveur lorsque vous poussez.git remote add origin https://github.com/username/Hello-World.git
leusername
lien qui est lié à ce lien git repo pose des problèmes , je ne pense pas que mon PROPRE nom d'utilisateur pose des problèmes ici. Pour autant que je sache, Credential Manager aide à gérer les informations d'identification personnelles, et non les informations d'identification du référentiel.Remplacez votre URL distante comme ceci:
la source
TL; DR: vérifiez si vous pouvez lire / écrire dans
/dev/tty
. Si non et que vous avez utilisésu
pour ouvrir le shell, vérifiez si vous l'avez utilisé correctement.J'étais confronté au même problème mais sous Linux et j'ai trouvé le problème. Je n'ai pas mes identifiants stockés, donc je les saisis toujours à l'invite:
La façon dont git gère les connexions http (s) utilise
/usr/lib/git-core/git-remote-https
vous pouvez voir strace ici:J'ai donc essayé de l'appeler directement:
et le résultat:
Et ici, il m'est venu:
git-remote-https
essaie de lire les informations d'identification via/dev/tty
donc j'ai testé si cela fonctionne:Mais dans un autre terminal:
Je savais que je suis passé à cet utilisateur en utilisant
su
donc j'ai quitté le shell pour voir comment et j'ai découvert que j'avais utilisé la commande,su danman -
alors je l'ai testé à nouveau:J'ai probablement ignoré le message et j'ai continué à travailler, mais c'était la raison. Quand j'ai changé en utilisant le correct,
su - danman
tout fonctionnait bien:Après cela, git a commencé à fonctionner correctement
la source
Pour ceux qui obtiennent cette erreur dans un pipeline Jenkins, elle peut être corrigée à l'aide d'un plugin SSH Agent . Ensuite, enveloppez vos commandes git dans quelque chose comme ceci:
la source
Essayez d'utiliser un shell Windows normal tel que CMD.
la source
Auparavant, quand je n'avais pas l'autorisation d'accéder au dépôt, j'avais également ajouté la clé de pub SSH à gitlab. Au moment où je pourrais accéder au repo et exécuter le fournisseur de mod go, le même problème que le vôtre se produit. (peut-être à cause du cache)
Après un certain temps, je décide de supprimer la clé SSH et les invites du terminal remplissant le nom d'utilisateur et le mot de passe. Tout va bien alors!
la source
J'ai eu le même problème dans IntelliJ IDE et pour moi, rien n'a fonctionné à partir des suggestions ci-dessus. Ce qui a fonctionné pour moi, c'est de changer l'accès au référentiel Git de privé à public.
la source
en essayant la solution CreativeMagic, le problème d’identification est confirmé:
prompt >>> Nom d'utilisateur pour ' https://github.com '
Alors, j'ai changé mon URL d'origine avec
et
la source