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?
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
En bref,
git remote rm Origin
git remote add Origin [email protected]:username/myapp.git
Travaillé !
À votre santé!
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.
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.
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!
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
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
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
Bonne 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 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à!
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
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
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
Essaye ça
$ 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.
$ 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.
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
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
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