W tym artykule dowiesz się, jak zmiażdżyć wszystkie zatwierdzenia w jednym zatwierdzeniu w git. Wdrożyliśmy wszystkie kroki w dystrybucji CentOS 8 Linux.
Squash łączy się z jednym z git
Możesz zaimplementować git squashing w następujących krokach:
Krok 1: Wybierz Rozpocznij zatwierdzanie
Aby określić, ile zatwierdzeń musisz zmiażdżyć, na terminalu uruchomisz następującą komendę:
$ git log
Teraz wywołasz git, aby rozpocząć interaktywną sesję zmiany bazy, używając następującego polecenia:
$ git rebase -i HEAD~NW powyższym HEAD~N, „N” to całkowita liczba zatwierdzeń, które określiłeś za pomocą polecenia „git log”. Załóżmy, że liczba zatwierdzeń wynosi 4. Teraz polecenie zmieni się w następującą postać:
$ git rebase -i HEAD~4Poniższa lista zatwierdzeń zostanie wyświetlona na terminalu, gdzie każdy zatwierdzenie zaczyna się od słowa pick.
Krok 2: Zmień Pick na Squash
Tutaj oznaczymy wszystkie commity jako możliwe do zgniecenia, zostaw pierwszy commit, który będzie używany jako punkt wyjścia. Więc zmień edytor vim w tryb wstawiania, naciskając 'i' i zmień zatwierdzenie wszystkich wyborów na squash, z wyjątkiem pierwszego zatwierdzenia. Teraz naciśnij 'Esc', aby zmienić tryb wstawiania i naciśnij ':wq!' aby zapisać wszystkie zmiany i wyjść. Jeśli używasz prostego edytora tekstu, możesz po prostu zmienić słowo „wybierz” na „squash” i zapisać zmiany. Następnie na terminalu zobaczysz następujące okno:
Gdy opuścisz tę powłokę, w oknie terminala zobaczysz następujące komunikaty:
Jeśli zgnieciesz wszystko, zobaczysz wszystkie zatwierdzenia połączone w jedną instrukcję zatwierdzenia, która wyświetli się na terminalu:
Wniosek
Używając git squash, możesz łatwo zmiażdżyć lub skompresować wiele zatwierdzeń w jeden mniejszy zatwierdzenie. Możesz użyć tej techniki, aby naprawić błędy w pisowni dokumentacji. W tym artykule zaimplementowaliśmy git squash. Widzieliśmy również, jak możemy wyczyścić historię za pomocą poleceń git rebase i squash.