Jaka jest różnica między komendami poprawek i squasha? Próbowałem obu i okazało się, że oba robią to samo dla właściwego zarządzania.Git - Różnica między komendami poprawek i squasha
Odpowiedz
W Git, popełnia rzadko są rzeczywiste zniszczone, po prostu stają się sierotami lub wolnostojący, co oznacza, że nie są one wskazał lub osiągalny przez odniesienie podobnego oddziału lub tagu.
"zmieniając" i "zgniatanie" są podobne pojęcia.
Zazwyczaj zmieniająca jest operacją pojedynczego zatwierdzenia, w której chcesz połączyć pracę, która została ustawiona z zatwierdzeniem HEAD. Może to być bardzo wygodne, jeśli właśnie utworzono zatwierdzenie i zdajesz sobie sprawę, że musisz dodać do niego trochę treści. Po prostu przywołaj polecenie commit i użyj opcji --amend
.
Squashing to bardziej abstrakcyjne określenie. Powiedziałbym, że zmiana to rodzaj squasha. Za każdym razem, gdy łączysz commity, możesz powiedzieć, że je zgniatasz. Jeśli pracowałeś przez jakiś czas nad odgałęzieniem i wykonałeś 5 zatwierdzeń, które razem powinny być jednym zatwierdzeniem, możesz interaktywnie je ponowić i zgnieść je razem.
W Git jest kilka sposobów na zmianę/squash, ale wszystkie koncentrują się wokół koncepcji organizowania historii commitów (co oznacza ponowne pisanie historii gałęzi) w duchu ułatwiania grokowania.
amend
zmienia tylko ostatnie zatwierdzenie.
squash
jest jak połączenie wielu zatwierdzeń w jednym pojedynczym zatwierdzeniu.
W przypadku tylko jednego zatwierdzenia, ich efekty mogą wyglądać podobnie.
poprawione moje pytanie zgodnie z sugestią. –