Prace przebiegają tak, że pracuję na dev lokalnie. Gdy tylko zrobię commit, od razu robię merge z gałęzią stage i push na serwer. W ten sposób na serwerze jest wersja stage to testowania. Po przetestowaniu robię merge dla gałęzi master i push.
I teraz mam kilka wątpliwości:
1. Po co mi właściwie jest ten dev? Nikt niczego nie robi z gałęzią dev projektu online, testy są przeprowadzane na stage. Efekt byłby taki sam gdyby pracować od razu na stage. A więc może czegoś nie biorę pod uwagę?
2. Założenie z dev - stage - master rozumiem tak, że programiści pracują na devie, mergują na stage dla testerów, a potem na master dla użytkowników.
Ale co zrobić w sytuacji, w której chcę się zająć dwoma zagadnieniami równolegle i jedno zakończyłem i chcę pushować, a drugie jeszcze jest w rozsypce i nie chcę go wypuszczać? Mam tą swoją gałąź dev i nie widzę żadnego sposobu żeby to rozwiązać poza tym, żeby prace nad osobnymi zagadnieniami, które mogą nie zostać skończone rozpoczynać na osobnych gałęziach stworzonych tylko pod te konkretne zagadnienia. Ale nie jestem pewien czy to prawidłowe no bo narzucono mi dev-stage-master jak gdyby nie przewidując tworzenia innych gałęzi.
3. Pracuję i pushuję kolejne zrealizowane zadania na stage dla testerów. Po jednym dniu mam tych zadań pushowanych kilkanaście i wersja master jest np. 30 commitów w tyle za stage. I tu mam dwa problemy:
a) Testerzy informują o poprawności kolejnych kwestii i gdyby zatwierdzili wszystkie to mógłbym zrobić merge dla master, ale przecież ciągle przybywa tasków na stage więc ciągle są jakieś nieprzetestowane. Kiedy więc jest dogodny moment na merge dla master skoro zawsze część spraw może być nieprzetestowana?
b ) Gdy już robię merge dla master np. pod koniec dnia to tak naprawdę nie mogę być pewien, że to wszystko działa. Co w takim razie zrobić? Testować ponownie wszystkie taski na master? Boję się zrobić merge i iść spać bo rano może się okazać, że cały serwis leżał przez noc. Gdybym miał nadmiar testerów, którzy pracują całą dobę to mógłbym im dać do testowania wszystkie te zagadnienia tym razem na master. Ale co robić gdy nie mam aż tyle zasobów testujących?
c) Robię merge dla master i kilkanaście zadań wskakuje na serwis online. Zanim każde zostanie przetestowane, nawet gdy mam wbród testerów to część rzeczy może leżeć, a to jest niedopuszczalne. Jak to rozwiązać? Przecież takich zagadnień mergowanych z master może być np. 100 pod koniec dnia jeżeli jest wielu programistów.
Bardzo bym był wdzięczny za naprostowanie mojego z pewnością krzywego spojrzenia na zarządzanie projektem, dzięki
