Przeprowadziłem migrację kilku moich projektów do przepływu pracy Git Flow i uwielbiam to. Nie znalazłem jednak najlepszej praktyki, która sprawiałaby, że wszystko płynęło tak płynnie podczas pracy z projektem, w którym jednocześnie przechowywana jest więcej niż jedna główna wersja.
W szczególności nie utrzymuję „wersji bezpłatnej” i „wersji płatnej” ani żadnego innego modelu równoległego, mówię o projekcie, w którym wersja 1 zostaje wydana i pozostaje obsługiwana w mniejszych wersjach (1.1, 1.2 itd.) .) do czasu wydania wersji 3, w której utrzymane będą punkty 2 i 3, do wydania 4 ... masz pomysł.
W jaki sposób utrzymujesz dwie lub więcej obsługiwanych wersji projektu jednocześnie w przepływie pracy gitflow?
Odpowiedzi:
man gitworkflows
, wielki tata przepływu pracy „git flow”, opisuje ogólne wytyczne dotyczące przepływu pracy git; stosowaniepu
,next
,master
imaint
oddziałów; i jakmaint
jest zarządzany. Jeśli masz wiele oddziałów konserwacji, można je wymienić, na przykładmaint/1.x
,maint/2.x
i tak dalej.Kluczem jest nie tyle, jak korzystać z poleceń git, ale jak zbudować rozsądny proces. Zdecyduj, co jest dla Ciebie ważne (łatwość backportowania?), I utwórz (i udokumentuj) przepływ pracy, który spełnia te ograniczenia.
źródło
Zasadniczo, byś powielać
master
,release
orazdevelop
oddziały w każdym większym wersji, którą utrzymujemy. Ich interakcja pozostaje taka sama. Nafeature
gałęziach, po prostu upewnij się, że oddział z najstarszych gałęzi, którą zamierzasz scalić z powrotem do , co uniemożliwia pociągnięcie do niepożądanych zależności. Następnie, gdy ponownie połączysz swójfeature
oddział, po prostu wykonasz dodatkowe scalenia w każdym odpowiednim nowszym głównym oddziale wersji.źródło