Zauważyłem ostatnio, że patrząc na niektóre popularne projekty na GitHub, nie ma żadnego develop
oddziału. W rzeczywistości przewodnik GitHub Flow też o tym nie wspomina. Z mojego zrozumienia, master
zawsze powinna być całkowicie stabilna i odzwierciedlać produkcję. Jeśli programiści pracują nad gałęziami funkcji, a następnie scalają je ze sobą master
po zakończeniu, oznacza to, że okres, w którym funkcje / poprawki są scalane, master
a master
gałąź jest w rzeczywistości nowsza niż produkcyjna.
Czy nie ma większego sensu, aby zespół tworzył gałęzie funkcji / naprawiania develop
, łączył się z nimi ponownie, a następnie, gdy następna wersja jest całkowicie gotowa do wydania, develop
łączy się master
i tworzy tag? Wyobraź sobie, że ludzie łączą się od razu master
, a podczas produkcji zgłaszany jest błąd, który staje się trudny do naprawienia, ponieważ master
baza kodów gałęzi zmieniła się znacząco. Następnie twórcy muszą po prostu powiedzieć użytkownikowi, aby poczekał do następnej wersji, aby zobaczyć, że problem został rozwiązany.
EDYCJA: To pytanie jest inne niż „rozgałęziać się czy nie rozgałęziać”. W szczególności odnosi się do osób, które odchodzą od korzystania z gałęzi developerskiej, oraz powodów, które ją otaczają, ponieważ od dawna jest to reklamowana najlepsza praktyka.