Un projet peut-il avoir deux (ou plus) "origines" dans Git?
Je voudrais pousser un seul projet à la fois sur github et un Heroku server.
Plus précisément, cette erreur apparaît lors de l'ajout du référentiel github:
$ git remote add Origin https://github.com/Company_Name/repository_name.git
fatal: remote Origin already exists.
Vous pouvez avoir autant de remotes que vous le souhaitez, mais vous ne pouvez avoir qu’une seule télécommande nommée "Origin". La télécommande nommée "Origin" n'est en aucun cas spéciale, sauf qu'il s'agit de la télécommande par défaut créée par Git lorsque vous clonez un référentiel existant. Vous pouvez configurer une seconde télécommande, Push to/pull depuis cette télécommande et configurer certaines branches pour suivre les branches depuis cette télécommande au lieu d’Origin.
Essayez d’ajouter une télécommande appelée "github" à la place:
$ git remote add github https://github.com/Company_Name/repository_name.git
# Push master to github
$ git Push github master
# Push my-branch to github and set it to track github/my-branch
$ git Push -u github my-branch
# Make some existing branch track github instead of Origin
$ git branch --set-upstream other-branch github/other-branch
Pour ceux qui tomberont plus tard sur cette question, il est possible d’avoir Origin Push sur plusieurs serveurs de référentiel git à la fois.
Pour ce faire, utilisez la commande suivante pour ajouter une autre URL à la télécommande d'origine.
git remote set-url --add Origin ssh://[email protected]/user/myproject.git
Voici un exemple de projet avec plusieurs télécommandes, GitHub & GitLab:
Ajouter un dépôt distant pour GitHub
$ git remote add github https://github.com/Company_Name/repository_name.git
Ajouter un dépôt distant pour GitLab
$ git remote add gitlab https://gitlab.com/Company_Name/repository_name.git
Vous avez maintenant plusieurs télécommandes dans le projet. Vérifiez avec git remote -v
$ git remote -v
github https://github.com/Company_Name/repository_name.git (fetch)
github https://github.com/Company_Name/repository_name.git (Push)
gitlab https://gitlab.com/Company_Name/repository_name.git (fetch)
gitlab https://gitlab.com/Company_Name/repository_name.git (Push)
Comment poussez-vous vers plusieurs référentiels?
$ git Push github && git Push gitlab
vous pouvez ajouter un autre compte distant à votre référentiel en donnant un nom différent au lieu d'Origine. Vous pouvez utiliser un nom tel que Origin2 . Afin que votre commande git puisse être modifiée comme suit:
git remote add Origin2 https://github.com/Company_Name/repository_name.git
git remote add Origin2 https://github.com/Company_Name/repository_name.git
et pour l'utilisation Push:
git Push -u Origin2 master