J'ai un référentiel que je veux pousser dans Bitbucket et GitHub. Il est vital que mon référentiel soit hébergé par les deux.
Y a-t-il un moyen de le faire dans Git?
Vous pouvez utiliser plusieurs référentiels distants avec git. Mais vous devrez pousser séparément dans 2 de vos télécommandes, je crois.
Par exemple, si votre projet pointe actuellement vers github, vous pouvez renommer votre référentiel distant actuel en github
:
$ git remote rename Origin github
Vous pouvez ensuite ajouter un autre référentiel distant, par exemple bitbucket
:
$ git remote add bitbucket [email protected]:your_user/your_repo.git
Maintenant, pour pousser les modifications sur la branche correspondante sur github ou bitbucket, vous pouvez le faire:
$ git Push github HEAD
$ git Push bitbucket HEAD
La même règle s'applique à l'extraction: vous devez spécifier de quelle télécommande vous souhaitez extraire:
$ git pull github your_branch
$ git pull bitbucket your_branch
Oui, tu peux faire ça. Vous n'avez pas besoin de pousser deux fois mais une seule fois pour pousser vers les deux référentiels distants. J'ai eu le même problème avant, alors j'ai écrit comment le faire ici. Git: push to/pull from both Github and Bitbucket
Quelques [~ # ~] solutions faciles [~ # ~] .
C'est le plus facile à maîtriser, mais le plus d'efforts à maintenir.
Nous commençons par ajouter notre nouvelle télécommande:
$ cd myproject
$ git remote add bitbucket ssh://[email protected]/user/myproject.git
$ git Push bitbucket master
Tout simplement non? Sauf, bien sûr, chaque fois que nous commettons des modifications, nous devons pousser à la fois notre "origine" d'origine et notre nouveau "bitbucket" distant:
$ git Push Origin master
$ git Push bitbucket master
Ce ne sont pas des frais généraux énormes, mais je suis sûr que ça va griller avec le temps. Ou vous pouvez créer un `alias gpob =" git Push Origin master && git Push bitbucket master ".
Avec cette méthode, nous allons ajouter une URL supplémentaire à notre "origine" distante existante:
$ cd myproject
$ git remote set-url --add Origin ssh://[email protected]/user/myproject.git
$ git Push Origin master
Everything up-to-date
Everything up-to-date
Beaucoup moins d'effort!
Bien sûr, la doublure argentée a un nuage, et dans ce cas, c'est que même si nous pouvons pousser vers plusieurs URL simultanément, nous ne pouvons extraire que de l'origine "origine" (vous pouvez changer cela, mais cela est hors de portée pour ce post ).
Enfin, pour voir quelle télécommande sera récupérée:
$ git remote -v show
Je blogué à ce sujet également.