Ano ang Pagkakaiba sa pagitan ng Git Revert, Checkout, at Reset?

Ano Ang Pagkakaiba Sa Pagitan Ng Git Revert Checkout At Reset



Ginagamit ang Git para sa pagsubaybay sa mga pagbabago sa mga source code file at pag-coordinate ng trabaho sa maraming developer. Pinapayagan nito ang mga developer na bumalik sa mga nakaraang estado at kahit na i-undo ang mga commit, o mga pagbabagong ginawa sa repositoryo. Ang ' git ibalik ”, “ git Tignan mo 'at' git reset ” ay tatlo sa mga pinakakapaki-pakinabang na utos ng Git na dapat malaman habang nagtatrabaho sa isang proyekto ng Git.

Ang mga kinalabasan ng artikulong ito ay:

Pagkakaiba sa pagitan ng 'git reset', 'git revert' at 'git checkout' Commands?

git revert ”, “ git checkout ”, at “ git reset Ang mga command ay mga paraan upang gumawa ng mga pagbabago sa source code at pagkatapos ay i-undo ang mga ito kung hindi nagustuhan ng user kung paano sila naging resulta. Ang pagkakaiba sa pagitan ng mga utos na ito ay nakasalalay sa kanilang pag-andar at paggamit, tulad ng:







  • git revert Ang command na ” ay ginagamit upang i-undo ang mga pagbabago sa pamamagitan ng paglikha ng isang bagong repositoryong commit mula sa isang nakaraang commit at pagdaragdag ng bagong kasaysayan sa repositoryo.
  • git checkout Ang command ay ginagamit para sa paglipat mula sa isang branch patungo sa isa pa at ibalik ang gumaganang mga file ng puno mula sa staging area.
  • git reset ” command untrack ang mga pagbabago mula sa staging index. Nag-aalis ito ng mga file mula sa lugar ng pagtatanghal ng dula upang maisagawa muli ang mga ito sa ibang pagkakataon kung kinakailangan.

Paano I-undo ang mga Commit Gamit ang 'git revert' Command?

Upang i-undo ang mga commit, pumunta muna sa nais na Git repository at lumikha ng isang file. Pagkatapos, subaybayan ang file at gumawa ng mga pagbabago. Pagkatapos nito, magdagdag ng ilang nilalaman sa bagong file, yugto, at gumawa ng mga bagong pagbabago. Panghuli, isagawa ang ' git revert ” utos at i-verify ang mga pagbabago sa pagbabalik.



Hakbang 1: Ilipat sa Git Directory

Isagawa ang ' cd ” utos kasama ang partikular na landas ng lokal na direktoryo at mag-navigate dito:



$ cd 'C:\Go \R imbakan1'





Hakbang 2: Gumawa ng Bagong File

Bumuo ng bagong file sa kasalukuyang repositoryo sa tulong ng ibinigay na utos sa ibaba:

$ hawakan demo_file.txt



Hakbang 3: Subaybayan ang Bagong File

Pagkatapos, gamitin ang ' git add ” utos upang magdagdag ng isang bagong file sa lugar ng pagtatanghal:

$ git add demo_file.txt

Hakbang 4: Magsagawa ng Mga Pagbabago

Susunod, isagawa ang sumusunod na command upang i-commit ang file mula sa staging area:

$ git commit -m 'Idinagdag ang demo file'

Hakbang 5: I-update ang Bagong File

Pagkatapos nito, magdagdag ng ilang nilalaman sa bagong file at i-update ito sa tulong ng ' echo ” utos:

$ echo 'Hi! Demo Content' >> demo_file.txt

Hakbang 6: Magdagdag ng Mga Bagong Pagbabago sa Staging Area

Pagkatapos, patakbuhin ang ' git add . ” utos upang isagawa ang lahat ng idinagdag na pagbabago:

$ git add .

Hakbang 7: Magsagawa ng Mga Bagong Pagbabago

Isagawa ang mga itinanghal na pagbabago sa pamamagitan ng pagsasagawa ng utos na ibinigay sa ibaba kasama ng mensahe:

$ git commit -m 'Na-update ang File'

Hakbang 8: Suriin ang Git Log

Upang tingnan ang kasaysayan ng commit, suriin ang Git log gamit ang utos na ibinigay sa ibaba:

$ git log --online

Ayon sa output sa ibaba, mayroong dalawang commit, at ang HEAD ay tumuturo sa ' Na-update ang File ” mangako:

Ngayon, ipagpalagay na ang huling commit ay nagawa nang hindi sinasadya, at kailangan nating i-undo ang mga pagbabago. Sa sitwasyong ito, gamitin ang revert operation gaya ng sumusunod.

Hakbang 9: Ibalik ang Mga Pagbabago

Patakbuhin ang ' git revert ” utos kasama ang HEAD para i-undo ang mga pagbabago sa commit na iyon:

