Git Workflow


Tommy57

Erfahrenes Mitglied
Hallo,

ich arbeite momentan in nem sehr kleinen Team an einem Projekt und wir wollen mit git auf verschiedenen Branches arbeiten und diese dann immer in den release-branch mergen und denn dann in den master.

Meine Frage ist: Wenn ich immer auf meinem branch bleiben möchte, ohne diesen je zu wechseln oder einen neuen zu erstellen, wie müsste ich dann mit dem release-branch mergen?

- merge ich meinen branch in den release-branch rein, fehlen mir die Änderungen vom release-branch
- merge ich den release-branch bei mir rein, fehlen meine Änderungen dort

Mir bleibt wohl nix anderes übrig, als in beide Richtungen zu mergen. Ist das korrekt?

Gruß, Tommy
 

zerix

Hausmeister
Moderator
Hallo,

Du wirst immer mal in den zu mergenden Branch wechseln müssen. Wir hatten immer erst in den aktuellen Arbeitsbranch gewechselt, um dort erstmal alle Konflikte zu lösen und dann anschließend in den Master-Branch bzw in den Branch des aktuellen Releases.


Viele Grüße
Sascha
 

Tommy57

Erfahrenes Mitglied
Danke Sascha für die schnelle Antwort.

Nur noch mal kurz die Frage. Wenn ich auf meinem Branch bleiben möchte, also nicht ständig neue Branches erzeugen will, dann merge ich einmal in den release-Branch rein und merge den release-Branch bei mir rein. Dann kann ich ja normal weiterarbeiten.

Git fordert einen bei der Aktion auf, zu erklären, warum man genau dies tut. Das verunsichert mich ein wenig. (also dieses über Kreuz zu mergen, in beide Richtungen)
 

zerix

Hausmeister
Moderator
Also, ich nutze keine UI zum mergen. Ich gehe wie folgt vor (im Terminal)
Code:
# Branch A (Release Branch)
# Branch B (Working Branch) (Current Branch)

git merge A
# Konflikte auflösen, wenn nötig
git checkout A
git merge B
git checkout B
Natürlich musst du auch sicherstellen, dass A in dem Fall auf dem aktuellen Stand ist, bevor du anfängst.
 

Tommy57

Erfahrenes Mitglied
Genau so hab ich mir das vorgestellt. Vielen Dank.

Brauchte nur ne Bestätigung, dass da nix gegen spricht.
 

zerix

Hausmeister
Moderator
Da du den Release-Branch erstmal in den Working-Branch mergst, hast du erstmal alle Konflikte dort behoben und kannst direkt danach den Working-Branch ohne Problem in den Release-Branch mergen.
 

Tommy57

Erfahrenes Mitglied
Da du den Release-Branch erstmal in den Working-Branch mergst, hast du erstmal alle Konflikte dort behoben und kannst direkt danach den Working-Branch ohne Problem in den Release-Branch mergen.
Ja, genau. So ist das. Es öffnet sich nur beim zweiten Merge eine Meldung (commit message) von git, dass man erklären soll, warum man von beiden Seiten aus merged. Lasse das eh leer. Wollte nur sicher gehen, dass ich da nix total falsches mache.

Aber genau so wie du es im Code geschrieben hast, mache ich das auch. Daher passt das
 

Neue Beiträge