Główne branche
origin/master
Branch origin/master jest gałęzią, w której znajdujący się kod jest gotowy do releasu w dowolnym momencie. Jest on stabilny, przetestowany oraz zaakceptowany przez naszego klienta. W typowym projekcie przed wdrożeniem git flow wygląda on następująco:
origin/develop
W git flow wprowadzony zostaje specjalny branch - origin/develop. Jego rolą jest przechowywanie najnowszej wersji tworzonego oprogramowania. Kod znajdujący się na branchu develop powinien być stabilny i gotowy do wdrożenia (wypuszczenia nowej wersji) w dowolnym momencie. Na branchy develop przeprowadzane są cykliczne sesje testowe (takie jak nightly builds).
Aby wprowadzić w naszym repozytorium branch develop wykonujemy następujące polecenia:
git checkout -b develop master
git push origin develop
Od tego momentu cały development prowadzimy na gałęzi origin/develop.
Uprawnienia
Jeżeli dopiero zaczynamy pracę z git flow lub w naszym projekcie pojawiają się często osoby tylko na pewien określony, krótki czas lub też prowadzimy duży projekt (10+ programistów) dobrym pomysłem jest ograniczenie praw zapisu do gałęzi master dla wybranej grupy osób. W ten sposób upewniamy się, że od tego momentu tylko świadome i przeszkolone osoby będą zarządzać naszym repozytorium.
Takie samo uprawnienie powinno zostać nadane do gałęzi "release-*" (o których w dalszej części szkolenia).