Jaký je rozdíl mezi resetem git – smíšeným, – měkkým a – tvrdým?

Jaky Je Rozdil Mezi Resetem Git Smisenym Mekkym A Tvrdym



Na Gitu je každé potvrzení propojeno s předchozím potvrzením a HEAD ukazuje na nejnovější potvrzení v pracovní větvi. Historie odevzdání je uložena jako strom odevzdání. Někdy však vývojáři potřebují upravit historii odevzdání. Za tímto účelem je „ $ git reset ” se používá k úpravě historie úložiště Git a opravě chyb, ke kterým došlo.

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 log

Ve 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 -- online

Níž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 git

Je 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 -- online

Zde 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 git

Lze 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 -- online

Níž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 git

Je 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:

$ ls

Jak 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ý.