Die Entwicklung neuer Features und das BugFixing erfolgt in der Regel auf Feature Branches ausgehend vom dev-Branch. Wir setzen den Gitflow Worklflow ein.
der Entwicklungsbranch heißt dev, der stabile Branch stable.
Nutze Verben für die Merge-Commits (add/remove/update/refactor/fix/config/hotfix). Die Merging-Commit-Messages sollen englisch und sprechend sein.
Die Commits werden mit thematisch umschließenden Pushes ins Repository geschrieben, wobei es nicht Ziel ist, ganze Features in einem Push zu umschließen, sondern Tätigkeiten. Mit der lokalen Entwicklungsumgebung ist eine tägliche Sicherung ins Repository empfehlenswert um Datenverlust zu verhindern.
Externe Entwickler sind keine Team-Mitglieder und haben daher keine Schreibberechtigungen im Repository. Sie erstellen bitte einen Fork ausgehend vom dev-Branch.
In diesem werden die Commits vorgenommen und von diesem können Pull Requests in den dev-Branch gestellt werden.
Auch Bugs werden bitte im dev-Branch gefixt.
Im Pull Request soll bitte ein entsprechender Hinweis kenntlich machen, wenn der Hotix in den aktuellen stable-Branch überführt werden sollte. Siehe auch Hinweise zur Versionierung.
Die Überführung übernehmen Team-Mitglieder.
Wir nutzen das Cherry Picking, um die hotfix-Commits in den stable-Branch zu überführen. Dies gelingt am einfachsten, wenn die Commits nur den Hotfix enthalten. Siehe auch die Code-Konventionen.
Die in Branches abgelegten Commits gelangen nur über Pull Requests im dev- oder stable Branch.
Externe Entwickler stellen als Reviewer bitte den User geowerkstatt ein. Dieser Systemuser unterrichtet dann ein Teammitglied.
Die Review erfolgt durch mind. 1 Team-Mitglied. Der Reviewer prüft den Pull Request anhand der Definition of Done. Fehler oder Kommentare können dann direkt im Code oder im Pull Request hinterlegt werden.
Ist der Pull Request OK, wird approved. Für externe Entwickler übernimmt das approvende Teammitglied das mergen.