$ git revert ULO

Sa screenshot sa ibaba, makikita mong matagumpay na naisagawa ang revert operation:

Hakbang 10: I-verify ang Revert Changes

Panghuli, suriin ang kasaysayan ng log ng sanggunian ng Git upang tingnan ang mga bagong pagbabago sa kasaysayan ng commit:

$ git log --online

Mapapansin na ang ' Na-update ang File ” commit ay nasa kasaysayan pa rin ng proyekto kahit na matapos ang revert operation. Kaya, sa halip na alisin ito, ang partikular na utos na ito ay nagdagdag ng isang bagong pangako upang ibalik ang mga pagbabago nito:

Paano Lumipat ng Sangay sa pamamagitan ng Paggamit ng 'git checkout' Command?

Upang mag-checkout mula sa isang lokal na sangay patungo sa isa pang nais na sangay, suriin muna ang lahat ng magagamit na mga sangay sa imbakan. Pagkatapos, patakbuhin ang ' git checkout ” utos kasama ang gustong pangalan ng sangay kung saan kailangang lumipat ang mga developer.

Hakbang 1: Suriin ang Listahan ng mga Sangay

Tingnan ang listahan ng mga sangay sa kasalukuyang repositoryo sa tulong ng “ git branch ” utos:

$ git branch

Sa ibabang output, makikita na mayroong dalawang sangay na naroroon sa imbakan, at ang ' master ” ay ang kasalukuyang nagtatrabahong sangay:

Hakbang 2: Mag-checkout sa Ibang Sangay

Ngayon, patakbuhin ang ' git checkout ” utos kasama ang nais na pangalan ng sangay at lumipat dito:

$ git checkout dev

Hakbang 3: I-verify ang Kasalukuyang Sangay

Upang matiyak kung matagumpay na naisagawa o hindi ang pagpapatakbo ng pag-checkout, tingnan ang listahan ng mga sangay:

$ git branch

Makikita na matagumpay kaming nag-checkout mula sa ' master ” sangay sa “ dev ” sangay. Ngayon, ' dev ” ay ang kasalukuyang nagtatrabahong sangay:

Paano I-untrack ang Mga Pagbabago sa pamamagitan ng Paggamit Utos ng 'git reset'?

Upang i-unstage ang mga pagbabago, suriin muna ang kasaysayan ng log ng reference ng Git ng kasalukuyang repositoryo. Pagkatapos, isagawa ang ' git reset ” utos na ilipat ang branch pointer.

Hakbang 1: Suriin ang Git Log

Tingnan ang kasaysayan ng commit at tingnan kung saan nakaturo ang HEAD sa pamamagitan ng paggamit ng “ git log ” utos:

$ git log --online

Mapapansin na ang HEAD ay tumuturo sa ' Na-update ang File ” mangako:

Hakbang 2: I-reset ang Mga Pagbabago

Upang alisin ang commit mula sa lokal na direktoryo ng pagtatrabaho ng Git, isagawa ang ' git reset ” utos kasama ang “– mahirap ” na opsyon, at tukuyin ang gustong posisyon ng HEAD kung saan kinakailangan upang ilipat ang pointer:

$ git reset --mahirap ULO~ isa

Ang ibinigay na output ay nagpapahiwatig na ang operasyon ng pag-reset ay matagumpay na naisagawa:

Hakbang 3: I-verify ang I-reset ang Mga Pagbabago

Panghuli, tingnan ang mga bagong pagbabago sa kasaysayan ng commit sa pamamagitan ng pagsuri sa Git log sa pamamagitan ng command na ibinigay sa ibaba:

$ git log --online

Tulad ng nakikita mo na ang ' Na-update ang File Ang 'commit ay tinanggal mula sa commit history at ang HEAD ay tumuturo na ngayon sa ' Idinagdag ang demo file ” mangako:

Ipinaliwanag namin ang pagkakaiba sa pagitan ng ' git revert ”, “ git checkout 'at' git reset ” utos.

Konklusyon

git revert Ang command na ” ay ginagamit upang i-undo ang mga pagbabago sa pamamagitan ng paglikha ng isang bagong repositoryong commit mula sa isang nakaraang commit at pagdaragdag ng bagong kasaysayan sa repositoryo. “ git checkou t” command ay ginagamit para sa paglipat ng mga sangay sa repositoryo at nagbibigay-daan sa mga developer na magtrabaho sa iba't ibang sangay nang hindi kinakailangang direktang gumawa ng mga pagbabago sa repositoryo. Sa kabilang banda, ang ' git reset Ang utos ng ” ay ginagamit sa mga hindi naka-stage na pagbabago mula sa lugar ng pagsubaybay. Pinag-iba ng artikulong ito ang mga command na 'git reset', 'git revert' at 'git checkout' at kung paano gumagana ang mga ito.