@vpiotr: ale w czym problem ze zrobieniem hotfixa?
$ git checkout -b hotfix v1.0.0
$ # edit
$ git tag -s v1.1.0
$ git push --tags
$ git checkout master
$ git merge --no-ff hotfix
I masz gotowe. Flow nie różni się niemal niczym od posiadania osobnej gałęzi na produkcję.
Wersja z tagami to musisz czekać na release z dev? Jak masz release raz dziennie to nie ma problemu, ale jak masz czekać kwartał (a tak bywa) to trochę słabo.
Nie za bardzo ogarniam o co Ci chodzi? Masz tag v1.0.0
i masz commit deadbeef
, który ma wylądować na produkcji. Robisz więc git tag -s v2.0.0 deadbeef
i masz nową wersję. Nikt nie musi na nic czekać, nie ważne czy robisz 1 deploy dziennie czy na rok.
plus zauważ, że jak masz rozdzielone na master i develop to możesz zrobić coś w stylu "pseudo-scentralizowanego" systemu kontroli wersji
To po co używać Gita? Dla tego, że popularny? Poza tym posiadanie 2 gałęzi ma się nijak do rozproszenia/centralizacji.
Bo jak robisz jakieś zmiany (nowy feature, nowy layout) to najpierw testujesz na developie i jak nic się nie wywala to wrzucasz na produkcję (ewentualnie później robisz hotfixy).
Ale czym się to różni od tagów? Na produkcji ląduje to co zostało otagowane, nie gałąź. Nie widzę najmniejszej różnicy.
EDIT: I nie, nie testujesz na developie, tylko testujesz w feature branchu. Jak przeszło testy wtedy, ląduje na masterze, tam przechodzi kolejne testy po deploymencie na staging, i jak to przeszło, to tagujesz commit i masz deploy na produkcję.