551 votes

GitHub "fatal : remote origin already exists" (fatal : l'origine distante existe déjà)

J'essaie de suivre le mouvement Le tutoriel Rails de Michael Hartl mais je suis tombé sur une erreur.

Je me suis inscrit sur Github, j'ai émis une nouvelle clé SSH et créé un nouveau dépôt. Mais lorsque je saisis la ligne suivante dans le terminal, j'obtiens l'erreur suivante :

Parkers-MacBook-Pro:.ssh ppreyer$ git remote add origin git@github.com:ppreyer/first_app.git
fatal: remote origin already exists.

Je me demandais juste si quelqu'un d'autre avait rencontré ce problème ?

1 votes

Si vous avez déjà créé le dépôt git, regardez le fichier .git/config pour voir si l'origine n'est pas encore déclarée.

9 votes

J'étais confronté au même problème et j'ai utilisé la commande "git remote rm origin" puis la commande git remote add origin URL.

0 votes

@AkhzarNazir veuillez ajouter ceci comme réponse. Cela a fonctionné pour moi.

1044voto

Agis Points 9838

TL;DR vous devriez juste mettre à jour la télécommande existante :

$ git remote set-url origin git@github.com:ppreyer/first_app.git

Version longue :

Comme l'indique le message d'erreur, il existe déjà une télécommande configurée avec le même nom. Vous pouvez donc soit ajouter la nouvelle télécommande avec un nom différent, soit mettre à jour la télécommande existante si vous n'en avez pas besoin :

Pour ajouter une nouvelle télécommande, appelée par exemple github au lieu de origin (qui existe évidemment déjà dans votre système), procédez comme suit :

$ git remote add github git@github.com:ppreyer/first_app.git

Rappelez-vous cependant que partout dans le tutoriel vous voyez "origine" vous devez le remplacer par "github" . Par exemple $ git push origin master devrait maintenant être $ git push github master .

Cependant, si vous voulez voir ce que origin qui existe déjà, vous pouvez faire un $ git remote -v . Si vous pensez que cela est dû à une erreur, vous pouvez le mettre à jour comme suit :

$ git remote set-url origin git@github.com:ppreyer/first_app.git

5 votes

Pourquoi l'origine existerait-elle dans son nouveau référentiel ? Il devrait corriger le problème (en s'assurant par exemple que origin est le bon alias pour github) au lieu de créer un nouvel alias qu'il devrait rappeler.

1 votes

Ok, cela a fonctionné mais lorsque je passe à l'étape suivante et que j'entre git push -u origin master dans le terminal, j'obtiens l'erreur suivante : ERROR : Repository not found. fatal : The remote end hung up unexpectedly Qu'est-ce que cela signifie ?

1 votes

Qu'est-ce que git remote -v sorties ? Aussi, pouvez-vous essayer git push origin master ?

399voto

Manish Shrivastava Points 4380

En bref,

git remote rm origin
git remote add origin git@github.com:username/myapp.git

Cela a marché !

A la vôtre !

0 votes

Quelqu'un peut-il expliquer cela ? git remote rm origin

1 votes

@KickButtowski rm est en référence à la commande remove utilisée dans *nix. Cette commande indique donc à git de "supprimer" les détails du serveur distant nommé "origin".

0 votes

Pas besoin de le faire en 2 étapes quand on peut le faire en 1. Voir ma réponse.

42voto

Obed Castillo Points 1

Faites d'abord un :

git remote rm origin

puis

git remote add origin https://github.com/your_user/your_app.git

et voilà ! Ça a marché pour moi !

0 votes

Pourquoi supprimer l'origine ? Y a-t-il un moyen d'ajouter quelque chose à la place de l'origine ?

0 votes

Merci beaucoup.

39voto

Mark Semsel Points 813

Vous pouvez voir à quels référentiels distants vous êtes configuré pour vous connecter via

git remote -v

Cela renverra une liste dans ce format :

origin  git@github.com:github/git-reference.git (fetch)
origin  git@github.com:github/git-reference.git (push)

Cela pourrait vous aider à comprendre ce que l'origine initiale désignait.

Si vous souhaitez conserver la connexion distante que vous voyez avec le -v, mais que vous voulez toujours suivre le tutoriel Rails sans avoir à vous souvenir de 'github' (ou d'un autre nom) pour le dépôt de votre tutoriel, vous pouvez renommer votre fichier autre avec la commande :

git remote rename [current name] [new name]

comme dans :

git remote rename origin oldrepo

Vous devriez alors être en mesure de reprendre votre tutoriel.

37voto

eduncan911 Points 5417

Pour ceux d'entre vous qui rencontrent la très fréquente erreur "fatal : remote origin already exists.", ou qui, en essayant de supprimer l'origine, obtiennent "error : could not remove config section remote.origin", vous devez définir l'origine manuellement.

Le POSH~Git pour Windows PowerShell (et l'application GitHub pour Windows) a un problème avec cela.

J'ai rencontré ce problème, comme je le fais si souvent, à nouveau lors de la configuration de mon octopress. Voici donc comment j'ai réussi à le faire fonctionner.

D'abord, vérifiez vos télécommandes :

C:\gd\code\octopress [source +2 ~3 -0 !]> git remote -v
octopress       https://github.com/imathis/octopress.git (fetch)
octopress       https://github.com/imathis/octopress.git (push)
origin

Vous noterez d'abord que mon origine n'a pas d'url. Toute tentative de la supprimer, de la renommer, etc. échoue.

Donc, changez l'url manuellement :

git remote set-url --add origin https://github.com/eduncan911/eduncan911.github.io.git

Ensuite, vous pouvez confirmer que cela a fonctionné en exécutant git remote -v encore :

C:\gd\code\octopress [source +2 ~3 -0 !]> git remote -v
octopress       https://github.com/imathis/octopress.git (fetch)
octopress       https://github.com/imathis/octopress.git (push)
origin  https://github.com/eduncan911/eduncan911.github.io.git (fetch)
origin  https://github.com/eduncan911/eduncan911.github.io.git (push)

Cela a corrigé des dizaines de dépôts git avec lesquels j'ai eu des problèmes, GitHub, BitBucket GitLab, etc.

2 votes

Cela a fonctionné pour moi. Merci @eduncan911. Les instructions de github indiquent de faire un "git init" pour créer un nouveau dépôt sur la ligne de commande. Cela crée une origine distante sans URL en utilisant cette interface PS.

0 votes

Ah oui, c'est un autre piège et c'est pourquoi vous devez faire ça. +1 Peut-être devrions-nous signaler cela à POSH Git sur github.

0 votes

Comment trouver l'url lorsque j'utilise gitlab ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X