2016-08-01 3 views
1

Ich habe 3 Ordner (jeweils ein Git Repo), sagen DevUAT und Prototype. Ich möchte, dass mein Zweig Dev Master ist, und ich möchte, dass diese Repositorys als Zweige angezeigt werden.Wie kann ich zwei weitere Git-Repositories als Zweige für mein Repo hinzufügen?

Bisher dachte ich daran, eine Fernbedienung mit jedem Ordner (mit seinem Git innerhalb) zu verbinden, und dann irgendwie mit dem Tag --unrelated zusammenzuführen. Wie würde ich das für 3 Filialen tun? Ich habe es versucht, aber keiner hat funktioniert.

Um zu klären, wenn ich git branch im Dev Ordner tun, möchte ich masterPrototype und UAT erscheinen als Zweige sehen. Danke im Voraus!

+0

Was Sie beschreiben, heißt 'git Submodul' –

Antwort

0

Wenn Sie die anderen Repositorys als Zweige in Ihrer bestehenden Dev git Repo hinzufügen möchten, dann können Sie folgendermaßen vorgehen

cd <Dev Path> 

git remote add UATremote <Path to UAT Folder Repo> 
git fetch UATremote 
git checkout -b UAT UATremote/master 

git remote add PROTOremote <Path to ProtoType Folder Repo> 
git fetch PROTOremote 
git checkout -b Prototype PROTOremote/master 

Und dann optional die Fernbedienungen aufzuräumen:

git remote rm UATremote 
git remote rm PROTOremote 
+0

Ja, genau das möchte ich tun und was ich bisher gemacht habe. Wenn ich 'check -bat HEAD' git, ist das so schlimm? Ich habe HEAD für jeden von ihnen, ich denke, das ist, wo ich falsch gelaufen bin. – HiWorld

+0

Es ist nicht schlimm, es hängt davon ab, was Sie erreichen wollen. Wenn Sie 'git checkout -b UAT HEAD' ausführen, wird ein neuer Zweig erstellt und mit Code ausgecheckt, wo immer Ihr aktueller lokaler HEAD angegeben ist. Stattdessen vermute ich, dass Sie neue Zweige mit dem Code aus Ihren anderen Git Repositories wollen? Sie können dies tun, indem Sie ihre Master-Zweige in Ihren 'Dev'-Ordner verwenden. Beispiel: 'git checkout -b NewBranch myRemote/master' – nightherb

+0

Sie können auch' git branch -d UAT' ausführen, um den Zweig zu entfernen, den Sie vor – nightherb

0

Sie fügen einfach neue Remote

git remote add remote2 <url> 

und jetzt können Sie jede Filiale Kasse jede Fernbedienung, um Ihr Repository gegeben zu bilden.

+0

Wie mache ich die Kasse? Einfach 'git checkout remote2'? – HiWorld

+0

ja. Wenn Sie den gleichen Namen haben, müssen Sie den entfernten Namen verwenden, versuchen Sie es und Sie werden es in kürzester Zeit bekommen – CodeWizard

1

Obwohl Submodule die grundlegende Antwort ist, empfehle ich Ihnen, dies nicht zu tun, weil ich denke, Sie versuchen, ein Werkzeug falsch zu verdrehen.

Sie wollen verschiedene Umgebungen, ja das ist üblich für die meisten Geschäfte, einschließlich der, in dem ich arbeite und all die anderen, die ich kenne.

Ich empfehle Ihnen einen Master-Zweig und ein Repository.

Wenn Sie verschiedene Versionen freigeben können Sie die Versionen mit einer Version markieren, ein gemeinsames Versionierungssystem mit

+0

Ich kann den Firmen-Workflow nicht ändern, sorry. – HiWorld

+0

Oh ja, Sie sollten dazu beitragen, es zu ändern, wenn Sie das Gefühl haben, dass Ihr Unternehmen etwas falsch macht und viel Abfall produziert. Sehen Sie sich die Bereitstellungstools auch einmal an, wenn Pakete einmal erstellt und in jeder Umgebung bereitgestellt werden. Das sind bessere und nachhaltigere Praktiken. – Philippe

+0

Ja, Sie können den Unternehmensworkflow nicht ändern. Was Sie tun können, ist der Fall. Keine 2-Minuten-Konversation, sondern ein umfassendes "Ich glaube an Qualität und grundlegende technische Prinzipien". Tun Sie dies in privaten 1 zu 1 mit den zuständigen Personen. Gleichzeitig suchen Sie hektisch nach einem neuen Job und nutzen den gleichen Grund, wenn Sie gefragt werden, warum Sie Ihren jetzigen Job/das, was Sie in einem neuen Job suchen, verlassen möchten - Ihre Einstellung wird in professionellen Geschäften respektiert. –

0

I b elieve Sie beschreiben die Verwendung von submodules. Sie verwenden sie in Szenarien, wenn Sie ein Repository in einem anderen Repository behalten möchten. Eine solche Anforderung kann auftreten, wenn Sie eine Bibliothek oder eine APi, die Sie für ein Projekt verwenden, für alle Mitwirkenden auf dem neuesten Stand halten möchten.

Um submodule zu Ihrem aktuellen Repository hinzufügen verwenden

git submodule add <url> 

Wo die URL ist, dass Sie von GitHub greifen oder was auch immer. Denken Sie daran, submodules sind einfach Repositories so Workflow gilt ... Zunächst einmal auf Ihrem Repo arbeiten Sie in einem Repo müssen in sie navigieren, wie Sie normalerweise in bash

SEHR WICHTIG

tun würde, wenn die Arbeit mit Submodule Sie NICHT auf einem Zweig automatisch starten. Dies muss manuell gemacht werden, also vergessen Sie nicht, git checkout master zu tun, wenn Sie in Ihrer submodule vor jeder Arbeit sind ...

+0

Das ist sehr interessant. – HiWorld

Verwandte Themen