Git fusionieren in die falsche Richtung?

8

Git verwirrt mich immer noch von Zeit zu Zeit!

Ich habe eine Inszenierung und einen Meisterzweig. Normalerweise erfolgt die Entwicklung auf dem Staging-Zweig, der periodisch in den Master integriert wird.

Es wurden jedoch einige Commits direkt an den Master-Zweig gesendet. Dies bedeutet, dass die Updates im Staging-Zweig fehlen.

Wie kann ich meinen Staging-Zweig wieder mit dem Master auf den neuesten Stand bringen? Bin ich richtig in Denkmischungen sollte immer in einer Richtung (d. H. Staging & gt; Master) und der Zusammenführung Master & gt; Inszenierung ist nicht der richtige Weg?

    
Andy Harvey 26.06.2013, 09:54
quelle

3 Antworten

12

Ich denke, es ist ein vollkommen vernünftiger Prozess, master hin und wieder in staging zusammenzufassen. Dadurch wird staging mit den neuesten Patches in Master aktualisiert.

Sie können sich später in staging weiterentwickeln und gelegentlich mit einer Zusammenführung auf den neuesten Stand bringen.

Wenn staging einen stabilen Status erreicht hat, verschmelzen Sie es mit master .

Das Zusammenführen zwischen Zweigen muss nicht unidirektional sein, noch muss es ein einmaliger Deal sein.

(Das obige ist natürlich nicht die einzige mögliche Verzweigungsstrategie. Siehe Dies für ein Beispiel für ein erweitertes Modell )

    
Klas Mellbourn 26.06.2013, 17:43
quelle
0

In Situationen verwende ich häufig git rebase , um meine Zweigstelle mit Änderungen, die an master vorgenommen oder in master zusammengeführt wurden, auf den neuesten Stand zu bringen.

Gemeinsamer Arbeitsablauf:

  • Zweig vom Master
  • arbeite an einem Zweig
  • Rebase vom Master, um Änderungen im Master zu erfassen, die in der Verzweigung
  • nicht vorhanden sind
  • merge zum Master, nachdem Probleme gelöst wurden
Jordan Dea-Mattson 26.06.2013 18:03
quelle
-1

Ja. Während Merge in beide Richtungen technisch gehen kann, wenn Sie Master zu einem Featire-Zweig zusammenführen, ist es nicht länger ein Feature-Zweig, sondern nur ein Dump von zufälligem Zeug mit Elementen eines Features. Tun Sie das nur, wenn die endgültige Zusammenführung ein Squash sein wird.

Wenn Sie beabsichtigen, auf die normale Art und Weise zusammenzuarbeiten, ist Ihr primärer Plan, schnell zu sein. Ignorieren Sie den Master und beheben Sie die Unterschiede bei der endgültigen Zusammenführung. Und lass deinen Zweig einfach allein.

Wenn Sie nicht schnell gehen können, bringen Sie Ihren Zweig besser auf den Master-Zeitpunkt. (Stellen Sie sicher, dass jedes Commit immer noch in Ordnung ist!) Eine halbe Lösung besteht darin, einen Teil zusammenzuführen und nur den Rest neu zu erstellen.

Eine andere praktische Alternative ist, einfach ein paar wirklich brauchbare Patches zu finden.

    
Balog Pal 26.06.2013 10:05
quelle

Tags und Links