Git Push ERROR: référentiel introuvable

356

J'ai un problème très étrange avec gitet github. Quand j'essaie de pousser, je reçois:

git push -u origin master
ERROR: Repository not found.
fatal: The remote end hung up unexpectedly

J'ai ajouté la télécommande:

git remote add origin [email protected]:account-name/repo-name.git

Des idées?

Justin
la source
2
Oui, c'est comme ça que je l'ai obtenu git remote add origin [email protected]:account-name/repo-name.git. Il existe dans GitHub, et c'est un dépôt privé.
Justin
1
avez-vous revérifié vos noms d'utilisateur et de dépôt?
scientifique le
2
avez-vous changé votre nom d'utilisateur github
Ankit
2
Y a-t-il une chance que cela soit lié aux autorisations de lecture / écriture sur le référentiel? J'ai un dépôt en lecture seule et j'obtiens ce message lorsque j'essaie de pousser quelque chose
Michael
3
J'ai eu le même problème. Je l'ai résolu en mettant à jour le fichier .git / config. J'ai mis le nom d'utilisateur dans la clé URL de la [remote "origin"]section.
Ahmed Jehanzaib

Réponses:

514

Vérifiez si vous disposez d'un accès en lecture-écriture.

Le message d'erreur Git est trompeur. J'ai eu un problème similaire. J'avais été ajouté à un projet existant. Je l'ai cloné et j'ai commis un changement local. Je suis allé pousser et j'ai reçu le ERROR: Repository not found.message d'erreur.

La personne qui m'a ajouté au projet m'a donné un accès en lecture seule au référentiel. Un changement par eux et j'ai pu pousser.

JT.
la source
291
Je dois aimer ces messages d'erreur Git utiles. Vous ne trouvez pas le référentiel à partir duquel je viens de cloner, hein? Menteur.
Grant Birchmeier
yep même problème ici - pas de droits de commit et vous obtenez ce message d'erreur très
obscur
12
@GrantBirchmeier Je veux voter 100 fois pour votre commentaire.
technophyle
16
Merci! Vous pouvez vérifier cela en consultant le projet sur le Web et en cliquant sur "Nouveau fichier"
Ronnie
2
Donc pour moi, mon mot de passe contenait un `(cochez) et PhpStorm supprimait le caractère avant d'envoyer le push git: Disons pour cet exemple que mon mot de passe est _pa``ssword_ Phpstorm produirait ce qui suit: https://_username_:[email protected]/_username_/repo.git au lieu de https://_username_:_pa``[email protected]/_username_/repo.git Changed password en quelque chose qui n'utilise pas le` personnage. TRAVAUX!!!
Ruben Arevalo
128

J'ai rencontré le même problème et je l'ai résolu en incluant mon nom d'utilisateur et mon mot de passe dans l'URL du dépôt:

git clone https://myusername:[email protected]/path_to/myRepo.git
George Eracleous
la source
29
Cela a fonctionné pour moi en ajoutant juste mon nom d'utilisateur:https://[email protected]/path_to/myRepo.git
redolent
5
cela fonctionne, mais bien sûr, beaucoup de gens le considéreraient comme un problème de sécurité; à utiliser avec prudence
Alexander Mills
Cela a fonctionné pour moi. J'avais déjà utilisé Git Bash pour un autre compte et je ne savais pas comment changer de compte, alors voilà. Je n'aime pas ça, mais ça marche.
HartleySan
1
Pour faire suite à mon commentaire d'origine, une fois que vous avez réussi à pousser une fois, vous pouvez utiliser la git remote set-url origin urlcommande pour changer votre URL d'origine en la même chose sans le nom d'utilisateur et le mot de passe, puis cela fonctionne correctement.
HartleySan
1
Vous venez de sauver mon copain! À votre santé!
Eldho Paul Konnanal
105

J'ai eu le même problème, avec un repo privé.

procédez comme suit:

supprimer l'origine distante

git remote rm origin

rajouter l'origine mais avec votre nom d'utilisateur et pwd avec des privilèges d'écriture sur ce repo pvt

