Jeśli w repo prócz gałęzi branch są jeszcze dodatkowe dwie gałęzie to jeśli je pobiorę do repo lokalnego należy potem to z mergować z moją gałęzią master ? Czy git sam to wykona ?
Jeżeli trzeba, to wykonaj merge. Jeżeli nie, to nie musisz, zależy to od ciebie.
Git sam nie wykona merge, o ile mu nie każesz.
A skąd w ogóle pomysł, żeby je mergować? Ktoś je pewno utworzył w jakimś celu i sam je zmerguje do mastera, gdy skończy nad nimi prace.
Jak to jest w rzeczywistości ? Każdy u siebie lokalnie pracuje na gałęzi master przeważnie??
Nie. W normalnym świecie robisz sobie feature branch na którym pracuje się nad jakimś zadaniem. Na koniec robi się merge request z tego brancha do mastera a samego brancha usuwa. No chyba że pracujesz nad kodem sam, to sobie możesz pracować bezpośrednio na master i po prostu robić pushe, jak w svnie ;]
A co jeśli gdybyśmy otrzymali takie repo lokalne z powodu tego, że nie utworzyliśmy swojego brancha lokalnie.
A4 i A5 to zmiany własne, natomiast B3 to pobrane z repo zdalnego.
- Nie powinieneś nic commitować bezpośrednio na mastera.
- Z doświadczenia wiem że mastera w ogóle warto zostawić na jakieś releasy etc, a "przed nim" dorzucić jeszcze develop i do niego mergować zmiany z branchy.
- Jeśli chodzi o powyższy rysunek to osoba która będzie chciała wykonać merge B3 do mastera będzie miała konflikt (o ile zmiany B3 i B4/B5 dotyczą tych samych plików).