Github “fatal: l’origine distante existe déjà”

J’essaie de suivre le tutoriel Rails de Michael Hartl mais j’ai rencontré une erreur.

Je me suis inscrit sur Github et j’ai émis une nouvelle clé SSH et créé un nouveau référentiel. Mais quand j’entre dans 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 si quelqu’un d’autre avait rencontré ce problème?

TL; DR vous devez simplement mettre à jour la télécommande existante:

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

Version longue:

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

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

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

Rappelez-vous 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 quelle est l’ origin qui existe déjà, vous pouvez faire un $ git remote -v . Si vous pensez que cela existe par erreur, vous pouvez le mettre à jour comme suit:

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

En bref,

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

Travaillé !

À votre santé!

Pour ceux d’entre vous qui rencontrent une erreur si commune “fatal: origine distante existe déjà.”, Ou lorsque vous essayez de supprimer l’origine et que vous obtenez “erreur: impossible de supprimer la section config remote.origin”, vous devez définir l’origine manuellement.

Le POSH ~ Git de Windows pour Windows PowerShell (et l’application GitHub pour Windows) pose problème.

Je me suis heurté à cela, comme je le fais souvent, encore une fois lors de la création de mon octopress. Alors, voici comment ça marche.

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 remarquerez d’abord que mon origine n’a pas d’url. Toute tentative de le supprimer, de le 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 à nouveau git remote -v :

 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 problèmes avec lesquels j’ai eu des problèmes, GitHub, BitBucket GitLab, etc.

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 a indiqué.

Si vous souhaitez conserver la connexion distante que vous voyez avec -v, mais que vous souhaitez toujours suivre le didacticiel Rails sans avoir à vous souvenir de github (ou autre nom) pour le référentiel de votre tutoriel, vous pouvez renommer votre autre référentiel avec le commander:

 git remote rename [current name] [new name] 

un péché:

 git remote rename origin oldrepo 

Vous devriez alors pouvoir reprendre votre tutoriel.

Faites d’abord un:

 git remote rm origin 

puis

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

et le tour est joué! Travaillé pour moi!

Dans le cas particulier où vous créez un nouveau référentiel à partir d’un ancien référentiel que vous avez utilisé comme modèle (ne faites pas cela si ce n’est pas votre cas). Effacez complètement les fichiers git de l’ancien référentiel pour pouvoir en créer un nouveau:

 rm -rf .git 

Et puis redémarrez un nouveau repository git comme d’habitude:

 git init git add whatever.wvr ("git add --all" if you want to add all files) git commit -m "first commit" git remote add origin git@github.com:ppreyer/first_app.git git push -u origin master 

Si vous avez besoin de vérifier quels repos à distance vous avez connectés avec vos pensions locales, il y a un cmd:

 git remote -v 

Maintenant, si vous souhaitez supprimer le repo distant (disons origine), vous pouvez alors:

 git remote rm origin 

Le concept de remote est simplement l’URL de votre référentiel distant.

L’ origin est un alias pointant vers cette URL. Donc, au lieu d’écrire l’URL entière à chaque fois que nous voulons pousser quelque chose dans notre référentiel, nous utilisons simplement cet alias et nous exécutons:

git push -u origin master

Dire de push notre code depuis notre twig maître locale vers le référentiel d’ origine distant .

Chaque fois que nous clonons un référentiel , git crée cet alias pour nous par défaut. Aussi, chaque fois que nous créons un nouveau référentiel , nous le créons nous-mêmes.

Quel que soit le cas, nous pouvons toujours changer ce nom pour tout ce que nous voulons, en exécutant ceci:

 git remote rename [current-name] [new-name] 

Comme il est stocké du côté client de l’application git (sur notre machine), sa modification n’affectera rien dans notre processus de développement, ni dans notre référentiel distant. N’oubliez pas que ce n’est qu’un nom qui pointe vers une adresse .

La seule chose qui change ici en renommant l’alias, c’est que nous devons déclarer ce nouveau nom chaque fois que nous envoyons quelque chose à notre repository.

git push -u my-remote-alias master

De toute évidence, un seul nom ne peut pas pointer vers deux adresses différentes. C’est pourquoi vous obtenez ce message d’erreur. Il existe déjà un alias nommé origin sur votre ordinateur local. Pour voir combien d’alias vous avez et quels sont-ils, vous pouvez lancer cette commande:

 git remote -v 

Cela vous montrera tous les alias que vous avez ainsi que les URL correspondantes.

Vous pouvez également les supprimer si vous aimez lancer ceci:

 git remote rm my-remote-alias 

Donc en bref:

  • Découvrez ce que vous avez déjà,
  • les supprimer ou les renommer,
  • ajoutez vos nouveaux alias.

Heureux codage

Ce message d’erreur indique que vous avez déjà une télécommande dans votre répertoire git. Si vous êtes satisfait de cette télécommande, vous pouvez transmettre votre code. Si non ou si vous ne pouvez pas pousser simplement:

 git remote remove origin git remote add origin git@github.com:ppreyer/first_app.git 

Voilà!

Cela peut aussi arriver si vous exécutez la commande dans le répertoire sans que git soit initialisé. Si c’est le cas, lancez d’abord:

 git init 

Si vous ajoutez déjà un projet pour un autre stockage, comme vous téléchargez sur github et que vous téléchargez sur bitbucket, il affiche alors ce type d’erreur.

Comment supprimer une erreur: supprimez le fichier git-hub dans votre projet, puis répétez les étapes suivantes …

 git init git remote add origin git@bitbucket.org:Yourname/firstdemotry.git git add -A git commit -m 'Message' git push -u origin master 

pour utiliser git il faut être

racine

sinon, utilisez sudo

pour enlever l’origine:

git remote remove origin

pour append l’origine:

git à distance append l’origine http: // giturl

  • $ git remote add origin git@gitlab.com:abc/backend/abc.git

    Dans cette commande, l’origine ne fait pas partie de la commande, il s’agit simplement du nom de votre référentiel distant. Vous pouvez utiliser n’importe quel nom que vous voulez.

    • Vous pouvez d’abord vérifier que ce qu’il contient en utilisant la commande ci-dessous

    $ git remote -v

    origin git@gitlab.com:abc/backend/abc.git (fetch) origin git@gitlab.com:abc/backend/abc.git (push) origin1 git@gitlab.com:abc/backend/abc.git (fetch) origin1 git@gitlab.com:abc/backend/abc.git (push)

    si elle contient votre chemin de repository distant, vous pouvez directement y accéder sans append d’origine à nouveau

    • S’il ne contient pas le chemin de votre référentiel distant

    Ensuite, vous pouvez append une nouvelle origine avec un nom différent et l’utiliser pour pousser comme $ git remote add origin101 git@gitlab.com:abc/backend/abc.git

    Ou vous pouvez renommer le nom d’origine existant append votre origine

    git remote rename origin destination

    feu sous commande à nouveau

    $ git remote -v

    destination git@gitlab.com:abc/backend/abc.git (fetch) destination git@gitlab.com:abc/backend/abc.git (push)

    Cela changera votre nom de repos existant afin que vous puissiez utiliser ce nom d’origine

    Ou vous pouvez simplement supprimer votre origine existante et append votre origine

    git remote rm destination

Première vérification Pour voir combien d’alias vous avez et quels sont-ils, vous pouvez lancer cette commande git remote -v

Ensuite, voyez dans quel répertoire vous êtes, puis essayez git remote set-url –add [Puis votre lien de repository] git push -u origine master