Erreurs de clonage HTTPS
Il existe quelques erreurs courantes lors de l'utilisation de HTTPS avec Git. Ces erreurs indiquent généralement que vous avez une ancienne version de Git ou que vous n'avez pas accès au dépôt.
Voici un exemple d'erreur HTTPS que vous pouvez recevoir :
> error: The requested URL returned error: 401 while accessing
> https://github.com/USER/REPO.git/info/refs?service=git-receive-pack
> fatal: HTTP request failed
> Error: The requested URL returned error: 403 while accessing
> https://github.com/USER/REPO.git/info/refs
> fatal: HTTP request failed
> Error: https://github.com/USER/REPO.git/info/refs not found: did you run git
> update-server-info on the server?
Vérifiez votre version de Git
Il n'existe aucune version minimale de Git nécessaire pour interagir avec GitHub, mais nous avons constaté que la version 1.7.10 était une version stable et confortable disponible sur de nombreuses plateformes. Vous pouvez toujours télécharger la dernière version sur le site web Git.
Vérifiez que le dépôt distant est correct
Le référentiel que vous essayez d'extraire doit exister sur GitHub.com.
Vous pouvez trouver l'URL du dépôt local en ouvrant la ligne de commande et en tapant git remote -v
:
$ git remote -v
# View existing remotes
> origin https://github.com/ghost/cocoareactive.git (fetch)
> origin https://github.com/ghost/cocoareactive.git (push)
$ git remote set-url origin https://github.com/ghost/ReactiveCocoa.git
# Change the 'origin' remote's URL
$ git remote -v
# Verify new remote URL
> origin https://github.com/ghost/ReactiveCocoa.git (fetch)
> origin https://github.com/ghost/ReactiveCocoa.git (push)
Vous pouvez également modifier l'URL via notre application GitHub Desktop.
Fournissez un jeton d'accès
Pour accéder à GitHub, vous devez vous authentifier avec un personal access token au lieu de votre mot de passe. Pour plus d'informations, consultez « Gestion de vos jetons d'accès personnels ».
Si vous accédez à une organisation qui utilise l’authentification unique SAML et que vous utilisez un personal access token (classic), vous devez également autoriser votre personal access token à accéder à l’organisation avant de vous authentifier. Pour plus d’informations, consultez « À propos de l’authentification unique SAML » et « Autorisation d’un jeton d’accès personnel à utiliser avec l’authentification unique SAML ».
Vérifier vos autorisations
Lorsque vous êtes invité à entrer un nom d'utilisateur et un mot de passe, veillez à utiliser un compte ayant accès au dépôt.
Astuce : Si vous ne souhaitez pas entrer vos informations d'identification chaque fois que vous interagissez avec le dépôt distant, vous pouvez activer la mise en cache des informations d'identification. Si vous utilisez déjà la mise en cache des informations d'identification, vérifiez que votre ordinateur dispose des informations d'identification correctes mises en cache. Des informations d'identification incorrectes ou obsolètes entraînent l'échec de l'authentification.
Utilisez SSH à la place
Si vous avez déjà configuré des clés SSH, vous pouvez utiliser l'URL de clone SSH au lieu de HTTPS. Pour plus d'informations, consultez « À propos des référentiels distants ».
Erreur : Dépôt introuvable
Si vous voyez cette erreur lors du clonage d'un référentiel, cela signifie que le référentiel n'existe pas ou que vous n'êtes pas autorisé à y accéder. Il existe quelques solutions à cette erreur, en fonction de la cause.
Vérifiez l'orthographe.
Les fautes de frappe peuvent arriver. Si vous essayez de cloner [email protected]:owner/repotile.git
, mais que le dépôt se nomme en fait owner/repoti1e
, vous recevrez cette erreur.
Pour éviter cette erreur, lors du clonage, copiez et collez toujours l'URL de clone à partir de la page du dépôt. Pour plus d'informations, consultez « Clonage d’un dépôt ».
Pour mettre à jour le dépôt distant sur un dépôt existant, consultez « Création de dépôt distants ».
Vérification de vos autorisations
Si vous essayez de cloner un dépôt privé mais que vous n'êtes pas autorisé à afficher le dépôt, vous recevrez cette erreur.
Vérifiez que vous avez accès au dépôt en vertu des autorisations suivantes :
- Propriétaire du dépôt
- Collaborateur sur le dépôt
- Membre d'une équipe ayant accès au dépôt (si celui-ci appartient à une organisation)
Vérifiez votre accès SSH
Dans de rares cas, il se peut que vous n'ayez pas l'accès SSH approprié à un dépôt.
Vous devez vérifier que la clé SSH que vous utilisez est attachée à votre compte personnel sur GitHub. Vous pouvez le vérifier en tapant ce qui suit sur la ligne de commande :
$ ssh -T [email protected]
> Hi USERNAME! You've successfully authenticated, but GitHub does not
> provide shell access.
Si le référentiel appartient à une organisation et que vous utilisez une clé SSH générée par une OAuth app, l'accès de OAuth app peut avoir été limité par un propriétaire de l'organisation. Pour plus d'informations, consultez « À propos des restrictions d’accès des applications OAuth ».
Pour plus d'informations, consultez Ajout d'une nouvelle clé SSH à votre compte GitHub.
Vérifiez que le dépôt existe vraiment
Si tout le reste échoue, vérifiez que le référentiel existe réellement sur GitHub.com. Si vous essayez de pousser vers un dépôt qui n'existe pas, vous recevrez cette erreur.
Erreur : Le dépôt distant principal fait référence à une référence inexistante. Impossible d'effectuer l'extraction
Cette erreur se produit si la branche par défaut d'un référentiel a été supprimée sur GitHub.com.
La détection de cette erreur est simple ; Git vous avertit lorsque vous essayez de cloner le dépôt :
$ git clone https://github.com/USER/REPO.git
# Clone a repo
> Cloning into 'repo'...
> remote: Counting objects: 66179, done.
> remote: Compressing objects: 100% (15587/15587), done.
> remote: Total 66179 (delta 46985), reused 65596 (delta 46402)
> Receiving objects: 100% (66179/66179), 51.66 MiB | 667 KiB/s, done.
> Resolving deltas: 100% (46985/46985), done.
> warning: remote HEAD refers to nonexistent ref, unable to checkout.
Pour corriger l'erreur, vous devez être administrateur du référentiel sur GitHub.com. Vous devrez changer la branche par défaut du dépôt.
Après cela, vous pourrez obtenir la liste de toutes les branches disponibles à partir de la ligne de commande :
$ git branch -a
# Lists ALL the branches
> remotes/origin/awesome
> remotes/origin/more-work
> remotes/origin/new-main
Ensuite, il vous suffira de basculer vers votre nouvelle branche :
$ git checkout new-main
# Create and checkout a tracking branch
> Branch new-main set up to track remote branch new-main from origin.
> Switched to a new branch 'new-main'