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 dnevnikV 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 spletuSpodaj 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 gitVidi 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 spletuTukaj 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 gitOpazimo 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 spletuSpodnji 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 gitVidi 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:
$ lsKot 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.