2017-11-13 2 views
3

Ich habe derzeit mein Projekt auf VSTS gehostet (Visual Studio Team Services) und ich möchte es auch auf GitHub hosten. Ich mag VSTS, weil ich es bei meinem Praktikum benutzt habe und mich sehr daran gewöhnt habe, aber ich mag auch das vertraute Gefühl von GitHub und ich weiß, dass meine Freunde, die mit mir an diesem Projekt arbeiten werden, GitHub bevorzugen werden.Host-Git-Repository auf GitHub und VSTS

Ist es möglich, den Code an beiden Orten zu hosten und jeder von ihnen entsprechend zu aktualisieren, egal wo Sie Ihren Code drücken?

Zum Beispiel wenn jemand anderes den Repo von GitHub klont, Änderungen vornimmt und sie zu GitHub schiebt kann ich es so machen, dass VSTS automatisch diese Änderungen aufnimmt, oder umgekehrt?

+0

Dies ist wahrscheinlich möglich, und ich denke, was Sie erforschen wollen, ist, was jeder Dienst bietet ht Haken; aber ich werde auch sagen, ich denke, das ist eine schlechte Idee.Es wird immer eine gewisse Latenz zwischen den beiden Remote-Repos geben, und es wird nicht immer möglich sein, die Konsequenzen dieser Latenz zur automatischen Lösung zu erhalten. –

Antwort

1

The Short and Sweet Antwort

Technisch möglich. Aber es ist ein bisschen so, als ob du zwei Uhren an deinem Handgelenk trägst ... du wirst Probleme haben, sie synchron zu halten, und du wirst nie sicher sein, welches "wahr" ist. Ich vermute, dass Sie und/oder Ihr Team, nachdem Sie es ein oder zwei Monate lang versucht haben, das eine aufgeben und das andere ausschließlich nutzen.

Die langatmige Antwort

Git inhärent ist und absichtlich de-zentralisiert. Server sind nicht mehr oder weniger wichtig als einzelne Computer. Das Repo auf Ihrem Rechner hat die gleiche Historie und die gleichen Kernfunktionen wie die Repos auf VSTS und GitHub.

Das Problem ist natürlich, dass totale Anarchie zu Verwirrung und Ineffizienz führt. Die Menschen bevorzugen im Großen und Ganzen Hierarchie und Führung. Also, obwohl die Technologie dezentralisiert ist, sind wir es nicht, und wir neigen dazu, uns zusammenzufinden und ein bestimmtes Repo als unsere Quelle der Wahrheit zu wählen. Wenn es nicht in diesem Repo ist, dann ist es nicht "offiziell". (Selbst wenn es mehrere Repos gibt, neigen Einzelpersonen dazu, nur einem einzigen treu zu bleiben, mit Ausnahme aller anderen.)

Als Beispiel, in den frühen Tagen von Git, bevor es gehostete Lösungen gab, Linus Torvalds "Das persönliche Linux-Repo war die Quelle der Wahrheit. Sicher, du könntest dein eigenes haben, aber jeder erkannte mehr oder weniger, dass seine Version die vollständigste und aktuellste war und am ehesten so blieb, also schickten ihm alle ihre Pull-Anfragen und gründeten ihre neue Arbeit sein Meisterzweig.

Das gleiche gilt für Ihr Projekt. Sie können so viele gehostete Lösungen einrichten, wie Sie möchten, aber Sie werden schnell feststellen, dass für jeden Entwickler nur zwei Repos von Bedeutung sind: ihr persönlicher Repo und das Repo, das sie hin- und herschieben (" Fernbedienung "). Sie werden feststellen, dass dies auch für Sie gilt. Der Aufwand, der erforderlich ist, um VSTS auf dem neuesten Stand zu halten, wird sich schnell als überflüssig und überflüssig erweisen ... Sie haben bereits ein aktuelles Repo auf GitHub, und Ihr persönliches Repo ist, wo Sie ohnehin Ihre ganze Arbeit erledigen, also warum versuchen Sie es überhaupt? Halten Sie eine zweite Fernbedienung auf dem neuesten Stand?

Sie können es für eine Weile versuchen, wenn Sie wollen, und ich bin sicher, Sie könnten einige clevere Haken verwenden, um VSTS auf dem neuesten Stand zu halten, aber mit der Zeit den Aufwand und die Kosten (rechtzeitig, wenn nicht Geld) wird Sie wahrscheinlich dazu bringen, es aufzugeben und einfach mit GitHub zu arbeiten. Wenn Sie VSTS wirklich stark bevorzugen, sollten Sie dies anstelle von GitHub einstellen. Du kannst später immer noch migrieren ... es ist relativ einfach mit git zu tun ... aber du wirst wahrscheinlich feststellen, dass es für alle Beteiligten besser ist, immer eine Fernbedienung aktiv zu haben.

+0

Ich stimme zu, dass es wahrscheinlich Zeitverschwendung ist, beides zu haben, also werde ich meistens nur GitHub verwenden und meine CI-Builds auf VSTS fortsetzen. Der einzige Grund, warum ich VSTS ausprobieren wollte, ist, weil ich alles an einem Ort haben möchte, aber es ist die zusätzlichen Komplikationen nicht wert. Danke für deinen Beitrag. –

+0

VSTS ist eine nette Plattform, und ehrlich gesagt ist GitHub in gewisser Hinsicht ein wenig zurückgefallen. (PRs sind eine Sauerei, um sie anzusehen.) Ihre Freunde dazu zu zwingen, etwas anderes zu versuchen, ist vielleicht keine schlechte Sache, aber letztendlich sollten Sie mit dem gehen, was Sie für das beste halten. – JDB