Kakšna je razlika med git reset –mixed, –soft in –hard?

Kaksna Je Razlika Med Git Reset Mixed Soft In Hard



V Gitu je vsaka objava povezana s prejšnjo obvezo, GLAVA pa kaže na najnovejšo obvezo v delovni veji. Zgodovina potrditev je shranjena kot drevo potrditev. Vendar pa morajo razvijalci včasih spremeniti zgodovino objave. V ta namen je ' $ git ponastavi ” Ukaz se uporablja za spreminjanje zgodovine repozitorija Git in odpravljanje napak, ki so bile storjene.

Ta članek bo na kratko pojasnil razliko med git reset –hard, –soft in –mixed.

Kakšna je razlika med git reset –mixed, –soft in –hard?

Git ponuja več možnosti ponastavitve. Glede na to, kako obravnavajo potrditve, se vse razpoložljive možnosti med seboj razlikujejo. Vsi spremenijo zgodovino Git in premaknejo HEAD nazaj. Poleg tega različno obravnavajo spremembe, na primer:







  • ' -mehko ' možnost, uporabljena z ' $ git ponastavi ” za ohranitev datotek in vrnitev sprememb objave v uprizoritveni indeks Git.
  • $ git reset – mešano ” se uporablja za razveljavitev sprememb objave in odstranitev datoteke iz uprizoritvenega indeksa, ne da bi jo izbrisali iz delovnega imenika.
  • ' – težko ' možnost z ' $ git ponastavi ” se uporablja za brisanje vseh sprememb in njihovo odstranitev iz lokalnega delovnega imenika.

Vzemimo primer, da vidimo, kako ' $ git ponastavi ” ukaz deluje z različnimi možnostmi!



1. korak: Pojdite na želeno skladišče Git

Najprej se pomaknite do želenega Git repozitorija z uporabo ' cd ” ukaz:



$ cd 'C:\Pojdi \t is_repo'





2. korak: Ustvari datoteko

Zdaj izvedite spodnji ukaz, da ustvarite datoteko:

$ dotik File4.txt



3. korak: dodajte datoteko v uprizoritveni indeks

Uporabi ' git add ” za dodajanje novo ustvarjene datoteke v uprizoritveni indeks:

$ git add File4.txt

4. korak: potrdite spremembe

Nato dodajte vse spremembe v delovni repozitorij tako, da izvedete ' git commit ” ukaz:

$ git commit -m 'Datoteka4 dodana'

5. korak: Preverite Git Log

Nato preverite zgodovino dnevnika Git, da si ogledate zadnje dodane objave:

$ git dnevnik

V spodnjem izpisu je razvidno, da so prikazane vse zadnje dodane objave in ' GLAVA « kaže na nedavno objavo:

Opomba: Če želite na boljši način preveriti trenutni kazalni položaj GLAVE, izvedite ' git dnevnik ' skupaj z ' – ena linija ” zastava:

$ git dnevnik --na spletu

Spodaj podani izhod prikazuje seznam zgoščenih vrednosti SHA za potrditev s sporočili za potrditev:

6. korak: Uporabite ukaz git reset –soft

Če želite povrniti dodane spremembe iz repozitorija Git v uprizoritveni indeks, uporabite » git ponastavi « skupaj z ukazom »– mehko ” in določite želeni položaj GLAVE, kamor je potrebno premakniti kazalec:

$ git ponastavi --mehko GLAVA ~ 1

7. korak: Preverite status Git

Zdaj preverite povratni položaj GLAVE in preverite status repozitorija Git:

$ status git

Vidi se, da je ' git reset –mehko ” je vrnil spremembe potrditve v uprizoritveni indeks Git. Poleg tega je ' File4.txt ” je zdaj v uprizoritvenem indeksu Git in jo je treba potrditi:

8. korak: Preverite Git Log

Za ogled trenutnega položaja HEAD zaženite dani ukaz skupaj z “ – ena linija ” možnost:

$ git dnevnik --na spletu

Tukaj GLAVA kaže na ' Datoteka3 ” zaveži:

9. korak: Uporabite git reset — mešani ukaz

Če želite razveljaviti potrjene spremembe in odstraniti datoteke iz uprizoritvenega območja, ne da bi jih izbrisali iz delovnega imenika, izvedite » $ git reset – mešano ” skupaj z zahtevanim položajem HEAD objave:

$ git ponastavi --mešano GLAVA ~ 1

10. korak: Preverite status Git

Oglejte si na novo dodane spremembe tako, da preverite status repozitorija Git:

$ status git

Opazimo lahko, da so navedene spremembe potrditve odstranjene iz uprizoritvenega območja. Vendar pa so nameščeni v delovnem območju:

11. korak: Preverite Git Log

Preverite zgodovino referenčnega dnevnika repozitorija Git skupaj z zgoščeno vrednostjo SHA:

$ git dnevnik --na spletu

12. korak: Uporabite git reset — trdi ukaz

Če želite odstraniti dodane spremembe iz lokalnega delovnega imenika Git, izvedite » $ git reset – težko ” ukaz:

$ git ponastavi --težko GLAVA ~ 1

13. korak: Preverite vrnjeni kazalec HEAD

Če želite preveriti kazalec HEAD, se vrnite na določen položaj, zaženite » git dnevnik ” ukaz:

$ git dnevnik --na spletu

Spodnji rezultat kaže, da GLAVA kaže na ' Datoteka1 dodana ” zaveži:

14. korak: Preverite status Git

Za ogled dodanih sprememb preverite stanje Git:

$ status git

Vidi se, da nimamo nobene sledi in čakajočih sprememb ' File2.txt ' mapa. Zato je bil File2.txt popolnoma odstranjen:

15. korak: Preverite seznam vsebine repozitorija

Če želite preveriti seznam vsebine repozitorija, zaženite » ls ” ukaz:

$ ls

Kot lahko vidite, je ' File2.txt ” datoteka ne obstaja v trenutnem imeniku:

Razložili smo razliko med možnostmi git reset –mixed, –soft in –hard.

Zaključek

' git ponastavi ” Ukaz se uporablja za ponastavitev sprememb, spreminjanje zgodovine repozitorija Git in odpravljanje napak. ' git reset –mehko ” obdrži datoteke in vrne spremembe objave v uprizoritveno območje Git. Nasprotno, ' git reset – mešano ” razveljavi spremembe potrditve in odstrani datoteko iz uprizoritvenega indeksa, ne da bi jo izbrisal iz delovnega imenika. Če želite izbrisati vse spremembe in jih odstraniti iz delovnega območja Git, uporabite » git reset – težko ” lahko uporabite ukaz. Ta članek je ponazoril razliko med git reset –mixed, –soft in –hard.