Skip to content

Entwicklung: Ohne git flow

me-like-cookies edited this page Sep 21, 2019 · 5 revisions

Git Flow

  • Features in einer eigenen Branch von develop entwickelt & abschließend auch wieder dorthin mergen.
  • Hotfixes in einer eigenen Branch von master & anschließend ihn master und develop mergen.

Feature entwickeln

Issue auf GitHub erstellen oder vorhandenes verwenden, z.B. #112. Label "InBearbeitung" setzen und Assignee auf dich.

# Vorbereitung
git fetch -p # -p/--purge entfernt Referenzen zu Branches die es Remote nicht mehr gibt
git checkout develop
git pull --rebase origin develop # Rebase verhindert "Update von Upstream"-Merge-Commits.

# Beginn Entwicklung
# Als Featuremame wird immer eine Issue-Nummer verwendet, optional kann zusätzlich noch ein Name vergeben werden.
git checkout -b 'feature/112' # Beispiel für Feature #112

# Entwicklung
# Deine Änderungen am Code machen, mit `git add` und `git commit` arbeiten.

# Abschluss
# Erneut Aktualisieren
git fetch -p
git checkout develop
git pull --rebase origin develop

# Fertigstellen: Mergen & Hochladen - sofern Schreibrecht auf repo
git merge --no-ff 'feature/112' # Änderungen in `develop` mergen, --no-ff erzwingt einen Merge-Commit.
git push origin develop # Änderungen hochladen

Nach Fertigstellung des Features entferne das Label "InBearbeitung" beim Issue wieder und füge "Fertig" hinzu, setze Assignees zusätzlich auf alex1702.

Feature Beisteuern ohne Schreibrecht auf das Repository braucht einen kleinen Umweg.

HotFix entwickeln

Issue auf GitHub erstellen oder vorhandenes verwenden. z.B. #113. Label "InBearbeitung" setzen und Assignee auf dich setzen.

# Aktualisieren.
# Wie bei einem Feature, nur hier `master` statt `develop`.
git fetch -p
git checkout master
git pull --rebase origin master

# Beginn Entwicklung
# Als Hotfix-Name wird wieder nur eine Issue Nummer verwendet, optional kann auch hier
# zusätzlich noch ein Name vergeben werden.
git checkout -b 'hotfix/113' master # Beispiel für Bug #113

# Entwicklung
# Deine Änderungen am Code machen, mit `git add` und `git commit` arbeiten.

# Fertigstellung: Hochladen.
git push origin 'hotfix/113' # Hochladen des Hotfix zu GitHub

Nach Fertigstellung dann im Issue das Label "InBearbeitung" wieder entfernen und füge stattdessen "Fertig" hinzufügen. Setze Assignees zusätzlich auf alex1702.
Erstelle als letztes noch 2 Pull Requests: Einmal gegen master und einmal gegen develop.