Mis vahe on Git Revert, Checkout ja Reset vahel?

Mis Vahe On Git Revert Checkout Ja Reset Vahel



Giti kasutatakse lähtekoodifailide muudatuste jälgimiseks ja mitme arendaja vahelise töö koordineerimiseks. See võimaldab arendajatel naasta eelmistesse olekutesse ja isegi tagasi võtta kohustused või hoidlas tehtud muudatused. ' git tagasi pöörduma ”, „ git kassasse ” ja „ git lähtestamine ” on kolm kõige kasulikumat Giti käsku, mida Git-projekti kallal töötamise ajal teada saada.

Selle artikli tulemused on järgmised:

Kas eristada käske „git reset”, „git revert” ja „git checkout”?

git tagasi ”, „ saada kassasse ”, ja „ git lähtestamine ” käsud on viisid, kuidas teha lähtekoodi muudatusi ja seejärel need tagasi võtta, kui kasutajale ei meeldi, kuidas need välja tulid. Nende käskude erinevus seisneb nende funktsionaalsuses ja kasutuses, näiteks:







  • git tagasi ” käsku kasutatakse muudatuste tagasivõtmiseks, luues eelmisest kinnistusest uue hoidla sisseviimise ja lisades hoidlasse uue ajaloo.
  • saada kassasse ” käsku kasutatakse ühelt harult teisele lülitumiseks ja tööpuufailide taastamiseks etapialast.
  • git lähtestamine ” käsk Untrack muudatused etapiindeksist. See eemaldab failid lavastusalast, et neid saaks hiljem vajadusel uuesti siduda.

Kuidas kohustusi tagasi võtta, kasutades käsku 'git revert'?

Sissekohustuste tagasivõtmiseks minge esmalt soovitud Giti hoidlasse ja looge fail. Seejärel jälgige faili ja tehke muudatused. Pärast seda lisage uude faili sisu, etappi ja tehke uued muudatused. Lõpuks käivitage ' git tagasi ” käsk ja kontrolli muudatuste ennistamist.



1. samm: liikuge Giti kataloogi

Käivitage ' cd ” käsk koos konkreetse kohaliku kataloogi teega ja navigeerige sellele:



$ cd 'C:\Mine \R hoidla1'





2. samm: looge uus fail

Looge praeguses hoidlas uus fail alloleva käsu abil:

$ puudutada demo_fail.txt



3. samm: jälgige uut faili

Seejärel kasutage ' git lisada ” käsk uue faili lisamiseks lavastusalale:

$ git lisada demo_fail.txt

4. samm: tehke muudatused

Järgmisena käivitage järgmine käsk, et sisestada fail lavastusalast:

$ git commit -m 'Demofail on lisatud'

5. samm: värskendage uut faili

Pärast seda lisage uude faili sisu ja värskendage seda ' kaja 'käsk:

$ kaja 'Tere! Demo sisu' >> demo_fail.txt

6. samm: lisage peatamisalale uued muudatused

Seejärel käivitage ' git add . ” käsk kõigi lisatud muudatuste tegemiseks:

$ git lisada .

7. samm: tehke uued muudatused

Tehke etapiviisilised muudatused, täites koos sõnumiga alloleva käsu:

$ git commit -m 'Fail värskendatud'

8. samm: kontrollige Giti logi

Kinnitusajaloo vaatamiseks kontrollige Giti logi, kasutades allolevat käsku:

$ git logi -- võrgus

Vastavalt allolevale väljundile on kaks kinnistamist ja HEAD osutab ' Fail värskendatud ” pühenduma:

Oletame nüüd, et viimane sisseviimine tehti kogemata ja me peame muudatused tagasi võtma. Sellises olukorras kasutage tagasipööramistoimingut järgmiselt.

9. samm: ennista muudatused

Käivitage ' git tagasi ” käsk koos käsku HEAD, et tühistada selle kohustuse muudatused:

