J'utilise le dernier Github pour Mac en tant que nouvel utilisateur Git. Lorsque j'essaie de synchroniser un référentiel (que j'ai d'abord cloné, puis créé une nouvelle branche, validé les modifications, puis fusionné avec master), j'ai eu l'erreur:
Authentication Failed.
You may not have permission to access repo111. Check Preferences to make sure you’re still logged in.
J'ai cherché des questions similaires, mais la réponse semblait être d'ajouter des clés SSH à github, j'ai donc suivi: https://help.github.com/articles/generating-ssh-keys .
Quand je fais ssh -T [email protected]
, Je reçois:
Hi User111! You've successfully authenticated, but GitHub does not provide Shell access.
Je suis connecté en tant qu'utilisateur correct et j'ai des droits sur le référentiel, donc je ne sais pas pourquoi je ne suis pas authentifié?
Il se peut que vous ayez entré un mot de passe incorrect et qu'il soit stocké dans votre trousseau.
Pour ma situation, j'utilisais GitHub pour Mac pour travailler avec un référentiel BitBucket. Pour faire court, j'ai mal saisi mon mot de passe BitBucket et GitHub pour Mac n'a pas pu s'authentifier (car le mot de passe stocké dans mon trousseau était incorrect).
Merci aux gens utiles sur GitHub , ils ont rapidement répondu quand j'ai demandé de l'aide:
Ouvert
Keychain Access.app
(dans/Applications/Utilities
) et recherchez "GitHub pour Mac". Il devrait y avoir une entrée comme "GitHub pour Mac - bitbucket.com". Supprimer cette entrée
Si vous voyez ceci:
… Alors vous pourriez avoir un problème de trousseau/mot de passe BitBucket .
Ouvert Keychain Access.app
(dans /Applications/Utilities
) et recherchez bitbucket
:
Faites un clic droit sur l'entrée et obtenez des informations:
Cliquez sur "Contrôle d'accès" pour confirmer qu'il s'agit bien de l'élément de trousseau de mot de passe/connexion GitHub pour Mac BitBucket:
Plutôt que de supprimer l'entrée/l'élément du trousseau, je viens de modifier mon mot de passe:
Vous devriez maintenant pouvoir utiliser GitHub pour Mac sans échec d'authentification. :)
J'ai eu le même problème, mais ce n'était pas un problème de mot de passe, car d'autres référentiels fonctionnaient très bien.
Enfin comparé .git/config
avec un référentiel fonctionnel et a trouvé ceci:
Cela a échoué:
[remote "Origin"]
url = [email protected]/path/to/repository
Cela a fonctionné:
[remote "Origin"]
url = https://github.com/path/to/repository
Je ne sais toujours pas comment ni pourquoi cela a changé.
J'ai dû essayer d'autres choses après que les solutions ci-dessus n'aient pas fonctionné pour moi.
Je ne sais pas pourquoi j'ai eu ce problème, ni pourquoi il a été résolu après:
.ssh/github-rsa
.ssh/github-rsa.pub
J'ai eu le même problème, puis j'ai suivi ces étapes:
Si votre mot de passe est correct et que vous voyez toujours ce problème, il est probable que votre fichier .git/config ait une mauvaise configuration.
Dans mon cas, il avait une valeur pushurl sous [remote "Origin"] qui n'était pas nécessaire (je travaillais sur un projet cloné).
Commentez cette ligne en ajoutant un # avant et vous êtes prêt à partir :)
De plus, si vous obtenez une erreur disant:
Ce référentiel est configuré pour Git LFS mais 'git-lfs' est introuvable sur votre chemin. Si vous ne souhaitez plus utiliser Git LFS, supprimez ce crochet en supprimant .git/hooks/pre-Push
il suffit de supprimer cela en faisant
rm .git/hooks/pre-Push
vous êtes maintenant prêt. Cela m'est également arrivé en utilisant l'application de bureau github pour mac, avec un dépôt à distance bitbucket.
astuce: si vous validez des modifications et actualisez bitbucket pour voir les modifications, celles-ci peuvent ne pas s'afficher, mais accédez à la racine du projet, puis revenez au fichier et vous verrez les modifications. Probablement un problème de cache, mais cela peut vous rendre fou si vous ne connaissez pas cet indice.
Si vous avez créé un référentiel distant sur GitHub et fusionné avec un référentiel ou un projet local. vous pouvez ajouter ce référentiel local à l'application de bureau GitHub puis aller dans Référentiel> paramètres du référentiel> À distance>
sous distant Vous trouverez le référentiel distant principal (origine), il y a une URL distante ssh qui supprime Et