Zakładając, że jestem opiekunem repozytorium i chcę pobierać zmiany od współautora, istnieje kilka możliwych przepływów pracy:
- I
cherry-pick
każda popełnienia z pilota (w tej kolejności). W takim przypadku git zapisuje zatwierdzenie jako niezwiązane ze zdalną gałęzią. - I
merge
gałąź, wprowadzając wszystkie zmiany i dodając nowe zatwierdzenie „konfliktowe” (w razie potrzeby). - I
merge
każdy popełnić ze zdalnego oddział indywidualnie (ponownie w kolejności), pozwalając konflikty powinny być rejestrowane za każdym popełnienia, zamiast zgrupowane razem jako jeden. - Dla kompletności, możesz zrobić
rebase
(tak samo jakcherry-pick
opcję?), Jednak rozumiem, że może to powodować zamieszanie dla autora. Może to eliminuje opcję 1.
W obu przypadkach 2 i 3 git zapisuje historię gałęzi zatwierdzeń, w przeciwieństwie do 1.
Jakie są zalety i wady pomiędzy użyciem jednej cherry-pick
lub merge
opisanych metod? Rozumiem, że metoda 2 jest normą, ale uważam, że rozwiązanie dużego zatwierdzenia za pomocą pojedynczego scalenia „konfliktu” nie jest najczystszym rozwiązaniem.