web-dev-qa-db-fra.com

Git Push: "fatal 'Origin' ne semble pas être un référentiel git - fatal Impossible de lire à partir d'un référentiel distant."

Je sais que des questions similaires ont déjà été posées.

Mais, je crois que mon problème est dû à une erreur que j'ai déjà commise et est donc différent: laissez-moi vous expliquer.

Tout fonctionnait bien, comme je pouvais:

  • git add . tous les fichiers de mon référentiel local.
  • git commit -m "message here" pour ajouter des messages à mes commits.
  • git Push Origin master pour télécharger mes fichiers sur GitHub.
  • git Push heroku master pour télécharger mes fichiers sur Heroku.

Cependant, à un moment donné, j'ai créé localement une nouvelle branche appelée add-calendar-model au cas où les prochaines étapes du développement de l'application iraient au sud ...

... c'est exactement ce qui s'est passé.

Cependant, malgré de nombreuses tentatives, je n’ai pas réussi à obtenir le code initial - c’est-à-dire le code d’avant la création de la nouvelle branche - de la branche master à mon référentiel local.

J'ai donc décidé de supprimer manuellement tous les fichiers de mon référentiel local et de git clone ma branche master de GitHub.

De cette façon, tous mes fichiers ont été récupérés, mais maintenant, je ne peux plus envoyer de données au référentiel distant.

Chaque fois que j'essaie d'exécuter git Push Origin add-calendar-model ou git Push Origin master, j'obtiens l'erreur suivante:

fatal: 'Origin' does not appear to be a git repository
fatal: Could not read from remote repository.

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

Je ne suis pas très à l'aise avec Git et GitHub, comme vous l'avez peut-être deviné, et je dois admettre que je ne sais pas comment résoudre ce problème.

Une idée?

62
Thibaud Clement

Tout d’abord, vérifiez que votre Origin est défini en exécutant

git remote -v

Cela devrait vous montrer toutes les télécommandes Push/Fetch du projet. 

Si cela retourne sans sortie, passez au dernier bloc de code.

Vérifier le nom/l'adresse à distance

Si cela indique que vous avez des télécommandes, vérifiez que le nom de la télécommande correspond à la télécommande que vous utilisez dans vos commandes.

$git remote -v
myOrigin ssh://[email protected]:1234/myRepo.git (fetch)
myOrigin ssh://[email protected]:1234/myRepo.git (Push)

# this will fail because `Origin` is not set
$git Push Origin master

# you need to use
$git Push myOrigin master

Si vous souhaitez renommer la télécommande ou modifier l'URL de la télécommande, vous devez d'abord supprimer l'ancienne télécommande, puis ajouter celle qui convient.

Supprimer l'ancienne télécommande

$git remote remove myOrigin

Ajouter la télécommande manquante

Vous pouvez ensuite ajouter la télécommande appropriée en utilisant

$git remote add Origin ssh://[email protected]:1234/myRepo.git

# this will now work as expected
$git Push Origin master
133
Matt Clark

Comme Matt Clark a déclaré ci-dessus

Toutefois, l'origine peut ne pas être définie. Par conséquent, ignorez l'étape de suppression et tentez simplement de l'ajouter pour effacer cette opération.

git remote add Origin <"clone">

Où "clone" va simplement dans votre dépôt GitHub et copiez "l'URL de clone HTTPS" et collé dans GitBash

7
heb-NR

Assurez-vous que le fichier de configuration sur .git est correct ... Vérifiez l'URL et assurez-vous que vous utilisez le protocole correct pour vos clés.

  ~Wrong url for git@bitbucket
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "Origin"]
    url = gitbucket.org:Prezyack/project-one-hello.git
    fetch = +refs/heads/*:refs/remotes/Origin/*

 ~Wrong URL for SSH...
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true
[remote "Origin"]
    fetch = +refs/heads/*:refs/remotes/Origin/*
    url = https://[email protected]/emmap1/bitbucketspacestation.git
[branch "master"]
    remote = Origin
    merge = refs/heads/master

Nous examinons l'URL ... Exemple: pour bitbucket, attendez-vous à [email protected] .... Si c'est gitbucket.org. effectuez les modifications nécessaires .. ENREGISTRER Essayez de réappuyer.

2
Magere

Parfois, vous n'avez pas de REF locale pour repousser cette branche vers l'origine .
Essayer 

git Push Origin master:master

Cela indique explicitement à quelle branche pousser vers (et à partir)

0
vsriram92

Une erreur similaire apparaît lors de l'extraction des modifications à partir de l'Origine . Si vous essayez dans Intellij à partir des options du menu, l'extraction risque de ne pas fonctionner directement.

Allez au terminal et tapez cette commande et cela devrait fonctionner: Git pull Origin master

0
Nikhil Shrivastav