web-dev-qa-db-de.com

Wie kann ich Bitbucket und GitHub gleichzeitig für ein Projekt verwenden?

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?

84
erogol

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
107
Denis Kniazhev

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

29
Kevin Lee

Ein paar [~ # ~] einfache [~ # ~] Lösungen.

Mehrere Fernbedienungen werden unabhängig voneinander verschoben (und abgerufen)

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.

Einzelne Fernbedienung mit mehreren URLs, die nacheinander gepusht (und abgerufen) wurden

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.

28
Ahmad Awais