Hvordan klemmer du alle forpliktelser i ett?

How Do You Squash All Commits One



In Git Squash er en teknikk som lar deg gjøre en rekke endringer på forpliktelser og deretter konsolidere den til en forpliktelse. La oss forklare ved hjelp av et eksempel, anta at du har n antall forpliktelser, og når du bruker git squash på dem, kan du squash eller komprimere alle ‘n’ commits til en enkelt forpliktelse. Git squash brukes til å endre flere store forpliktelser til en liten meningsfull forpliktelse. Så du kan gjøre git -loggen klarere. Du kan også slå sammen grener ved hjelp av squashing -teknikken. Det er en god praksis å alltid squash forplikte seg og starte det på nytt med master- eller foreldregrenen.

Denne artikkelen vil utdype deg hvordan du squash alle forpliktelser i en enkelt forpliktelse i git. Vi har implementert alle trinnene på CentOS 8 Linux -distribusjonen.







Squash Forplikter seg til en med git

Du kan implementere git squashing i følgende trinn:



Trinn 1: Velg Start forpliktelse

For å avgjøre hvor mange commits du trenger å squash, vil følgende kommando du kjøre på terminalen:



$ git -logg





Nå vil du påkalle git for å starte en interaktiv rebase -økt ved å bruke følgende kommando:

$ git rebase -i HEAD ~ N

I HEAD ~ N ovenfor er 'N' det totale antallet forpliktelser du har bestemt fra kommandoen 'git log'. La oss anta at antallet forpliktelser er 4. Nå vil kommandoen endres til følgende form:

$ git rebase -i HEAD ~ 4

Følgende forpliktelsesliste vil vises på terminalen hvor hver forplikter seg til å stirre med ordplukkingen.

Trinn 2: Endre Pick til Squash

Her vil vi markere alle forpliktelser som squashable, la den første forpliktelsen som vil bli brukt som utgangspunkt. Så bytt vim -editoren til innsettingsmodus ved å trykke 'i' og endre all pick -forpliktelsen i squashen bortsett fra den første commiten. Trykk nå på 'Esc' for å endre innsettingsmodus og trykk ': wq!' For å lagre alle endringene og avslutte. Hvis du bruker den enkle tekstredigereren da, kan du ganske enkelt endre 'plukke' -ordet til 'squash' og lagre endringer. Etter det vil du se følgende vindu på terminalen:

Når du forlater dette skallet, vil du se følgende meldinger på terminalvinduet:

Hvis du vil squash alle da, vil du se alle forpliktelser kombinert til en enkelt forpliktelseserklæring som vil vises på terminalen:

Konklusjon

Ved å bruke git squash kan du enkelt squash eller komprimere mange forpliktelser til en mindre enkelt forpliktelse. Du kan bruke denne teknikken til å fikse stavefeil i dokumentasjon. Vi har implementert git squash i denne artikkelen. Vi har også sett hvordan vi kan gjøre historien ren ved hjelp av git rebase og squash kommandoer.