Tämä artikkeli selittää lyhyesti eron git reset -hard, -soft ja -mixed välillä.
Mitä eroa on git resetin -mixed, -soft ja -hard välillä?
Git tarjoaa useita nollausvaihtoehtoja. Sen mukaan, miten he käsittelevät sitoumuksia, kaikki käytettävissä olevat vaihtoehdot eroavat toisistaan. Ne kaikki muokkaavat Git-historiaa ja siirtävät PÄÄN taaksepäin. Lisäksi ne käsittelevät muutoksia eri tavalla, kuten:
- ' -pehmeä ' -vaihtoehtoa käytetään '' $ git reset ” -komento säilyttää tiedostot ja palauttaa toimitusmuutokset Git-vaiheindeksiin.
- ' $ git reset – sekoitettu ”-komentoa käytetään perumaan vahvistusmuutokset ja poistamaan tiedoston esityshakemistosta poistamatta sitä työhakemistosta.
- ' – kovaa ' vaihtoehto ' $ git reset ” -komentoa käytetään poistamaan kaikki muutokset ja poistamaan ne paikallisesta työhakemistosta.
Otetaan esimerkki nähdäksesi kuinka ' $ git reset ” komento toimii eri vaihtoehdoilla!
Vaihe 1: Siirry haluttuun Git-varastoon
Siirry ensin haluamaasi Git-tietovarastoon käyttämällä ' CD 'komento:
$ CD 'C:\Mene \t on_repo'
Vaihe 2: Luo tiedosto
Luo nyt tiedosto suorittamalla alla annettu komento:
$ kosketus Tiedosto4.txt
Vaihe 3: Lisää tiedosto vaihehakemistoon
Käytä ' git add ”-komento lisätäksesi juuri luodun tiedoston esityshakemistoon:
$ git add Tiedosto4.txt
Vaihe 4: Tee muutokset
Lisää seuraavaksi kaikki muutokset toimivaan arkistoon suorittamalla ' git commit 'komento:
$ git commit -m 'Tiedosto4 lisätty'
Vaihe 5: Tarkista Git Log
Tarkista sitten Git-lokihistoria nähdäksesi viimeisimmät lisätyt sitoumukset:
$ git lokiAlla olevassa tulosteessa näkyy, että kaikki viimeisimmät lisätyt toimet näkyvät ja ' PÄÄ ” osoittaa viimeaikaiseen sitoumukseen:
Huomautus: Tarkistaaksesi PÄÄN nykyisen osoitinasennon paremmin, suorita ' git loki '-komento yhdessä ' -yksi linja 'lippu:
$ git loki -- verkossaAlla olevassa lähdössä näkyy luettelo commit SHA -tiivisteistä toimitusviesteineen:
Vaihe 6: Käytä git reset -soft-komentoa
Jos haluat palauttaa lisätyt muutokset Git-arkistosta vaiheistusindeksiin, käytä ' git reset '-komento yhdessä '- pehmeä ” -vaihtoehto ja määritä haluamasi HEAD-asento, jossa osoitinta on siirrettävä:
$ git reset --pehmeä PÄÄ~ 1
Vaihe 7: Tarkista Gitin tila
Tarkista nyt HEADin palautuva sijainti ja tarkista Git-arkiston tila:
$ git-tilaVoidaan nähdä, että ' git reset – pehmeä ” -komento on palauttanut commit-muutokset Git-vaiheindeksiin. Lisäksi ' Tiedosto4.txt '-tiedosto on nyt Git-vaihehakemistossa ja se on sitova:
Vaihe 8: Tarkista Git Log
Nähdäksesi HEADin nykyisen sijainnin, suorita annettu komento yhdessä ' -yksi linja ”vaihtoehto:
$ git loki -- verkossaTässä PÄÄ osoittaa ' Tiedosto3 ' tehdä:
Vaihe 9: Käytä git reset -yhdistelmäkomentoa
Jos haluat kumota tehdyt muutokset ja poistaa tiedostot esitysalueelta poistamatta niitä työhakemistosta, suorita ' $ git reset – sekoitettu ”-komento ja sitoumuksen vaadittu HEAD-sijainti:
$ git reset -- sekoitettu PÄÄ~ 1
Vaihe 10: Tarkista Gitin tila
Katso äskettäin lisätyt muutokset tarkistamalla Git-arkiston tila:
$ git-tilaVoidaan havaita, että määritetyt sitoumusmuutokset poistetaan esitysalueelta. Ne on kuitenkin sijoitettu työalueelle:
Vaihe 11: Tarkista Git Log
Tarkista Git-arkiston viitelokihistoria sekä SHA-hajautus:
$ git loki -- verkossa
Vaihe 12: Käytä git reset - hard Command -komentoa
Jos haluat poistaa lisätyt muutokset Gitin paikallisesta työhakemistosta, suorita ' $ git reset – vaikea 'komento:
$ git reset -- kovaa PÄÄ~ 1
Vaihe 13: Tarkista palautettu HEAD-osoitin
Tarkista HEAD-osoitin palaamalla määritettyyn asentoon ja suorittamalla ' git loki 'komento:
$ git loki -- verkossaAlla oleva tuloste näyttää, että PÄÄ osoittaa ' Tiedosto1 lisätty ' tehdä:
Vaihe 14: Tarkista Gitin tila
Jos haluat nähdä lisätyt muutokset, tarkista Git-tila:
$ git-tilaVoidaan nähdä, että meillä ei ole yhtään kappaletta ja vireillä olevia muutoksia Tiedosto2.txt ” tiedosto. Siksi File2.txt on poistettu kokonaan:
Vaihe 15: Tarkista arkiston sisältöluettelo
Vahvista arkiston sisältöluettelo suorittamalla ' ls 'komento:
$ lsKuten näette, ' Tiedosto2.txt 'tiedostoa ei ole nykyisessä hakemistossa:
Olemme selittäneet eron git reset -mixed-, -soft- ja -hard -vaihtoehtojen välillä.
Johtopäätös
' git reset ” -komentoa käytetään muutosten nollaamiseen, Git-tietovaraston historian muokkaamiseen ja virheiden korjaamiseen. ' git reset – pehmeä ” -komento säilyttää tiedostot ja palauttaa toimitusmuutokset Git-vaihealueelle. Sitä vastoin ' git reset – sekoitettu ” -komennolla kumoa tehdyt muutokset ja poista tiedosto esityshakemistosta poistamatta sitä työhakemistosta. Jos haluat poistaa kaikki muutokset ja poistaa ne Git-työalueelta, ' git reset – vaikea ”-komentoa voidaan käyttää. Tämä artikkeli havainnollistaa eroa git reset -mixed, -soft ja -hard välillä.