GitWorkflow: Unterschied zwischen den Versionen

Aus Das Sopra Wiki
Langenfeld (Diskussion | Beiträge)
KKeine Bearbeitungszusammenfassung
Langenfeld (Diskussion | Beiträge)
Zeile 13: Zeile 13:
Jeder Gruppe ist es überlassen selbst für spezielle Aufgaben mehr Branches zu verwenden, das mergen des wöchentlichen Inkrements in den ''master'' branch ist jedoch obligatorisch, da nur dieser im Gruppentreffen und zur Beurteilung der mitarbeit herangezogen wird.
Jeder Gruppe ist es überlassen selbst für spezielle Aufgaben mehr Branches zu verwenden, das mergen des wöchentlichen Inkrements in den ''master'' branch ist jedoch obligatorisch, da nur dieser im Gruppentreffen und zur Beurteilung der mitarbeit herangezogen wird.


=== Beispiel ===
=== Tägliche Arbeit Pushen ===


Kurz bevor ein Sprint endet, sollte die Historie also wie folgt aussehen (<code>git log --graph</code>): der ''master'' branch wurde seit Ende des lezten Sprints nicht verändert, der ''dev'' branch enthält alle Änderungen die im Sprint gemacht wurden. Änderungen werden auf den ''dev'' branch per <code>git pull --rebase</code> hinzugefügt, sodass eine einfach und saubere Historie entsteht (dabei können Konflikte entstehen, die vor dem pushen [[Git#Konflikte lösen| gelöst]] werden müssen).
Jedes mal wenn Sie mit dem remote repository synchronisieren sollten Sie den Befehl <code>git pull --rebase</code> verwenden, um die zwischenzeitlich auf dem Server eingegangenen Commits zu sychronisieren. Wie im [[Git|Gitartikel]] erklärt entspricht dieser Befehl <code>git fetch; git rebase</code>, sodass eine einfach zu lesende lineare History entsteht (beim rebasen, genau wie beim mergen können Konflikte entstehen, die Git nicht automatisch lösen kann und die durch den Benutzer [[Git#Konflikte lösen| gelöst]] werden müssen, bevor das Ergebnis gepusht werden kann).
 
=== Am Ende des Sprints ===
 
Kurz bevor ein Sprint endet, sollte die Historie also wie folgt aussehen (<code>git log --decorate --graph --oneline</code>): der ''master'' branch wurde seit Ende des lezten Sprints nicht verändert, der ''dev'' branch enthält alle Änderungen die im Sprint gemacht wurden.


<source>
<source>