Ovaj će članak ukratko objasniti razliku između git reset –hard, –soft i –mixed.
Koja je razlika između git reset –mixed, –soft i –hard?
Git nudi višestruke mogućnosti resetiranja. Na temelju načina na koji postupaju s obvezama, sve dostupne opcije razlikuju se jedna od druge. Svi modificiraju Git povijest i pomiču GLAVU natrag. Štoviše, različito postupaju s promjenama, kao što su:
- ' – mekan ' opcija koja se koristi s ' $ git reset ” naredba za zadržavanje datoteka i vraćanje promjena izvršenja u Git staging indeks.
- “ $ git reset – miješano ” koristi se za poništavanje promjena predaje i uklanjanje datoteke iz indeksa prikazivanja bez brisanja iz radnog direktorija.
- ' – teško ' opcija s ' $ git reset ” Naredba se koristi za brisanje svih promjena i njihovo uklanjanje iz lokalnog radnog direktorija.
Uzmimo primjer da vidimo kako ' $ git reset ” naredba radi s različitim opcijama!
Korak 1: Idite na željeno Git spremište
Najprije prijeđite na željeno Git spremište koristeći ' CD ” naredba:
$ CD 'C:\Idi \t is_repo'
Korak 2: Izradite datoteku
Sada izvršite donju naredbu za stvaranje datoteke:
$ dodir Datoteka4.txt
Korak 3: Dodajte datoteku u Indeks prikazivanja
Koristiti ' git dodati ” za dodavanje novogenerirane datoteke u probni indeks:
$ git dodati Datoteka4.txt
Korak 4: Utvrdite promjene
Zatim dodajte sve promjene u radni repozitorij izvršavanjem ' git počiniti ” naredba:
$ git počiniti -m 'Datoteka4 dodana'
Korak 5: Provjerite Git Log
Zatim provjerite povijest dnevnika Git da vidite najnovije dodane obveze:
$ git dnevnikU ispisu ispod, može se vidjeti da su prikazana sva najnovija dodana predavanja, a ' GLAVA ” pokazuje na nedavno izvršenje:
Bilješka: Za provjeru trenutnog položaja GLAVE na bolji način, izvršite ' git dnevnik ' zajedno s ' -jedna linija ” zastava:
$ git dnevnik --na linijiIspod navedenog izlaza prikazan je popis SHA raspršivanja predaje s porukama predaje:
Korak 6: Koristite naredbu git reset –soft
Da biste vratili dodane promjene iz Git repozitorija u probni indeks, upotrijebite ' git resetirati ” naredba zajedno s „– mekan ” i navedite željenu poziciju GLAVE gdje je potrebno pomaknuti pokazivač:
$ git resetirati -- mekan GLAVA~ 1
Korak 7: Provjerite Git status
Sada provjerite položaj vraćanja GLAVE provjerite status Git repozitorija:
$ git statusMože se vidjeti da je „ git reset –soft ” naredba je vratila promjene predaje u Git staging indeks. Štoviše, ' Datoteka4.txt ” datoteka je sada u Git staging indeksu i treba je predati:
Korak 8: Provjerite Git Log
Za pregled trenutne pozicije HEAD, pokrenite datu naredbu zajedno s ' -jedna linija ” opcija:
$ git dnevnik --na linijiOvdje GLAVA pokazuje na ' Datoteka3 ' počiniti:
Korak 9: Koristite git reset — miješana naredba
Za poništavanje izvršenih promjena i uklanjanje datoteka iz pripremnog područja bez brisanja iz radnog direktorija, izvršite ' $ git reset – miješano ” naredba zajedno sa traženom HEAD pozicijom urezivanja:
$ git resetirati --mješoviti GLAVA~ 1
Korak 10: Provjerite Git status
Pregledajte novo dodane promjene provjerom statusa Git repozitorija:
$ git statusMože se uočiti da su specificirane promjene predaje uklonjene iz scenskog područja. Međutim, oni su smješteni u radnom području:
Korak 11: Provjerite Git Log
Provjerite referentnu povijest dnevnika Git repozitorija zajedno sa SHA hashom:
$ git dnevnik --na liniji
Korak 12: Koristite git reset — hard naredbu
Za uklanjanje dodanih promjena iz Git lokalnog radnog direktorija, izvršite ' $ git reset – teško ” naredba:
$ git resetirati --teško GLAVA~ 1
Korak 13: Provjerite vraćeni HEAD pokazivač
Za provjeru pokazivača HEAD, vratite se na navedeni položaj, pokrenite ' git dnevnik ” naredba:
$ git dnevnik --na linijiDonji rezultat pokazuje da GLAVA pokazuje na ' Datoteka1 dodana ' počiniti:
Korak 14: Provjerite Git status
Za pregled dodanih promjena provjerite Git status:
$ git statusMože se vidjeti da nemamo tragova i promjena na čekanju za ' Datoteka2.txt ' datoteka. Stoga je File2.txt potpuno uklonjen:
Korak 15: Provjerite popis sadržaja repozitorija
Za provjeru popisa sadržaja repozitorija pokrenite ' ls ” naredba:
$ lsKao što vidite, ' Datoteka2.txt ” datoteka ne postoji u trenutnom direktoriju:
Objasnili smo razliku između opcija git reset –mixed, –soft i –hard.
Zaključak
' git resetirati ” Naredba se koristi za resetiranje promjena, modificiranje povijesti Git repozitorija i ispravljanje grešaka. ' git reset –soft ” naredba čuva datoteke i vraća promjene uvrštenja u Git staging područje. Nasuprot tome, ' git reset – miješano ” naredba poništava promjene predaje i uklanja datoteku iz probnog indeksa bez brisanja iz radnog direktorija. Da biste izbrisali sve promjene i uklonili ih iz radnog područja Git, ' git reset – teško ” može se koristiti naredba. Ovaj je članak ilustrirao razliku između git reset –mixed, –soft i –hard.