Mój zwykły przepływ pracy z git polega na utworzeniu nowej gałęzi funkcjonalności, wykonaniu pewnych czynności z częstym zatwierdzaniem, a następnie scaleniu z powrotem w gałęzi rozwojowej, gdy funkcja działa i/lub jest stabilna.Konflikty scalania powodują zerwanie mojego komunikatu zatwierdzenia podczas zgrupowywania zatwierdzeń.
Zazwyczaj, gdy wykonuję git merge --squash feature-branch
, otrzymuję komunikat "zgnieciony zatwierdzenie następnej", który automatycznie wypełnia wszystkie wiadomości zatwierdzenia z gałęzi funkcji.
Jeśli jednak wystąpią jakiekolwiek konflikty scalania (powiedzmy, że zakończyłem i połączono inną funkcję podczas pracy nad tą), tracę wszystkie moje wiadomości zatwierdzania z oddziału. Automatycznie wypełniony komunikat zatwierdzenia wypełnia konflikty, ale nie komunikaty zatwierdzania. Gdzie podziały się moje wiadomości dotyczące zatwierdzania? Czy mogę je odzyskać?
Dlaczego squash w ogóle? Możesz po prostu użyć 'rebase --interactive', aby wyczyścić, jeśli uważasz, że twoje zatwierdzenie jest zbyt częste i niechlujne, następnie wykonaj normalne scalanie - w ten sposób nie tracisz historii. – Cascabel