Question

J'ai mon projet sur GitHub quelque part, git@github.com: monnom / oldrep.git .

Je souhaite maintenant transférer tout mon code dans un nouveau référentiel situé à un autre emplacement, git@github.com: newname / newrep.git .

J'ai utilisé la commande:

  

git remote ajouter l'origine git@github.com: monnom / oldrep.git

mais je reçois ceci:

  

fatal: l'origine distante existe déjà.

Était-ce utile?

La solution

Vous obtenez cette erreur car "origine". n'est pas disponible. " origine " est une convention ne faisant pas partie de la commande. " origine " est le nom local du référentiel distant.

Par exemple, vous pouvez également écrire:

git remote add myorigin git@github.com:myname/oldrep.git  
git remote add testtest git@github.com:myname/oldrep.git

Voir le manuel:

http://www.kernel.org/ pub / software / scm / git / docs / git-remote.html

Pour supprimer un référentiel distant, entrez:

git remote rm origin

Encore une fois " origine " est le nom du référentiel distant si vous voulez supprimer le " en amont " à distance:

git remote rm upstream

Autres conseils

Les solutions précédentes semblent ignorer l'origine et suggèrent simplement d'utiliser un autre nom. Si vous voulez simplement utiliser l’origine de git push , continuez à lire.

Le problème apparaît car un ordre incorrect de configuration de Git est suivi. Vous avez peut-être déjà ajouté une "origine git" à votre configuration .git.

Vous pouvez modifier l'origine distante dans votre configuration Git à l'aide de la ligne suivante:

git remote set-url origin git@github.com:username/projectname.git

Cette commande définit une nouvelle URL pour le référentiel Git vers lequel vous souhaitez effectuer le transfert. L'important est de renseigner vos propres nom d'utilisateur et nom du projet

.

Si vous avez nommé par erreur le nom local comme "origine", vous pouvez le supprimer comme suit:

git remote rm origin

METHODE1 - >

Puisque l'origine existe déjà, supprimez-le.

git remote rm origin
git remote add origin https://github.com/USERNAME/REPOSITORY.git

METHOD2- >

Il est également possible de modifier l'URL du référentiel distant existant par - > git; set-url distant

Si vous effectuez une mise à jour pour utiliser HTTPS

git remote set-url origin https://github.com/USERNAME/REPOSITORY.git

Si vous effectuez une mise à jour pour utiliser SSH

git remote set-url origin git@github.com:USERNAME/REPOSITORY.git

Si vous essayez de mettre à jour une télécommande qui n'existe pas, vous recevrez une erreur. Alors faites attention à cela.

METHOD3- >

Utilisez la commande git remote rename pour renommer une télécommande existante. Un nom distant existant, par exemple, origine.

git remote rename origin startpoint
# Change remote name from 'origin' to 'startpoint'

Pour vérifier le nouveau nom de la télécommande - >

git remote -v

Si vous êtes nouveau dans Git, essayez ce didacticiel - >

TUTORIEL DE GIT

Vous pouvez simplement éditer votre fichier de configuration dans un éditeur de texte.

Dans le ~ / .gitconfig , vous devez insérer quelque chose comme suivant:

[user]
        name  = Uzumaki Naruto
        email = myname@example.com

[github]
        user = myname
        token = ff44ff8da195fee471eed6543b53f1ff

Dans le fichier oldrep / .git / config (dans le fichier de configuration de votre référentiel):

[remote "github"]
        url = git@github.com:myname/oldrep.git
        push  = +refs/heads/*:refs/heads/*
        push  = +refs/tags/*:refs/tags/*

S'il existe une section distante dans le fichier de configuration de votre référentiel et que l'URL correspond, il vous suffit d'ajouter la configuration par envoi. Si vous utilisez une URL publique pour la récupération, vous pouvez indiquer l'URL de transfert en tant que 'pushurl' (avertissement: cela nécessite la version Git 1.6.4 récemment publiée).

Vous n'êtes pas obligé de supprimer votre " origine " existant. à distance, utilisez simplement un nom autre que "origine". pour votre ajout à distance, par exemple

git remote ajouter github git@github.com: monnom / oldrep.git

J'ai eu le même problème, et voici comment je l'ai corrigé après quelques recherches:

  1. Téléchargez GitHub pour Windows ou utilisez quelque chose de similaire, qui inclut un shell
  2. Ouvrez le Git Shell à partir du menu des tâches. Cela ouvrira un shell de puissance incluant les commandes Git.
  3. Dans le shell, basculez vers votre ancien référentiel, par exemple. cd C: \ chemin \ vers \ ancien \ référentiel
  4. Afficher le statut de l'ancien référentiel

  5. Supprimez maintenant le référentiel distant du référentiel local en utilisant

    git remote rm origin
    
  6. Vérifiez à nouveau à l'étape 4. Il ne devrait afficher que origine au lieu du chemin d'extraction et de diffusion.

  7. Maintenant que votre ancien référentiel distant est déconnecté, vous pouvez ajouter le nouveau référentiel distant. Utilisez les éléments suivants pour vous connecter à votre nouveau référentiel.

Remarque: Si vous utilisez Bitbucket, vous devez d'abord créer un projet sur Bitbucket. Après la création, Bitbucket affichera toutes les commandes Git requises pour pousser votre référentiel vers un site distant, ce qui ressemble à l'extrait de code suivant. Cependant, cela fonctionne également pour d'autres référentiels.

cd /path/to/my/repo # If haven't done yet
git remote add mynewrepo https://user@bitbucket.org/team-or-user-name/myproject.git
git push -u mynewrepo master # To push changes for the first time

C'est tout.

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

J'ai rencontré le même problème lors de ma première configuration à l'aide de Bitbucket .

Mon problème était que je devais changer le mot origine pour quelque chose auto-défini. J'ai utilisé le nom de l'application. Donc:

git remote add AppName https://someone@bitbucket.org/somewhere/something.git

Vous devez remplacer le nom du référentiel distant par un autre nom.

git remote add origin git@github.com:myname/oldrep.git

à

git remote add neworigin git@github.com:myname/oldrep.git

Je pense que cela devrait fonctionner.

Oui, il s’agit de l’initialisation du référentiel et de l’ajout d’une nouvelle télécommande. Juste avec un changement de nom.

Vous pouvez également changer le nom du référentiel que vous souhaitez utiliser dans le fichier REPOHOME / .git / config

(où REPOHOME est le chemin d'accès à votre clone local du référentiel).

  1. origine de la machine distante git

  2. git remote -v Aucun nom de référentiel ne sera affiché

  3. origine git ajouter origine git@github.com: nom d'utilisateur / monapp.git

  4. Maître d'origine git push Il va démarrer le processus et créer la nouvelle branche. Vous pouvez voir que votre travail est poussé dans github.

Cela peut aussi arriver quand vous oubliez de faire un premier commit.

Ouvrir dans Android Studio > VCS > Git > Télécommandes Supprimez toutes les adresses qui apparaîtront dans cette section. Le problème va résoudre.

image

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top