Skip to content

Entwicklung: git flow

andistern edited this page Dec 26, 2020 · 8 revisions

Git Flow

Zuerst git-flow installieren, die Anweisungen dazu sind im Cheatsheet aufgeführt. Im Anschluss dann für dieses Projekt initialisieren:

git flow init # Alle Einstellungen auf Standard

Feature entwickeln

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

Mit git-flow

git fetch -p # -p/--purge entfernt Branch-Referenzen die Remote nicht mehr existieren.
git checkout develop
git pull --rebase origin develop
# Als Name wird immer eine Issue Nummer verwendet, optional kann zusätzlich noch ein Name vergeben werden.
git flow feature start '112' # Beispiel für Feature 112
#
# Deine Änderungen am Code machen, mit `git add` und `git commit` arbeiten.
#
git fetch -p
git checkout develop
git pull --rebase origin develop
git flow feature finish '112' # Feature fertig stellen (Es wird automatisch in `develop` gemergt und auf GitHub hochgeladen.)

Ohne git-flow

git fetch -p
git checkout develop
git pull --rebase origin develop
# Als Name 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
#
# Deine Änderungen am Code machen, mit `git add` und `git commit` arbeiten.
#
git fetch -p
git checkout develop
git pull --rebase origin develop
git merge --no-ff 'feature/112' # Änderungen in `develop` mergen
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.

HotFix entwickeln

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

Mit git-flow

git fetch -p
git checkout master
git pull --rebase origin master
# Als Name wird wieder nur eine Issue Nummer verwendet, optional kann zusätzlich noch ein Name vergeben werden.
git flow hotfix start '113' # Beispiel Hotfix #113
#
# Deine Änderungen am Code machen, mit `git add` und `git commit` arbeiten.
#
git push origin 'hotfix/113' # Hochladen des Hotfix zu GitHub

Ohne git-flow

git fetch -p
git checkout master
git pull --rebase origin master
# Als Name wird wieder nur eine Issue Nummer verwendet, optional kann zusätzlich noch ein Name vergeben werden.
git checkout -b 'hotfix/113' master # Beispiel für Bug #113
#
# Deine Änderungen am Code machen, mit `git add` und `git commit` arbeiten.
#
git push origin 'hotfix/113' # Hochladen des Hotfix zu GitHub

Nach Fertigstellung des Hotfix entferne im Issue das Label "InBearbeitung" wieder und füge stattdessen "Fertig" hinzu. Setze Assignees zusätzlich auf alex1702.
Erstelle als letztes noch 2 Pull Requests: Einmal gegen master und einmal gegen develop. [CheatSheet]: https://danielkummer.github.io/git-flow-cheatsheet/index.de_DE.html