Paano Mo Pipiga ang Lahat ng Mga Pangako sa Isa?

How Do You Squash All Commits One



Sa Git Squash ay isang pamamaraan na nagbibigay-daan sa iyo upang makagawa ng isang serye ng mga pagbabago sa mga pangako at pagkatapos ay pagsamahin ito sa isang pagtatalaga. Ipaliwanag natin sa tulong ng isang halimbawa, ipagpalagay na mayroon kang maraming bilang ng mga komit at kapag inilapat mo ang git squashing sa kanila, maaari mong i-squash o i-compress ang lahat ng mga ā€˜nā€™ commits sa iisang solong pagbibigay. Ginagamit ang Git na kalabasa upang baguhin ang maraming malalaking mga pangako sa isang maliit na solong makabuluhang pangako. Kaya, maaari mong gawing mas malinaw ang git log. Maaari mo ring pagsamahin ang mga sangay gamit ang diskarteng squashing. Ito ay isang pinakamahusay na kasanayan na palaging squash commits at rebase ito sa master o parent branch.

Ipapaliwanag sa iyo ng artikulong ito kung paano I-squash ang lahat ng mga commits sa isang solong pagbibigay ng git. Naipatupad namin ang lahat ng mga hakbang sa pamamahagi ng CentOS 8 Linux.







Squash Commits sa isa na may git

Maaari mong ipatupad ang git squashing sa mga sumusunod na hakbang:



Hakbang 1: Piliin ang Simulang mangako

Upang matukoy kung gaano karaming mga pangako ang kailangan mong mag-squash, ang sumusunod na utos na tatakbo sa terminal:



$ git log





Ngayon, tatawagin mo ang git upang magsimula ng isang interactive na session ng muling pagbuong sa pamamagitan ng paggamit ng sumusunod na utos:

$ git rebase -i HEAD ~ N

Sa itaas na ULO ~ N, ang 'N' ay ang kabuuang bilang ng mga ginawa mong determinasyong tinukoy mula sa 'git log' na utos. Ipagpalagay natin, ang bilang ng mga gumawa ay 4. Ngayon, ang utos ay magbabago sa sumusunod na form:

$ git rebase -i HEAD ~ 4

Ang sumusunod na listahan ng mga gawa ay ipapakita sa terminal kung saan ang bawat isa ay nakatingin sa salitang pick.

Hakbang 2: Palitan ang Piliin sa Squash

Dito, mamarkahan namin ang lahat ng mga nakagagawa bilang squashable, iwanan ang unang komit na gagamitin bilang isang panimulang punto. Kaya, palitan ang vim editor sa insert mode sa pamamagitan ng pagpindot sa 'i' at palitan ang lahat ng pick pick sa squash maliban sa unang gumawa. Ngayon, pindutin ang 'Esc' upang baguhin ang insert mode at pindutin ang ': wq!' Upang mai-save ang lahat ng mga pagbabago at umalis. Kung gumagamit ka ng simpleng text editor noon, maaari mo lamang palitan ang 'pick' na salita sa 'squash' at i-save ang mga pagbabago. Pagkatapos nito, makikita mo ang sumusunod na window sa terminal:

Kapag iniiwan mo ang shell na ito, makikita mo ang mga sumusunod na mensahe sa window ng terminal:

Kung mai-squash mo ang lahat noon, makikita mo ang lahat ng mga commit na pinagsama sa isang solong pahayag na ipapakita sa terminal:

Konklusyon

Sa pamamagitan ng paggamit ng git squash, madali mong mai-squash o mai-compress ang maraming mga commits sa isang mas maliit na solong pagbibigay. Maaari mong gamitin ang diskarteng ito upang ayusin ang mga pagkakamali sa pagbaybay ng dokumentasyon. Ipinatupad namin ang git squash sa artikulong ito. Nakita rin namin kung paano namin malinis ang kasaysayan gamit ang git rebase at mga utos ng kalabasa.