Pracuję nad przepływem pracy git do wdrożenia w małym zespole. Główne pomysły w przepływie pracy:
- Istnieje wspólny główny projekt, do którego wszyscy członkowie zespołu mogą pisać
- Cały rozwój odbywa się wyłącznie w gałęziach funkcji
- Gałęzie obiektów są sprawdzane pod kątem kodu przez członka zespołu innego niż autor oddziału
- Gałąź funkcji zostaje ostatecznie połączona ze współużytkowanym urządzeniem głównym i cykl rozpoczyna się od nowa
Artykuł szczegółowo wyjaśnia kroki w tym cyklu:
https://github.com/janosgyerik/git-workflows-book/blob/small-team-workflow/chapter05.md
Czy to ma sens, czy coś pomijam?
Myślę, że brakuje Ci tematu Ciągła integracja. Powinien być częścią każdej konfiguracji programistycznej.
W przypadku gałęzi funkcji masz problem polegający na tym, że nie integrujesz się w sposób ciągły, ale dopiero po zakończeniu operacji.
Jeśli rozgałęziona funkcja jest krótkotrwała, może to być do zaakceptowania, ale jest to z pewnością coś, co należy rozważyć.
Inną alternatywą jest konfigurowanie kompilacji CI dla każdej gałęzi funkcji. To z pewnością pomaga, ale nie jest to integracja. Staje się to oczywiste, gdy znajdziesz swój pierwszy błąd, który nie pojawia się w Funkcji A ani Funkcji B, ale w momencie integracji Funkcji A i B
Trzecią alternatywą jest włączenie scalania w jakiejś gałęzi integracji do kompilacji CI. Jest to prawdziwa integracja i faktycznie działa dość dobrze z git, jeśli praca jest nieco oddzielna, ale powoduje konflikty scalania podczas kompilacji, co powoduje nieudane kompilacje.
źródło
Możesz zainspirować się do gitflow lub Twgit .
gitflow podsumowuje swoje podejście jako:
Twgit opisuje się w następujący sposób:
Oba narzędzia są dostępne w github .
źródło