Questo articolo ti elaborerà come Squash tutti i commit in un singolo commit in git. Abbiamo implementato tutti i passaggi sulla distribuzione Linux CentOS 8.
Squash si impegna in uno con git
Puoi implementare lo schiacciamento git nei seguenti passaggi:
Passaggio 1: scegli Avvia commit
Per determinare quanti commit devi schiacciare, il seguente comando verrà eseguito sul terminale:
$ git log
Ora invocherai git per avviare una sessione di rebase interattiva usando il seguente comando:
$ git rebase -i TESTA~NNella precedente HEAD~N, la 'N' è il numero totale di commit che hai determinato dal comando 'git log'. Supponiamo che il numero di commit sia 4. Ora, il comando cambierà nella seguente forma:
$ git rebase -i HEAD~4Il seguente elenco di commit verrà visualizzato sul terminale in cui ogni commit fissando la parola pick.
Passaggio 2: cambia Pick in Squash
Qui, contrassegneremo tutti i commit come squashable, lasciamo il primo commit che verrà utilizzato come punto di partenza. Quindi, cambia l'editor vim nella modalità di inserimento premendo 'i' e cambia il commit all pick nello squash tranne il primo commit. Ora, premi 'Esc' per cambiare la modalità di inserimento e premi ':wq!' per salvare tutte le modifiche ed uscire. Se stai usando il semplice editor di testo, puoi semplicemente cambiare la parola 'pick' in 'squash' e salvare le modifiche. Successivamente, vedrai la seguente finestra sul terminale:
Quando lascerai questa shell, vedrai i seguenti messaggi nella finestra del terminale:
Se schiaccerai tutto, vedrai tutti i commit combinati in un'unica dichiarazione di commit che verrà visualizzata sul terminale:
Conclusione
Usando git squash, puoi facilmente schiacciare o comprimere molti commit in un singolo commit più piccolo. Puoi usare questa tecnica per correggere gli errori di ortografia della documentazione. Abbiamo implementato git squash in questo articolo. Abbiamo anche visto come possiamo pulire la cronologia usando i comandi git rebase e squash.