Šajā rakstā īsumā tiks izskaidrota atšķirība starp git reset – hard, –soft un –mixed.
Kāda ir atšķirība starp git atiestatīšanu – jauktu, mīksto un cieto?
Git nodrošina vairākas atiestatīšanas iespējas. Pamatojoties uz to, kā viņi apstrādā saistības, visas pieejamās iespējas atšķiras viena no otras. Viņi visi maina Git vēsturi un pārvieto HEAD atpakaļ. Turklāt viņi atšķirīgi apstrādā izmaiņas, piemēram:
- ' -mīksts ' opcija tiek izmantota kopā ar ' $ git atiestatīšana ” komandu, lai saglabātu failus un atgrieztu Git stadijas indeksā veiktās izmaiņas.
- ' $ git reset – jaukts ” tiek izmantots, lai atsauktu izmaiņas un noņemtu failu no pakāpju indeksa, neizdzēšot to no darba direktorija.
- ' – grūti ' opciju ar ' $ git atiestatīšana ” komanda tiek izmantota, lai izdzēstu visas izmaiņas un noņemtu tās no vietējā darba direktorija.
Ņemsim piemēru, lai redzētu, kā “ $ git atiestatīšana ” komanda darbojas ar dažādām opcijām!
1. darbība: dodieties uz vēlamo Git krātuvi
Vispirms pārejiet uz vēlamo Git repozitoriju, izmantojot “ cd ” komanda:
$ cd 'C:\Iet \t ir_repo'
2. darbība: izveidojiet failu
Tagad izpildiet tālāk norādīto komandu, lai izveidotu failu:
$ pieskarties Fails4.txt
3. darbība: pievienojiet failu pieturas rādītājam
Izmantojiet ' git pievienot ” komandu, lai pievienotu jaunizveidoto failu inscenēšanas indeksam:
$ git pievienot Fails4.txt
4. darbība: veiciet izmaiņas
Pēc tam pievienojiet visas izmaiņas darba repozitorijā, izpildot “ git commit ” komanda:
$ git commit -m 'Fails4 pievienots'
5. darbība: pārbaudiet Git žurnālu
Pēc tam pārbaudiet Git žurnāla vēsturi, lai skatītu jaunākās pievienotās saistības:
$ git žurnālsZemāk esošajā izvadā var redzēt, ka tiek parādītas visas jaunākās pievienotās saistības, un “ GALVA ” norāda uz neseno apņemšanos:
Piezīme: Lai labāk pārbaudītu HEAD pašreizējo norādes pozīciju, izpildiet ' git žurnāls ' komanda kopā ar ' – vienlīnija ” karogs:
$ git žurnāls -- tiešsaistēZem dotās izvades tiek parādīts commit SHA hash saraksts ar commit ziņojumiem:
6. darbība: izmantojiet git reset — soft Command
Lai atjaunotu pievienotās izmaiņas no Git repozitorija uz pieturas indeksu, izmantojiet “ git atiestatīšana ” komandu kopā ar “– mīksts ” opciju un norādiet vēlamo HEAD pozīciju, kur jāpārvieto rādītājs:
$ git atiestatīšana --mīksts GALVA~ 1
7. darbība: pārbaudiet Git statusu
Tagad pārbaudiet HEAD atgriešanās pozīciju un pārbaudiet Git repozitorija statusu:
$ git statussVar redzēt, ka ' git reset – soft ” komanda ir atgriezusi Git stadijas indeksā veiktās izmaiņas. Turklāt ' Fails4.txt ” fails tagad atrodas Git stadijas rādītājā, un tas ir nepieciešams:
8. darbība: pārbaudiet Git žurnālu
Lai skatītu pašreizējo HEAD pozīciju, palaidiet doto komandu kopā ar ' – vienlīnija ” opcija:
$ git žurnāls -- tiešsaistēŠeit GALVA norāda uz ' Fails3 ” apņemties:
9. darbība. Izmantojiet git reset — jauktu komandu
Lai atsauktu veiktās izmaiņas un noņemtu failus no pieturvietas, neizdzēšot tos no darba direktorija, izpildiet ' $ git reset – jaukts ” komandu kopā ar nepieciešamo apņemšanās pozīciju HEAD:
$ git atiestatīšana -- jaukts GALVA~ 1
10. darbība: pārbaudiet Git statusu
Skatiet tikko pievienotās izmaiņas, pārbaudot Git repozitorija statusu:
$ git statussVar novērot, ka norādītās saistību izmaiņas tiek noņemtas no inscenēšanas zonas. Tomēr tie tiek novietoti darba zonā:
11. darbība: pārbaudiet Git žurnālu
Pārbaudiet Git repozitorija atsauces žurnāla vēsturi kopā ar SHA hash:
$ git žurnāls -- tiešsaistē
12. darbība. Izmantojiet git atiestatīšanu — cieto komandu
Lai noņemtu pievienotās izmaiņas no Git lokālā darba direktorija, izpildiet ' $ git atiestatīšana – grūti ” komanda:
$ git atiestatīšana -- grūti GALVA~ 1
13. darbība: pārbaudiet atgriezto HEAD rādītāju
Lai pārbaudītu HEAD rādītāju, atgriezieties norādītajā pozīcijā, palaidiet ' git žurnāls ” komanda:
$ git žurnāls -- tiešsaistēZemāk redzamā izvade parāda, ka HEAD norāda uz ' Fails 1 pievienots ” apņemties:
14. darbība: pārbaudiet Git statusu
Lai skatītu pievienotās izmaiņas, pārbaudiet Git statusu:
$ git statussVar redzēt, ka mums nav neviena ieraksta un gaidāmas izmaiņas Fails2.txt ” failu. Tāpēc fails File2.txt ir pilnībā noņemts:
15. darbība: pārbaudiet krātuves satura sarakstu
Lai pārbaudītu repozitorija satura sarakstu, palaidiet ' ls ” komanda:
$ lsKā redzat, ' Fails2.txt ” fails pašreizējā direktorijā neeksistē:
Mēs esam izskaidrojuši atšķirību starp git reset – jaukto, – soft un –hard opcijām.
Secinājums
' git atiestatīšana ” komanda tiek izmantota, lai atiestatītu izmaiņas, modificētu Git repozitorija vēsturi un labotu kļūdas. ' git reset – soft ” komanda saglabā failus un atgriež izpildes izmaiņas Git stadijas apgabalā. Turpretim “ git reset – jaukts ” komandu atsaukt apņemšanās izmaiņas un noņemt failu no inscenēšanas indeksa, neizdzēšot to no darba direktorija. Lai dzēstu visas izmaiņas un noņemtu tās no Git darba apgabala, “ git atiestatīšana — grūti ” var izmantot komandu. Šajā rakstā tika parādīta atšķirība starp git reset – jaukts, –soft un –hard.