$ git tagasi PEA

Alloleval ekraanipildil näete, et ennistamistoiming on edukalt sooritatud:

10. toiming: kontrollige muudatuste taastamist

Lõpuks kontrollige Giti viitelogi ajalugu, et näha uusi muudatusi sissekandmise ajaloos:

$ git logi -- võrgus

Võib täheldada, et ' Fail värskendatud ” commit on endiselt projekti ajaloos ka pärast tagasipööramist. Nii et selle eemaldamise asemel lisas see konkreetne käsk muudatuste tagasivõtmiseks uue kohustuse:

Kuidas filiaali vahetada, kasutades käsku „git checkout”?

Ühest kohalikust filiaalist teise soovitud kontorisse kassasse minemiseks kontrollige esmalt kõiki hoidlas olevaid saadaolevaid filiaale. Seejärel käivitage ' saada kassasse ” käsk koos soovitud haru nimega, kus arendajad peavad ümber lülituma.

1. samm: kontrollige filiaalide loendit

Vaadake praeguse hoidla filiaalide loendit käsuga ' git filiaal 'käsk:

$ git filiaal

Allolevas väljundis on näha, et hoidlas on kaks haru ja ' meister ” on praegune tööharu:

2. toiming: makske kassasse teises filiaalis

Nüüd käivitage ' saada kassasse ” käsk koos soovitud haru nimega ja lülituge sellele:

$ saada kassasse dev

3. samm: kontrollige praegust filiaali

Kontrollimaks, kas kassatoimingu sooritamine õnnestus või mitte, vaadake filiaalide loendit:

$ git filiaal

On näha, et oleme edukalt kassast teinud meister ' hargneb ' dev ” haru. Nüüd, ' dev ” on praegune tööharu:

Kuidas muudatusi kasutades ära hoida 'git reset' käsk?

Muudatuste etapi tühistamiseks kontrollige esmalt praeguse hoidla Giti viitelogi ajalugu. Seejärel käivitage ' git lähtestamine ” käsk harukursori liigutamiseks.

1. toiming: kontrollige Giti logi

Vaadake kohustuste ajalugu ja kontrollige, kuhu HEAD osutab, kasutades nuppu ' git logi 'käsk:

$ git logi -- võrgus

Võib täheldada, et HEAD osutab ' Fail värskendatud ” pühenduma:

2. samm: lähtestage muudatused

Kinnituse eemaldamiseks Giti kohalikust töökataloogist käivitage ' git lähtestamine ” käsk koos käsuga „– raske ” ja määrake soovitud HEAD asend, kuhu kursori liigutamiseks on vaja:

$ git lähtestamine -- raske PEA ~ üks

Antud väljund tähendab, et lähtestamistoiming on edukalt sooritatud:

3. samm: kontrollige lähtestamise muudatusi

Lõpuks vaadake uusi muudatusi sissekandmise ajaloos, kontrollides Giti logi alloleva käsu kaudu:

$ git logi -- võrgus

Nagu näete, et ' Fail värskendatud ' täitmine on täitmisajaloost eemaldatud ja HEAD osutab nüüd ' Demofail lisatud ” pühenduma:

Oleme selgitanud erinevust ' git tagasi ”, „ saada kassasse ” ja „ git lähtestamine ” käsutab.

Järeldus

git tagasi ” käsku kasutatakse muudatuste tagasivõtmiseks, luues eelmisest kinnistusest uue hoidla sisseviimise ja lisades hoidlasse uue ajaloo. “ võta kassasse t” käsku kasutatakse hoidlas asuvate harude vahetamiseks ja see võimaldab arendajatel töötada erinevate harudega, ilma et nad peaksid otse hoidlas muudatusi tegema. Teisest küljest ' git lähtestamine ” käsku kasutatakse jälgimisalast lavastatud muudatuste tegemiseks. See artikkel eristab käske „git reset”, „git revert” ja „git checkout” ning nende toimimist.