Jak zmiażdżyć wszystkie zobowiązania w jednym?

How Do You Squash All Commits One



W Git Squash to technika, która pozwala na wykonanie serii zmian w zatwierdzeniach, a następnie skonsolidowanie ich w jednym zatwierdzeniu. Wyjaśnijmy to za pomocą przykładu, załóżmy, że masz n zatwierdzeń, a kiedy zastosujesz na nich git squashing, możesz zmiażdżyć lub skompresować wszystkie „n” zatwierdzeń w jednym zatwierdzeniu. Git squash służy do zmiany kilku dużych zatwierdzeń w jedno małe, znaczące zatwierdzenie. Możesz więc uczynić git log bardziej przejrzystym. Możesz także łączyć gałęzie za pomocą techniki zgniatania. Najlepszą praktyką jest zawsze zgniatać commity i zmieniać ich bazę z gałęzią master lub parent.

W tym artykule dowiesz się, jak zgnieść wszystkie zatwierdzenia w jednym zatwierdzeniu w git. Wszystkie kroki wdrożyliśmy 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~N

W powyższym HEAD~N, „N” to całkowita liczba zatwierdzeń, które określiłeś za pomocą polecenia „git log”. Załóżmy, że liczba commitów wynosi 4. Teraz polecenie zmieni się w następującą postać:

$ git rebase -i HEAD~4

Poniż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. Tak 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ń do mniejszego pojedynczego zatwierdzenia. Możesz użyć tej techniki do naprawienia błędów pisowni w 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.