-
-
Notifications
You must be signed in to change notification settings - Fork 34
Entwickler: Versionsverwaltungssystem
Zur Versionsverwaltung verwendeten wir bis August 2013 Subversion, das Repository befand sich auf Google Code. Seit September 2013 setzen wir Git ein, das Repository befindet sich jetzt auf Github. Für den Umgang mit Git haben wir ein paar Regeln aufgestellt, die hier erläutert werden sollen.
Für die Versionsbezeichnungen verwenden wir das Schema "major.minor.update", z.B. "0.3.2". Die erste Zahl bezeichnet die Hauptversion, die zweite Zahl die Unterversion, die dritte das Update. Eine Unterversion (z.B. "0.3") bekommt KEINE neuen Features mehr, sondern nur noch Bugfixes. Heisst also, die Version "0.3.99" hat immer genau die gleichen Funktionen wie die Version "0.3.0". Gibt es für eine Unterversion keine Bugfixes, kommt z.B. nach der "0.3.0" direkt die Version "0.4.0".
Im Branch "master" wir jeweils nur an einer ganz bestimmten Unterversion gearbeitet. Neue Funktionen, die nicht in dieser Unterversion landen sollen, werden in einem separaten Branch implementiert. Erst wenn der master die gewünschte Version enthält, wird dieser Branch in den master übernommen.
Sobald im master eine neue Version fertiggestellt und getestet wurde, wird ein neuer Branch für diese Version angelegt:
git branch Part-DB-0.3.x (Branch "Part-DB-0.3.x" anlegen)
git checkout Part-DB-0.3.x (In den Branch "Part-DB-0.3.x" wechseln)
git add/commit/... (Änderungen am neuen Branch durchführen und commiten)
git push origin Part-DB-0.3.x (Den neuen Branch auf GitHub hochladen)
Das Namensschema dieser Branches ist immer "Part-DB-0.3.x" (Branch für die Unterversion "0.3"). Jegliche Commits, die ab nun im master getätigt werden, müssen zwingend auch in diesen neuen Branch übernommen werden!
git checkout Part-DB-0.3.x (In den Branch "Part-DB-0.3.x" wechseln)
git merge master ("master" in den Branch "Part-DB-0.3.x" mergen)
Niemals soll ein Commit direkt in einen solchen Release-Branch getätigt werden, das bringt nur den "working flow" durcheinander!
- Home
- Requirements
- Installation
- Security
- FAQ: Frequently Asked Questions
- Tips and tricks
- Reset Password
- Screenshots
- Labels