Stimme voll und ganz @Mot zu.
Es ist schön, die gleichen Fragen zu hören.
Unser Team wurde auch nach mehr Universal-Verzweigungsmodellen als nach Successfull gesucht. Dh wie oben erwähnt @Mot - die Hauptidee besteht darin, die Einführung zusätzlicher Repositorys zur Unterstützung von Release- * -Zweigen in separaten * .git-Repos zu vermeiden, wie dies beispielsweise von kernel.org für stabile Releases durchgeführt wird. Aber kernel.org tut es, um die heruntergeladenen Größen zu minimieren, denke ich.
Für mich scheint es sauberer zu sein, Master als Hauptlinie für die Entwicklung zu haben .
Es gibt auch einige Konflikte beim Release- * Zusammenführen des Modells, um es zu meistern und anschließend mit der Idee zu versehen
Verwenden Sie ein Git-Hook-Skript, um unsere Software jedes Mal automatisch zu erstellen und auf unseren Produktionsservern bereitzustellen, wenn ein Commit für den Master durchgeführt wurde
Das Finishing (Zusammenführen und Markieren) ist keine atomare Transaktion:
$ git checkout master
Switched to branch 'master'
$ git merge --no-ff release-1.2
Merge made by recursive.
(Summary of changes)
$ git tag -a 1.2
und wenn git hook mit Unterstützung für die automatische Versionierung erstellt wird:
$git describe --tags --long >.ver
dann kann eine fehlerhafte Version erstellt werden für:
$ git merge --no-ff release-1.2
Ich weiß, dass die Versionierung in Successfull One einen Bump-Version-Prozess einführt ,
aber nicht automatisch.
Zusammenfassend lässt sich sagen, dass die wichtigsten Unterschiede, die wir beim Verzweigungsmodell für Releases * zum Zusammenführen und Markieren einführen, folgende sind: - Kennzeichnen von Releases beim Erstellen des Zweigs - Beibehalten des Zweigs des Releases, um die zukünftige Wartung zu ermöglichen