git remote add origin  https://USERNAME:[email protected]/username/reponame.git
Emi-C
la source
12
Et si le mot de passe a @?
AnupamChugh
16
@AnupamChugh, vous devez remplacer '@' par '% 40' dans votre mot de passe. Fondamentalement, vous pouvez vérifier en exécutant le code JSencodeURIComponent(password)
elquimista
1
Je recommande d'utiliser un assistant d'identification plutôt que de stocker votre mot de passe en texte brut: help.github.com/articles/caching-your-github-password-in-git
Johnsyweb
2
Merci ça a aidé sans aucun problème!
Matan Dahan
4
Finalement! Le hic est pour le PRIVATE REPO. Cela a fonctionné si vous avez un référentiel privé et que vous obtenez cette erreur en suivant les instructions du hub Git pour pousser un référentiel existant du local dans Xcode vers le distant dans Github: $ git push -u origin master remote: Repository not found. fatal: repository 'https://github.com/teksunios/Abc.git/' not found
iHarshil
67

J'obtenais la même erreur

ERROR: Repository not found.   
fatal: The remote end hung up unexpectedly

et j'avais créé le référentiel sur Github et cloné localement.

J'ai pu résoudre en ouvrant .git / config et en supprimant la [remote "origin"]section.

[remote "origin"]   
   url = [email protected]:alexagui/my_project.git  
   fetch = +refs/heads/*:refs/remotes/origin/*

puis j'ai exécuté ce qui suit (encore)

git remote add origin [email protected]:alexagui/my_project.git  
git push -u origin master

et cette fois, j'ai pu pousser vers le référentiel.

Alex Aguilar
la source
3
Pourriez-vous expliquer comment vous avez ouvert .git / config et supprimé la section [origine "distante]?
Davi Moreira
Je suis venu ici à la recherche de réponses à un problème similaire. J'avais créé un nouveau référentiel à partir d'IntelliJ IDEA, mais j'ai reçu le même message d'erreur lorsque j'ai essayé de faire mon push initial. La réponse d'Alex Aguilar m'a inspiré à aller dans le fichier .git / config et à modifier l'URL du référentiel afin qu'il utilise mon nom d'utilisateur avec une première lettre majuscule, ce qu'il n'a pas fait initialement. Cela a résolu mon problème.
Vallle
Le .git/répertoire se trouve dans le répertoire racine du projet.
Gui Imamura
Cela a également résolu le problème pour moi - j'ai essayé de changer d'utilisateur au milieu d'un projet et cela a ouvert un monde de douleur
gotofritz
pourquoi cela serait-il nécessaire? J'ai changé mon nom d'utilisateur et maintenant je suis confronté à toutes sortes de problèmes.
HighOnMeat
46

Si vous utilisez Git sous Windows , essayez d'effacer vos informations d'identification:

  1. Localisez le "gestionnaire d'informations d'identification" (devrait se trouver dans votre panneau de configuration)
  2. Supprimer toutes les informations d'identification liées à GitHub

entrez la description de l'image ici

SandroMarques
la source
3
Nice - merci pour cette astuce réussie! BTW, avec la commande suivante, vous pouvez accéder directement au gestionnaire d'informations d'identification: "control.exe / name Microsoft.CredentialManager"
Chris
Merci, cela sauve ma journée.
Amy
cela m'a sauvé la journée!
mvermand
1
La seule chose ici qui a fonctionné pour moi
WHOATEMYNOODLES
Cela a fonctionné, j'avais un autre compte sur github qui a causé le problème
Mokhtar Ashour
27

J'ai eu cette erreur (mais avant je travaillais). Mon problème était la clé ssh manquante liée au compte Github. Vous pouvez vérifier vos clés ssh actuelles avec ssh-add -l.

Si votre clé est manquante, vous pouvez l'ajouter avec

ssh-add ~/.ssh/your_key
Matteo Alessani
la source
2
J'ai changé mon compte github et j'ai donc dû changer ma clé ssh existante. Votre solution a fait l'affaire, merci!
Thomas Potaire
La solution la plus simple qui a fonctionné pour moi. Merci!
Dominique Paul
23

J'avais un problème similaire. Les informations d'identification incorrectes ont été mises en cache dans le porte-clés d'OS X.

Consultez: https://help.github.com/articles/updating-credentials-from-the-osx-keychain

Nikola
la source
3
Même problème. J'obtiens remote: Repository not found.en accédant au repo privé. C'est parce que toujours connecté au dépôt avec les anciennes informations d'identification (même avec les nouvelles dans la configuration locale de git). Pour corriger 1) retirez la clé du trousseau. 2) refaites la commande dans le terminal. 3) Devrait demander un nom d'utilisateur et un mot de passe.
Nik Kov
2
Cela a résolu le problème pour moi. Nuked les informations d'identification dans le trousseau, a obtenu un nouveau jeton d'accès personnel via l'interface graphique Github et je suis en marche, merci.
Anthony
@ La réponse d'Antoine est ce qui m'est arrivé. Malheureusement, j'ai trouvé cela après avoir résolu le problème. Dans mon cas, je viens d'activer 2FA (Two Factor Authentication) (TFA). Cela a cassé mon mot de passe. Donc, j'ai effacé les informations d'identification (comme les gens sur cette page l'ont dit), mais recloner un dépôt a toujours échoué avec mon mot de passe (je suppose qu'en raison de 2FA). J'ai donc créé un jeton d'accès personnel ( help.github.com/articles/… ) à utiliser à la place du mot de passe. Je lui ai donné un accès repo uniquement car il est sur la ligne de commande.
cwingrav
19
git remote rm origin
git remote add origin <remote url>
Kirill Evgenevich
la source
A travaillé pour moi. Ce problème a commencé à apparaître après la mise à jour de git.
karthikdivi
Cela a fonctionné pour moi en changeant l'URL https avec git @ one.
Skoua
17

J'utilise Mac et j'ai eu du mal à trouver la solution. Mon adresse distante était correcte et comme je l'ai dit, c'était un problème d'identification . Apparemment, dans le passé, j'utilisais un autre compte Git sur mon ordinateur et le trousseau de mac se souvenait des informations d'identification du compte précédent, donc je n'étais vraiment pas autorisé à pousser.

Comment réparer? Ouvrez Keychain Access sur votre Mac, choisissez la catégorie "Tous les articles" et recherchez git. Supprimer tous les résultats trouvés.

Allez maintenant au terminal et essayez de pousser à nouveau. Le terminal vous demandera un nom d'utilisateur et un mot de passe. Entrez les nouvelles informations d'identification pertinentes et c'est tout!

J'espère que cela aidera quelqu'un. Je me suis débattu pendant quelques heures.

Gal Shahar
la source
1
Merci merci merci merci merci merci !!!!! Je me cognais déjà la tête contre le mur.
potibas
Cela a vraiment aidé. J'ai tout essayé et je ne pouvais tout simplement pas comprendre. Push, Pull CLone, fonctionne depuis IntelliJ mais pas depuis Terminal. Après avoir nettoyé le trousseau, cela fonctionne comme par magie.
Achyut
Pour macOS, c'était la seule solution qui fonctionnait pour moi. Merci.
Niraj
14

remote: Repository not found. peut être un message d'erreur frustrant et trompeur de lorsque vous essayez de pousser vers une télécommande HTTPS où vous n'avez pas d'autorisations d'écriture .

Vérifiez vos autorisations d'écriture sur le référentiel!

Essayer une télécommande SSH dans le même référentiel montre une réponse différente:

% git remote add ssh [email protected]:our-organisation/some-repository.git

% git fetch ssh
From github.com:our-organisation/some-repository
* [new branch]        MO_Adding_ECS_configs             -> ssh/MO_Adding_ECS_configs
* [new branch]        update_gems                       -> ssh/update_gems

% git push ssh     
ERROR: Repository not found.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

"Les bons droits d'accès?"

Eh bien, pourquoi ne l'as-tu pas dit?

Il convient de noter à ce stade que bien que le mode d'échec SSH dans ce scénario soit légèrement meilleur, j'utilise des télécommandes HTTPS sur SSH car GitHub recommande HTTPS sur SSH .

Je comprends que GitHub utilise "Introuvable" où il signifie "Interdit" dans certaines circonstances pour éviter de révéler par inadvertance l'existence d'un référentiel privé.

Les demandes qui nécessitent une authentification seront renvoyées 404 Not Found, au lieu de 403 Forbidden, à certains endroits. Il s'agit d'empêcher la fuite accidentelle de référentiels privés vers des utilisateurs non autorisés.

- GitHub

Il s'agit d'une pratique assez courante sur le Web, en effet elle est définie:

Le code d'état 404 (Not Found) indique que le serveur d'origine n'a pas trouvé de représentation actuelle pour la ressource cible ou n'est pas disposé à divulguer qu'elle existe.

- 6.5.4. 404 Introuvable, RFC 7231 HTTP / 1.1 Sémantique et Contenu (accent sur le mien)

Ce qui n'a aucun sens pour moi, c'est lorsque je suis authentifié auprès de GitHub à l'aide d'un assistant d'identification et que j'ai accès à ce référentiel (après l'avoir cloné et récupéré avec succès) que GitHub choisirait de me cacher son existence en raison d'autorisations d'écriture manquantes.

La vérification de https://github.com/our-organisation/some-repository/ à l' aide d'un navigateur Web a confirmé que je n'avais pas d'autorisations en écriture sur le référentiel . Les administrateurs GitHub de notre équipe ont pu accorder à mon équipe un accès en écriture en peu de temps et j'ai pu pousser la branche vers le haut.

Johnsyweb
la source
10

Si votre référentiel fonctionnait normalement auparavant, et que cette erreur apparaît soudainement, la raison en est probablement que votre git est authentifié comme un autre utilisateur, qui n'a pas accès au référentiel . Donc, pour pousser, tout ce que vous devez faire est de spécifier votre nom d'utilisateur et votre mot de passe corrects dans votre commande git. Ainsi, une commande push pour un dépôt github ressemblerait à:

git push https://youruser:[email protected]/user/reponame.git

username and passworddoit être échappé par l'url, donc un @ doit être remplacé par % 40 , et ainsi de suite.

MrClan
la source
Cela a fonctionné pour moi la première fois. J'ai créé le problème initialement en supprimant le .gitconfig de C: / users / {username}
Mike Upjohn
9

Si vous appartenez à un groupe dans Github, vérifiez que vous disposez d'un accès en écriture.

Eduardo Chongkan
la source
1
Comment fait-on exactement cela? Ce serait plus complet si vous pouviez ajouter de telles informations.
Renato Back
2
viens d'accéder à votre dépôt git et cliquez sur n'importe quel fichier et essayez de le modifier.Si vous n'avez pas accès en écriture, vous verrez une erreur comme "vous essayez de modifier un fichier ...."
mohor chatt
3
Un moyen rapide de vérifier consiste à cliquer Create new file. Si vous recevez un message disant "Vous créez un fichier dans un projet auquel vous n'avez pas accès en écriture", alors vous n'avez pas accès en écriture.
wisbucky
8

Eu un problème similaire. La racine du problème était que j'ai suivi un didacticiel en ligne sur l'ajout d'un nouveau référentiel à Github.

Allez simplement sur Github, créez un nouveau dépôt, il vous demandera d'ajouter un README, ne l'ajoutez pas. Créez-le et vous obtiendrez des instructions sur la façon de pousser.

C'est similaire aux deux lignes suivantes:

git remote add origin https://github.com/YOUR_USER/your-repo.git
git push -u origin master
valk
la source
8

Cela a résolu mon problème.

   git pull https://myusername:[email protected]/path_to/myRepo.git
Eyad Farra
la source
8

C'est ce qui a fonctionné pour moi:

1. Les télécommandes

$ git remote rm origin
$ git remote add origin [email protected]:<USER>/<REPO>.git

Si votre clé SSH est déjà utilisée sur un autre représentant github, vous pouvez en générer une nouvelle.

2. Génération d'une nouvelle clé SSH

$ ssh-keygen -t rsa -b 4096 -C "[email protected]"

3. Ajout de la clé au niveau de l'agent SSH

$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/id_rsa_github

4. Ajoutez la nouvelle clé au référentiel Github.

120DEV
la source
7

Un problème, qui peut être évident pour certains que je ne vois pas mentionné ici, pourrait être que vous avez accès avec des clés ssh, mais vous essayez de connecter votre dépôt local à une télécommande via https.

Si tel est le cas, les commandes suivantes devraient résoudre le problème pour vous:

$ git remote -v
origin  https://github.com/private-repo.git (fetch)
origin  https://github.com/private-repo.git (push)
$ git remote rm origin
$ git remote add origin [email protected]:private-repo.git
$ git remote -v
origin  [email protected]:private-repo.git (fetch)
origin  [email protected]:private-repo.git (push)

Notez que ce qui précède fonctionne en supposant que:

  1. votre télécommande actuelle est nommée originet que vous avez déjà une clé ssh générée connectée à votre compte github

  2. vous avez déjà une clé ssh associée à votre compte github (et connectée localement)

  3. vous avez les bonnes autorisations (lecture / écriture) définies sur github pour les paramètres de ce dépôt.

John Donner
la source
Cela a fonctionné pour moi. Mais quel a été le changement révolutionnaire? Ça marchait bien l'autre semaine et c'était un repo que j'avais depuis des années.
Dylan Nissley
@DylanNissley peut-être que les paramètres de sécurité du dépôt ont changé? Je ne suis pas sûr, pour être honnête. : /
John Donner
6

Vous devez vérifier votre accès SSH comme suit:

ssh -T [email protected]

ce problème était dû au fait que je n'ajoute pas la réponse de la personne sur SSH dans le référentiel, en savoir plus sur SSH link-1 , link-2 .

Mohamed Yakout
la source
Cela a révélé un problème avec plusieurs clés et un fichier de configuration qui ne fonctionnait pas. Merci pour le conseil.
dibs
5

Ce qui suit a résolu le problème pour moi.

J'ai d'abord utilisé cette commande pour comprendre quel était le compte github utilisé:

ssh -T [email protected]

Cela m'a donné une réponse comme celle-ci:

Hi <github_account_name>! You've successfully authenticated, but GitHub does not provide shell access. I just had to give the access to fix the problem.

J'ai alors compris que l'utilisateur Github décrit dans la réponse (github_account_name) n'était pas autorisé sur le référentiel Github que j'essayais de tirer.

Stéphane
la source
Que faire si j'obtiens cette erreur:The authenticity of host 'github.com (192.30.253.112)' can't be established. RSA key fingerprint is SHA256.... Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'github.com,192.30.253.112' (RSA) to the list of known hosts. Permission denied (publickey).
Nik Kov
5

Voici comment résoudre mon problème

#check current github account
ssh -T [email protected]

#ensure the correct ssh key used with github
ssh-agent -s
ssh-add ~/.ssh/YOUR-GITHUB-KEY

#re-add the origin
git remote add origin [email protected]:YOUR-USER/YOUR-REPO.GIT
git push -u origin master
Nam G VU
la source
4

Si quelqu'un a rencontré le problème sur github.com, vérifiez si vous avez accepté une invitation après que le propriétaire du dépôt ait autorisé les engagements. Jusqu'à ce que vous acceptiez le dépôt d'invitation, il sera invisible pour vous. Vous aurez doncERROR: Repository not found.

zeliboba
la source
Merci, cela a résolu mon problème.
Glen
1
Même chose ici, je m'attendrais à ce que le message d'erreur soit quelque chose comme "Vous n'avez pas la permission d'écrire" ou quelque chose comme ça. Merci d'avoir fait remarquer cela!
Miguel Péres
Le logiciel de Linus n'est pas un logiciel qui fait les choses attendues.
Nakilon
4

Le problème : Github n'est pas familier avec votre référentiel pour une raison quelconque.

L'erreur: invité dans git cli comme suit:

à distance: référentiel introuvable. fatal: référentiel ' https://github.com/MyOrganization/projectName.git/ ' introuvable

La solution: 2 options

  1. Github pourrait ne pas connaître vos informations d'identification: - La première option consiste à cloner le projet avec les informations d'identification appropriées user:passwordau cas où vous l'auriez oublié Ou à générer un jeton ssh et à ajuster cette clé dans votre Github. aliasgit push https://<userName>:<password>@github.com/Company/repositoryName.git

  2. Problème d'autorisation de dépôt avec certains utilisateurs - Dans mon cas d'utilisation, j'ai résolu ce problème lorsque j'ai réalisé que je n'avais pas les bonnes autorisations de collaborateur sur Github dans mon dépôt privé. Les utilisateurs peuvent cloner le projet mais ne pas effectuer d'actions sur l'origine. Afin de résoudre ce problème:

Accédez au référentiel sur Github -> Paramètres -> Collaborateurs et équipes -> Ajouter un membre / mainteneur à vos utilisateurs -> Maintenant, ils ont la permission de valider et de pousser

avivamg
la source
3

Changer le contenu du fichier .git / config aide comme Alex l'a dit ci-dessus. J'ai rencontré le même problème et je pense que c'est parce que j'ai changé mon nom d'utilisateur Github. Les fichiers locaux n'ont pas pu être mis à jour avec les modifications. Donc, peut-être qu'à chaque fois que vous changez votre nom d'utilisateur, vous pourriez envisager de lancer

git remote add origin your_ssh_link_from_github

J'espère que ça aide ;)

Yaw Boakye
la source
3

J'ai eu le même problème. Essayez ce qui suit:

1. La modification de l'accès au trousseau dans Mac pour les informations d'identification git a résolu le problème pour moi.
2. Réinitialisation de l'URL d'origine

git remote rm origin
git remote add origin [email protected]:account-name/repo-name.git
Vinodh Krishnaraju
la source
3

Si vous clonez depuis github en utilisant httpsmais que vous utilisez sshpour pousser, vous pouvez également obtenir cette erreur.

Pour corriger cela, ouvrez .git/configet remplacez:

url = https://github.com/company/project.git

Avec

url = [email protected]:company/project.git

Et vous devriez pouvoir pousser sans avertissement ...

Neil
la source
2

Ont rencontré le même problème. Tout fonctionnait bien depuis des années et puis soudainement cette erreur.

Le problème s'avère que j'ai ajouté une clé de déploiement pour un autre dépôt à mon agent SSH avant la clé SSH github de mon utilisateur (que j'ai toujours utilisée pour accéder au dépôt en question). L'agent SSH a d'abord essayé la clé de déploiement pour un autre dépôt, et GitHub pour une raison totalement inexplicable disait

ERROR: Repository not found.

Une fois que j'ai supprimé la clé de déploiement de l'agent SSH, tout est revenu à la normale.

snovity
la source
2

J'ai eu ce problème et j'ai réalisé que j'utilisais un compte différent de celui dont c'était le dépôt. La connexion en tant qu'utilisateur d'origine a résolu le problème.

Keyslinger
la source
Dans mon cas, j'avais créé 2 comptes et ajouté des entrées dans .ssh / config pour le travail d'alias et personnel et oublié .So; changer la partie d'origine dans .git / config du répertoire du projet pour que je travaille au lieu de 'github.com' a résolu le problème.Le problème était que lors du clonage, j'avais utilisé [email protected]: blahblah et non git @ work: blahblah.
sourabh
2

Si vous utilisez un référentiel privé, vérifiez votre connexion utilisateur, il doit avoir l'autorisation d'utiliser le référentiel.

Max
la source
1

J'ai eu le même problème. Mon problème était de ne pas comprendre que je devais d'abord créer le dépôt vide sur github avant de le pousser. Ah! Y compris cela pour toute autre personne qui ne s'en rend pas compte.

Nate Barr
la source
1

allez dans votre dossier de projet puis recherchez le dossier .git, puis ouvrez le fichier de configuration avec le bloc-notes et vérifiez s'il y a votre lien vers le repo github sous: [remote "origin"], s'il est différent alors le repo dans votre github puis modifiez-le ou ouvrez un nouveau dépôt avec le nom dans le fichier de configuration

Trop cool
la source
1

Ma solution peut être utile à certains d'entre vous.

J'ai eu la même erreur après la mise à jour du système d'exploitation de mon macbook vers Yosemite. Mon problème a été résolu en recréant ma clé ssh. Vous pouvez le faire en suivant l'étape 2 de cette page: https://help.github.com/articles/generating-ssh-keys/

Luc
la source