Šiame straipsnyje trumpai paaiškinamas skirtumas tarp git reset – hard, –soft ir –mixed.
Kuo skiriasi git reset – mišrus, – minkštas ir – kietas?
„Git“ siūlo kelias atkūrimo parinktis. Atsižvelgiant į tai, kaip jie tvarko įsipareigojimus, visos galimos parinktys skiriasi viena nuo kitos. Jie visi modifikuoja Git istoriją ir perkelia HEAD atgal. Be to, jie skirtingai tvarko pakeitimus, pavyzdžiui:
- „ – minkštas “ parinktis naudojama kartu su „ $ git atstatyti “ komandą, kad išsaugotumėte failus ir grąžintumėte įsipareigojimo pakeitimus į Git sustojimo indeksą.
- “ $ git reset – mišrus “ naudojamas norint anuliuoti pakeitimus ir pašalinti failą iš sustojimo indekso, neištrinant jo iš darbo katalogo.
- „ -sunku “ parinktis su „ $ git atstatyti ” komanda naudojama visiems pakeitimams ištrinti ir pašalinti iš vietinio darbo katalogo.
Paimkime pavyzdį, kad pamatytume, kaip „ $ git atstatyti “ komanda veikia su skirtingomis parinktimis!
1 veiksmas: eikite į pageidaujamą „Git“ saugyklą
Pirmiausia pereikite į norimą „Git“ saugyklą naudodami „ cd “ komanda:
$ cd 'C:\Eik \t is_repo'
2 veiksmas: sukurkite failą
Dabar vykdykite toliau pateiktą komandą, kad sukurtumėte failą:
$ liesti Failas4.txt
3 veiksmas: pridėkite failą prie sustojimo indekso
Naudoti ' git pridėti “ komanda, kad pridėtumėte naujai sugeneruotą failą į sustojimo indeksą:
$ git pridėti Failas4.txt
4 veiksmas: atlikite pakeitimus
Tada pridėkite visus pakeitimus prie veikiančios saugyklos vykdydami „ git commit “ komanda:
$ git commit -m „4 failas pridėtas“
5 veiksmas: patikrinkite „Git Log“.
Tada patikrinkite „Git“ žurnalo istoriją, kad peržiūrėtumėte naujausius pridėtus įsipareigojimus:
$ git žurnalasŽemiau esančiame išvestyje matoma, kad rodomi visi paskutiniai pridėti įsipareigojimai, o „ GALVA “ nurodo į neseniai įvykdytą įsipareigojimą:
Pastaba: Norėdami geriau patikrinti dabartinę HEAD nukreipimo padėtį, vykdykite „ git žurnalas “ komanda kartu su „ -viena linija “ vėliava:
$ git žurnalas --prisijungęsŽemiau pateiktoje išvestyje rodomas įvykdymo SHA maišos sąrašas su patvirtinimo pranešimais:
6 veiksmas: naudokite git reset – soft Command
Norėdami grąžinti pridėtus pakeitimus iš „Git“ saugyklos į sustojimo indeksą, naudokite „ git atstatyti “ komanda kartu su „– minkštas “ parinktį ir nurodykite norimą HEAD padėtį, kur reikia perkelti žymeklį:
$ git atstatyti -- minkštas GALVA~ 1
7 veiksmas: patikrinkite „Git“ būseną
Dabar patikrinkite HEAD grįžtamąją padėtį ir patikrinkite Git saugyklos būseną:
$ git statusasGalima pastebėti, kad „ git reset – minkštas ” komanda grąžino įsipareigojimo pakeitimus į Git sustojimo indeksą. Be to, „ Failas4.txt “ failas dabar yra „Git“ sustojimo indekse ir turi būti patvirtintas:
8 veiksmas: patikrinkite „Git Log“.
Norėdami peržiūrėti dabartinę HEAD padėtį, paleiskite nurodytą komandą kartu su ' -viena linija “ variantas:
$ git žurnalas --prisijungęsČia GALVA rodo į „ Failas3 “ įsipareigoti:
9 veiksmas: naudokite git reset – mišrią komandą
Norėdami anuliuoti atliktus pakeitimus ir pašalinti failus iš sustojimo srities, neištrindami jų iš darbo katalogo, paleiskite „ $ git reset – mišrus ” komandą kartu su reikiama įsipareigojimo HEAD padėtimi:
$ git atstatyti --mišrus GALVA~ 1
10 veiksmas: patikrinkite „Git“ būseną
Peržiūrėkite naujai pridėtus pakeitimus patikrinę „Git“ saugyklos būseną:
$ git statusasGalima pastebėti, kad nurodyti įsipareigojimų pakeitimai pašalinami iš sustojimo srities. Tačiau jie yra darbo zonoje:
11 veiksmas: patikrinkite „Git Log“.
Patikrinkite „Git“ saugyklos nuorodų žurnalo istoriją kartu su SHA maiša:
$ git žurnalas --prisijungęs
12 veiksmas: naudokite git reset – kietąją komandą
Norėdami pašalinti pridėtus pakeitimus iš Git vietinio darbo katalogo, paleiskite „ $ git atstatyti – sunku “ komanda:
$ git atstatyti --sunku GALVA~ 1
13 veiksmas: patikrinkite grąžintą HEAD rodyklę
Norėdami patikrinti HEAD žymeklį, grįžkite į nurodytą padėtį, paleiskite „ git žurnalas “ komanda:
$ git žurnalas --prisijungęsŽemiau esanti išvestis rodo, kad HEAD nurodo „ 1 failas pridėtas “ įsipareigoti:
14 veiksmas: patikrinkite „Git“ būseną
Norėdami peržiūrėti pridėtus pakeitimus, patikrinkite „Git“ būseną:
$ git statusasMatyti, kad mes neturime jokio takelio ir laukiančių pakeitimų Failas2.txt “ failą. Todėl failas File2.txt buvo visiškai pašalintas:
15 veiksmas: patikrinkite saugyklos turinio sąrašą
Norėdami patikrinti saugyklos turinio sąrašą, paleiskite „ ls “ komanda:
$ lsKaip matote, „ Failas2.txt “ failo dabartiniame kataloge nėra:
Mes paaiškinome skirtumą tarp git reset – mišrių, minkštųjų ir kietųjų parinkčių.
Išvada
„ git atstatyti ” komanda naudojama pakeitimams iš naujo nustatyti, Git saugyklos istorijai modifikuoti ir klaidoms taisyti. „ git reset – minkštas ” komanda išsaugo failus ir grąžina įpareigojimo pakeitimus į „Git“ sustojimo sritį. Priešingai, „ git reset – mišrus ” komanda anuliuoti įvykdymo pakeitimus ir pašalinti failą iš sustojimo indekso neištrindami jo iš darbo katalogo. Norėdami ištrinti visus pakeitimus ir pašalinti juos iš „Git“ darbo srities, „ git reset – sunku “ gali būti naudojama komanda. Šis straipsnis iliustruoja skirtumą tarp git reset – mišri, – minkšta ir – kieta.