Tento článek stručně vysvětlí rozdíl mezi git reset –hard, –soft a –mixed.
Jaký je rozdíl mezi resetem git – smíšeným, – měkkým a – tvrdým?
Git nabízí několik možností resetování. Na základě toho, jak zacházejí s odevzdáním, se všechny dostupné možnosti od sebe liší. Všichni upravují historii Git a přesouvají HEAD zpět. Kromě toho zvládají změny odlišně, jako například:
- ' -měkký “ možnost použitá s “ $ git reset ” ponechat soubory a vrátit změny odevzdání do indexu příprav Git.
- “ $ git reset – smíšené ” se používá ke zrušení změn odevzdání a odstranění souboru z pracovního indexu bez jeho odstranění z pracovního adresáře.
- ' -tvrdý “ možnost s možností “ $ git reset ” slouží k odstranění všech změn a jejich odstranění z místního pracovního adresáře.
Vezměme si příklad, abychom viděli, jak „ $ git reset ” příkaz pracuje s různými možnostmi!
Krok 1: Přejděte do Desired Git Repository
Nejprve se přesuňte do požadovaného úložiště Git pomocí „ CD 'příkaz:
$ CD 'C:\Jdi \t is_repo'
Krok 2: Vytvořte soubor
Nyní spusťte níže uvedený příkaz a vytvořte soubor:
$ dotek Soubor4.txt
Krok 3: Přidejte soubor do pracovního indexu
Použijte „ git přidat ” pro přidání nově vygenerovaného souboru do indexu příprav:
$ git přidat Soubor4.txt
Krok 4: Potvrdit změny
Dále přidejte všechny změny do pracovního úložiště spuštěním příkazu „ git commit 'příkaz:
$ git commit -m 'Přidán soubor 4'
Krok 5: Zkontrolujte protokol Git
Poté zkontrolujte historii protokolu Git a zobrazte nejnovější odevzdání, která byla přidána:
$ git logVe výstupu níže je vidět, že jsou zobrazeny všechny nejnovější přidané odevzdání a „ HLAVA “ ukazuje na nedávné potvrzení:
Poznámka: Chcete-li lépe zkontrolovat současnou polohu HEAD, proveďte „ git log 'příkaz spolu s ' – jeden řádek “ vlajka:
$ git log -- onlineNíže uvedený výstup zobrazuje seznam revizí SHA hash se zprávami o odevzdání:
Krok 6: Použijte příkaz git reset –soft Command
Chcete-li vrátit přidané změny z úložiště Git do pracovního indexu, použijte „ reset git “ spolu s „– měkký ” a zadejte požadovanou pozici HEAD, kde je potřeba přesunout ukazatel:
$ reset git --měkký HLAVA~ 1
Krok 7: Zkontrolujte stav Git
Nyní ověřte vratnou polohu HEAD a zkontrolujte stav úložiště Git:
$ stav gitJe vidět, že „ git reset – soft ” vrátil změny odevzdání do stagingového indexu Git. Navíc, „ Soubor4.txt ” je nyní v indexu Git staging a je třeba jej potvrdit:
Krok 8: Zkontrolujte protokol Git
Chcete-li zobrazit aktuální pozici HEAD, spusťte daný příkaz spolu s „ – jeden řádek “ možnost:
$ git log -- onlineZde HEAD ukazuje na „ Soubor3 ' spáchat:
Krok 9: Použijte git reset — smíšený příkaz
Chcete-li vrátit potvrzené změny a odstranit soubory z pracovní oblasti, aniž byste je odstranili z pracovního adresáře, spusťte „ $ git reset – smíšené ” spolu s požadovanou pozicí HEAD odevzdání:
$ reset git --smíšený HLAVA~ 1
Krok 10: Zkontrolujte stav Git
Prohlédněte si nově přidané změny kontrolou stavu úložiště Git:
$ stav gitLze pozorovat, že zadané změny potvrzení jsou odstraněny z pracovní oblasti. Jsou však umístěny v pracovní oblasti:
Krok 11: Zkontrolujte protokol Git
Zkontrolujte historii referenčních protokolů úložiště Git spolu s hash SHA:
$ git log -- online
Krok 12: Použijte git reset — hard Command
Chcete-li odstranit přidané změny z místního pracovního adresáře Git, spusťte „ $ git reset –hard 'příkaz:
$ reset git --tvrdý HLAVA~ 1
Krok 13: Ověřte vrácený ukazatel HEAD
Chcete-li ověřit ukazatel HEAD, vraťte se do určené polohy, spusťte „ git log 'příkaz:
$ git log -- onlineNíže uvedený výstup ukazuje, že HEAD ukazuje na „ Přidán soubor 1 ' spáchat:
Krok 14: Zkontrolujte stav Git
Chcete-li zobrazit přidané změny, zkontrolujte stav Git:
$ stav gitJe vidět, že nemáme žádné stopy a nevyřízené změny „ Soubor2.txt “. Soubor2.txt byl proto zcela odstraněn:
Krok 15: Ověřte seznam obsahu úložiště
Chcete-li ověřit seznam obsahu úložiště, spusťte „ ls 'příkaz:
$ lsJak vidíte, „ Soubor2.txt ” soubor v aktuálním adresáři neexistuje:
Vysvětlili jsme rozdíl mezi možnostmi git reset – smíšené, – měkké a – tvrdé.
Závěr
' reset git ” se používá k resetování změn, úpravě historie úložiště Git a opravě chyb. ' git reset – soft ” zachová soubory a vrátí změny odevzdání do přípravné oblasti Git. Naproti tomu „ git reset – smíšené ” zrušte změny odevzdání a odeberte soubor z indexu příprav bez jeho odstranění z pracovního adresáře. Chcete-li odstranit všechny změny a odstranit je z pracovní oblasti Git, „ git reset – hard ” lze použít. Tento článek ilustroval rozdíl mezi git reset – smíšený, – měkký a – tvrdý.