Ako stlačíte všetky záväzky v jednom?

How Do You Squash All Commits One



V Git je Squash technikou, ktorá vám umožňuje vykonať sériu zmien pri potvrdeniach a potom ich zlúčiť do jedného potvrdenia. Vysvetlíme to pomocou príkladu, predpokladajme, že máte n počet potvrdení a keď na ne použijete git squashing, môžete všetky „n“ potvrdenia stlačiť alebo skomprimovať do jediného potvrdenia. Git squash sa používa na zmenu niekoľkých veľkých potvrdení na malé jediné zmysluplné potvrdenia. Protokol git tak môžete urobiť jasnejším. Môžete tiež zlúčiť vetvy pomocou techniky squashing. Osvedčeným postupom je vždy squashovanie záväzkov a ich opätovné založenie pomocou hlavnej alebo nadradenej vetvy.

Tento článok vás podrobne rozpracuje, ako squashovať všetky potvrdenia v rámci jedného potvrdenia v git. Implementovali sme všetky kroky do distribúcie CentOS 8 Linux.







Squash sa zaväzuje do jedného s git

Git squashing môžete implementovať do nasledujúcich krokov:



Krok 1: Vyberte položku Spustiť potvrdenie

Nasledujúci príkaz, ktorý spustíte na termináli, zistíte, koľko potvrdení musíte squashovať:



$ git log





Teraz vyvoláte git na spustenie interaktívnej relácie rebase pomocou nasledujúceho príkazu:

$ git rebase -i HEAD ~ N

Vo vyššie uvedenej HEAD ~ N je „N“ celkový počet potvrdení, ktoré ste určili z príkazu „git log“. Predpokladajme, že počet potvrdení je 4. Teraz sa príkaz zmení na nasledujúci tvar:

$ git rebase -i HEAD ~ 4

Nasledujúci zoznam potvrdení sa zobrazí na termináli, kde sa každý zaväzuje pozerať s výberom slova.

Krok 2: Zmeňte výber na Squash

Tu označíme všetky potvrdenia ako odstrániteľné a ponecháme prvé potvrdenie, ktoré bude použité ako východiskový bod. Zmeňte teda editor vim na režim vkladania stlačením „i“ a zmeňte výber všetkých potvrdení na squash okrem prvého potvrdenia. Teraz stlačením „Esc“ zmeňte režim vkladania a stlačením „: wq!“ Uložte všetky zmeny a ukončite ich. Ak potom používate jednoduchý textový editor, môžete jednoducho zmeniť slovo „vybrať“ na „squash“ a uložiť zmeny. Potom sa na termináli zobrazí nasledujúce okno:

Keď opustíte tento shell, v okne terminálu sa vám zobrazia nasledujúce správy:

Ak potom všetky zmačknete, uvidíte všetky potvrdenia spojené do jedného príkazu na potvrdenie, ktorý sa zobrazí na termináli:

Záver

Použitím git squash môžete ľahko stlačiť alebo skomprimovať mnoho potvrdení do menšieho jediného potvrdenia. Túto techniku ​​môžete použiť na opravu pravopisných chýb dokumentácie. V tomto článku sme implementovali git squash. Tiež sme videli, ako môžeme vyčistiť históriu pomocou príkazov git rebase a squash.