web-dev-qa-db-fra.com

Github "fatal: l'origine distante existe déjà"

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

Je me suis inscrit sur Github et ai publié une nouvelle clé SSH et créé un nouveau référentiel. Mais lorsque j'entre la ligne suivante dans le terminal, l'erreur suivante apparaît:

Parkers-MacBook-Pro:.ssh ppreyer$ git remote add Origin [email protected]:ppreyer/first_app.git
fatal: remote Origin already exists.

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

355
ppreyer

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

$ git remote set-url Origin [email protected]: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 soit ajouter la nouvelle télécommande avec un nom différent, soit mettre à jour l’ancien si vous n’en avez pas besoin:

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

$ git remote add github [email protected]:ppreyer/first_app.git

N'oubliez pas que partout dans le tutoriel, vous voyez "Origin", 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 qu'est 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 [email protected]:ppreyer/first_app.git
706
Agis

En bref,

git remote rm Origin
git remote add Origin [email protected]:username/myapp.git

Travaillé !

À votre santé!

263
Manish Shrivastava

Pour ceux d'entre vous qui rencontrent l'erreur très courante "fatal: Remote Origin existe déjà." définir l'origine manuellement. 

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

Je me suis heurté à cela, comme je le fais si souvent, encore une fois lors de la préparation de mon poulpe. Alors, voici comment je l'ai fait fonctionner. 

Tout 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.

Alors, 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 dépôts git avec lesquels j'avais eu des problèmes, GitHub, BitBucket GitLab, etc.

36
eduncan911

Vous pouvez voir les référentiels distants auxquels vous êtes configuré pour vous connecter via

git remote -v

Cela retournera une liste dans ce format:

Origin  [email protected]:github/git-reference.git (fetch)
Origin  [email protected]:github/git-reference.git (Push)

Cela pourrait vous aider à comprendre le sens de l'origine.

Si vous souhaitez conserver la connexion distante que vous voyez avec le -v, mais que vous souhaitez tout de même suivre le didacticiel Rails sans avoir à vous rappeler «github» (ou un autre nom) pour le référentiel de votre didacticiel, vous pouvez renommer votre autre repository avec la commande:

git remote rename [current name] [new name]

un péché:

git remote rename Origin oldrepo

Vous devriez alors pouvoir reprendre votre tutoriel.

32
Mark Semsel

D'abord faire 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!

27
Obed Castillo

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

rm -rf .git

Et redémarrez un nouveau référentiel 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 [email protected]:ppreyer/first_app.git
git Push -u Origin master
21
Wilmer E. Henao

Si vous devez vérifier le dépôt distant que vous avez connecté à votre dépôt local, procédez comme suit:

git remote -v

Maintenant, si vous souhaitez supprimer le dépôt distant (par exemple, Origin), vous pouvez alors:

git remote rm Origin
11
Samarth Shah

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

Origin est un alias pointant vers cette URL. Ainsi, au lieu d'écrire l'URL entière chaque fois que nous voulons envoyer quelque chose dans notre référentiel, nous utilisons simplement cet alias et exécutons:

git Push -u Origin master

Dire à git de Push notre code de notre local master branch à la remote Origin repository

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

Quoi qu’il en soit, nous pouvons toujours changer ce nom en ce que nous voulons, en exécutant ceci:

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

Comme il est stocké sur le côté client de l’application git (sur notre machine), sa modification n’affectera en rien notre processus de développement, ni notre référentiel distant. Rappelez-vous, il ne s'agit que d'un nom pointant vers un 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 dans notre référentiel. 

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 leurs noms, vous pouvez lancer cette commande:

git remote -v

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

Vous pouvez aussi les supprimer si vous aimez exécuter ceci:

git remote rm my-remote-alias

Donc en bref:

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

Bonne codage.

7
varDumper

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 envoyer votre code. Si non ou si vous ne pouvez pas pousser simplement:

git remote remove Origin
git remote add Origin [email protected]:ppreyer/first_app.git

Voilà!

6
MrHanachoo

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

git init
5
Jan Pi

si vous ajoutez déjà un projet pour un autre stockage, comme si vous téléchargiez sur github, puis sur bitbucket, ce type d'erreur apparaît.

Comment supprimer Error: supprimez le fichier git-hub de votre projet, puis répétez les étapes suivantes ...

git init       
git remote add Origin [email protected]:Yourname/firstdemotry.git  
git add -A  
git commit -m 'Message'  
git Push -u Origin master  
4
Chaudhary Prakash

pour utiliser git vous devez être 

root

sinon utilisez Sudo 

pour enlever l'origine: 

git remote supprimer l'origine

pour ajouter l'origine: 

git remote add Origine http: // giturl

3
karan

Essaye ça

  • cd existant_repo
  • git remote renommer Origine old-Origin
1
Sreeraj VR
  • $ git remote add Origin [email protected]: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 le nom de votre choix.

    • D'abord, vous pouvez vérifier que ce qu'il contient en utilisant la commande ci-dessous

    $ git remote -v

    Cela vous donnera un résultat comme celui-ci Origin [email protected]:abc/backend/abc.git (fetch) Origin [email protected]:abc/backend/abc.git (Push) Origin1 [email protected]:abc/backend/abc.git (fetch) Origin1 [email protected]:abc/backend/abc.git (Push)

    s'il contient votre chemin d'accès au référentiel distant, vous pouvez directement y appuyer sur Push sans rajouter Origin.

    • S'il ne contient pas le chemin du référentiel distant

    Ensuite, vous pouvez ajouter une nouvelle origine avec un nom différent et l’utiliser pour pousser comme $ git remote add Origin101 [email protected]:abc/backend/abc.git

    Ou vous pouvez renommer le nom d'origine existant ajouter votre origine

    git remote rename Origin destination

    tirez à nouveau sous la commande

    $ git remote -v

    destination [email protected]:abc/backend/abc.git (fetch) destination [email protected]:abc/backend/abc.git (Push)

    Cela changera votre nom de dépôt existant pour que vous puissiez utiliser ce nom d'origine

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

    git remote rm destination

1
Foram Sojitra

Sur bash au moins, nous pouvons forcer la valeur de retour du code de sortie de la commande à 0

Vous pouvez supprimer l'ancienne télécommande et l'ajouter à nouveau

git remote remove $1 || true
git remote add $1 $2
0
motia

Commencez par vérifier Pour voir combien d’alias vous avez et quels sont ceux-ci, vous pouvez lancer cette commande Git remote -v

Puis voyez dans quel référentiel vous vous trouvez Puis essayez Git remote set-url --add [Puis votre lien de référentiel] Git Push -u Origin master 

0
Sarthak Dalabehera