Paano Ko I-squash ang aking Huling N Git Commits Together?

Paano Ko I Squash Ang Aking Huling N Git Commits Together



Maaaring magdagdag ang mga developer ng mga pagbabago sa serbisyo sa pagho-host ng GitHub sa pamamagitan ng lokal na imbakan. Maaari silang itulak o hilahin ang mga pagbabago ayon sa mga kinakailangan. Gayunpaman, habang gumagawa ng mga pagbabago, maaaring kailanganin mong i-save ang mga ito sa repositoryo sa pamamagitan ng pag-commit.

Binibigyang-daan ng Git ang mga developer na pagsamahin ang mga commit sa pamamagitan ng squashing, na siyang proseso ng pagsasama-sama ng higit sa isang commit sa isang solong commit. Maaari mong isagawa ang operasyong ito anumang oras gamit ang tampok na Git Rebase, tulad ng ' $ git rebase -i HEAD~1 ” utos.

Ipapaliwanag ng post na ito ang paraan upang i-squash ang huling N Git commit nang sama-sama.

Paano Ko I-squash ang aking Huling N Git Commits Together?

Upang i-squash ang huling N number ng Git commit nang magkasama, lumipat muna sa lokal na repository ng Git at simulan ito. Pagkatapos, lumikha at subaybayan ang file sa lugar ng pagtatanghal. I-commit ang mga idinagdag na pagbabago sa Git repository. Susunod, tingnan ang kasaysayan ng log ng Git at i-reset ang posisyon ng HEAD pointer. Pagsamahin ang mga commit sa pamamagitan ng pagsasagawa ng ' $ git merge –squash ” utos. Panghuli, gumawa ng mga pagbabago at i-squash ang pinakahuling pinagsamang mga commit sa pamamagitan ng pagsasagawa ng ' $ git rebase -i HEAD~1 ” utos.

Ngayon, tingnan natin ang pamamaraan ng tinalakay na senaryo sa itaas!

Hakbang 1: Mag-navigate sa Git Repository
Una, isagawa ang ' cd ” utos upang lumipat sa nais na lokal na imbakan ng Git:

$ cd 'C:\Mga Gumagamit \n azma\Git\Demo10'

Hakbang 2: Lumikha ng File
Lumikha ng bagong file sa lokal na imbakan ng Git gamit ang sumusunod na command:

$ hawakan file2.txt

Hakbang 3: Track File
Patakbuhin ang ' $ git idagdag ” utos na may pangalan ng file upang masubaybayan sa lokal na imbakan ng Git:

$ git add file2.txt

Hakbang 4: I-save ang Mga Pagbabago
Upang i-save at i-update ang lokal na imbakan ng Git, isagawa ang ' $ git commit 'utos na may ' -m ” na opsyon at idagdag ang nais na commit message:

$ git commit -m 'Idinagdag ang 2nd file'

Hakbang 5: Gumawa ng Bagong File
Gumawa ng bagong file gamit ang “ hawakan ” utos sa Git repository:

$ hawakan file3.txt

Hakbang 6: Track File
Susunod, subaybayan ang isang bagong likhang file papunta sa staging area gamit ang “ git add ” utos kasama ang pangalan ng file:

$ git add file3.txt

Hakbang 7: Magsagawa ng Mga Pagbabago
Isagawa ang ' git commit ” utos upang i-save ang mga idinagdag na pagbabago sa lokal na imbakan ng Git:

$ git commit -m 'Idinagdag ang 3nd file'

Hakbang 8: Suriin ang Kasaysayan ng Git log
Suriin ang kasaysayan ng Git log sa pamamagitan ng paggamit ng sumusunod na command:

$ git log .

Dito, mapapansin na ang dalawang pinakabagong commit ay idinagdag sa repositoryo:

Hakbang 9: I-reset ang HEAD
Ngayon, isagawa ang ' git reset 'utos na may ' -mahirap ” na opsyon at tukuyin ang posisyon ng HEAD kung saan mo gustong i-reset ito:

$ git reset --mahirap ULO~ dalawa

Bilang resulta, ang posisyon ng HEAD pointer ay ire-reset pabalik sa kamakailang dalawang commit:

Hakbang 10: Pagsamahin ang Mga Commit
Ngayon, isagawa ang ' git merge 'utos na may ' – kalabasa ” na opsyon upang pagsamahin ang commit sa kasalukuyang HEAD index:

$ git merge --kalabasa ULO @ { 1 }

Gaya ng nakikita mo, matagumpay na pinagsama ang mga pinakabagong commit:

Hakbang 11: I-update ang Repository
I-commit ang mga idinagdag na pagbabago sa repositoryo at i-update ito:

$ git commit -m 'Dalawang file ang idinagdag'

Hakbang 12: Kasaysayan ng Git Log
Ngayon, isagawa ang ' git log . ” utos upang suriin ang kasaysayan ng Git log para sa mga idinagdag na pagbabago:

$ git log .

Ayon sa output sa ibaba, ang huling pinakahuling mga commit ay matagumpay na pinagsama-sama:

Hakbang 13: Squash N Commits
Panghuli, isagawa ang ' git rebase 'utos kasama ang' -i 'pagpipilian sa pagpiga sa' N ” bilang ng mga commit na magkasama. Halimbawa, tinukoy namin ang ' ULO~1 ” para i-squash ang huling commit nang sama-sama:

$ git rebase -i ULO~ 1

Kapag naisakatuparan ang utos sa itaas, magbubukas ang editor na may ilang mga tagubilin. Idagdag ang kinakailangang komento at i-save ito upang i-rebase at i-update ang squashed commit:

Ayan yun! Na-compile namin ang pinakamadaling paraan upang i-squash ang huling N commit nang magkasama.

Konklusyon

Upang i-squash ang huling N bilang ng mga commit nang magkasama, mag-navigate muna sa Git repository at simulan ito. Susunod, gumawa at subaybayan ang file sa staging area. I-commit ang mga idinagdag na pagbabago sa Git repository. Pagkatapos, i-reset ang posisyon ng HEAD pointer at pagsamahin ang mga commit sa pamamagitan ng pagsasagawa ng ' $ git merge –squash ” utos. Panghuli, gumawa ng mga pagbabago at isagawa ang ' $ git rebase -i HEAD~1 ” utos na i-squash ang pinakahuling pinagsamang mga commit. Ang post na ito ay nagbigay ng paraan upang i-squash ang huling N commit nang magkasama.