Wnioskuję, że aktualizacja branchy "podrzędnych" jest opcjonalna i zapobiegnie tylko sytuacji w stylu merge "dum dum"
Dla Gita wszystkie branche (i wszystkie remote'y) są równorzędne. To jest wyłącznie konwencja programisty (zespołu programistów) którą gałąź uważają za „główną”. Można np. pewnego dnia zmienić zdanie i uznać jakieś dev
za główną gałąź, a o master
zapomnieć albo go skasować - Gita to nie obchodzi, Git jest głupi. Po skasowaniu mastera dev
zachowa całą swoją historię, włącznie z czasem kiedy jeszcze nie istniała jako osobna gałąź.
Ponieważ branche w Gicie są „tanie”, przyjąłem zasadę „jedna brancza - jeden ficzer”, czyli zamiast gałęzi dev
na której ciągle pracuję, wolę tworzyć krótko (z założenia) żyjące gałęzie - każdą do osobnego zadania. W ramach tych gałęzi commity częste i małe. Po zakończeniu danego zadania i zmerge'owaniu do mastera gałąź jest już niepotrzebna i można ją usunąć.
Jeżeli dana gałąź żyje dłużej, to można robić okazjonalny merge z mastera do danej gałęzi - wedle gustu.