Hvordan klemmer du alle forpligtelser i ét?

How Do You Squash All Commits One



I Git Squash er en teknik, der giver dig mulighed for at foretage en række ændringer på forpligtelser og derefter konsolidere det til ét engagement. Lad os forklare ved hjælp af et eksempel, antag at du har et antal forpligtelser, og når du anvender git squashing på dem, kan du squash eller komprimere alle 'n' commits til en enkelt forpligtelse. Git squash bruges til at ændre flere store forpligtelser til en lille enkelt meningsfuld forpligtelse. Så du kan gøre git -loggen klarere. Du kan også flette grene ved hjælp af squash -teknikken. Det er en god praksis at altid squash forpligter og genstarte det med master- eller forældregrenen.

Denne artikel vil uddybe dig, hvordan du squash alle forpligtelser i en enkelt forpligtelse i git. Vi har implementeret alle trin på CentOS 8 Linux -distributionen.







Squash Forpligter sig til et med git

Du kan implementere git squashing i følgende trin:



Trin 1: Vælg Start forpligtelse

For at bestemme, hvor mange commits du skal squash, skal du køre følgende kommando på terminalen:



$ git log





Nu vil du påberåbe git til at starte en interaktiv rebase -session ved hjælp af følgende kommando:

$ git rebase -i HEAD ~ N

I ovenstående HEAD ~ N er 'N' det samlede antal forpligtelser, du har bestemt fra kommandoen 'git log'. Lad os antage, at antallet af forpligtelser er 4. Nu ændres kommandoen til følgende form:

$ git rebase -i HEAD ~ 4

Følgende commits -liste vises på terminalen, hvor hver begår at stirre med ordet pick.

Trin 2: Skift pick til squash

Her markerer vi alle commits som squashable, forlader den første commit, der vil blive brugt som udgangspunkt. Så skift vim -editoren til indsætningsfunktionen ved at trykke på 'i' og ændre all pick -forpligtelsen i squashen undtagen den første commit. Tryk nu på 'Esc' for at ændre indsætningsmodus, og tryk på ': wq!' For at gemme alle ændringer og afslutte. Hvis du derefter bruger den enkle tekstredigerer, kan du blot ændre 'pick' -ordet til' squash 'og gemme ændringer. Derefter vil du se følgende vindue på terminalen:

Når du forlader denne skal, vil du se følgende meddelelser på terminalvinduet:

Hvis du vil squash alle derefter, vil du se alle forpligtelser kombineret til en enkelt forpligtelseserklæring, der vises på terminalen:

Konklusion

Ved at bruge git squash kan du nemt squash eller komprimere mange commits til en mindre enkelt commit. Du kan bruge denne teknik til at rette dokumentationsfejl. Vi har implementeret git squash i denne artikel. Vi har også set, hvordan vi kan gøre historien ren ved hjælp af git rebase og squash kommandoer.