Ich habe ein Repository, das ich in Bitbucket und GitHub pushen möchte. Es ist wichtig, dass mein Repository von beiden gehostet wird.
Gibt es eine Möglichkeit, dies in Git zu tun?
Sie können mit git mehrere Remote-Repositorys verwenden. Aber Sie müssen zwei Ihrer Fernbedienungen, glaube ich, separat ansteuern.
Wenn Ihr Projekt beispielsweise aktuell auf github verweist, können Sie Ihr aktuelles Remote-Repository in github
umbenennen:
$ git remote rename Origin github
Sie können dann ein weiteres Remote-Repository hinzufügen, z. B. bitbucket
:
$ git remote add bitbucket [email protected]:your_user/your_repo.git
Um nun Änderungen auf den entsprechenden Zweig auf Github oder Bitbucket zu pushen, können Sie dies tun:
$ git Push github HEAD
$ git Push bitbucket HEAD
Dieselbe Regel gilt für das Ziehen: Sie müssen angeben, von welcher Fernbedienung Sie ziehen möchten:
$ git pull github your_branch
$ git pull bitbucket your_branch
Ja, das kannst du. Sie müssen nicht zweimal, sondern nur einmal auf beide Remote-Repositorys pushen. Ich hatte das gleiche Problem zuvor und schrieb hier, wie es geht. Git: Push to/Pull von Github und Bitbucket
Ein paar [~ # ~] einfache [~ # ~] Lösungen.
Dies ist der einfachste Weg, sich zurechtzufinden, aber die meiste Anstrengung, sich zu halten.
Wir beginnen mit dem Hinzufügen unserer neuen Fernbedienung:
$ cd myproject
$ git remote add bitbucket ssh://[email protected]/user/myproject.git
$ git Push bitbucket master
Direkt nein? Außer natürlich jedes Mal, wenn wir Änderungen vornehmen, müssen wir sowohl auf unser ursprüngliches "Origin" als auch auf unser neues entferntes "Bitbucket" pushen:
$ git Push Origin master
$ git Push bitbucket master
Kein gewaltiger Aufwand, aber ich bin mir sicher, dass er mit der Zeit zunehmen wird. Oder Sie können einen Alias gpob = "git Push Origin-Master & & git Push Bitbucket-Master" erstellen.
Mit dieser Methode fügen wir eine zusätzliche URL zu unserem vorhandenen Remote-Ursprung hinzu:
$ 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
Viel weniger Aufwand!
Natürlich hat der Silberstreifen eine Wolke, und in diesem Fall können wir zwar gleichzeitig auf mehrere URLs pushen, aber nur vom ursprünglichen "Ursprung" abrufen (Sie können dies ändern, dies ist jedoch für diesen Beitrag nicht zulässig ).
Zum Schluss sehen Sie, von welcher Fernbedienung Folgendes abgerufen wird:
$ git remote -v show
Ich bloggte darüber auch.