Pokud jste webový vývojář nebo softwarový inženýr, je velmi pravděpodobné, že na svůj Git tlačíte spoustu závazků úložiště každý den.
V některých případech jste se však zavázali k některým souborům, které by se neměly posílat do vašeho úložiště Git.
Někdy možná budete chtít provést další změny před vydáním potvrzení .
V důsledku toho musíte vrátit poslední potvrzení ze svého úložiště Git.
V tomto tutoriálu uvidíme, jak můžete snadno vrátit poslední potvrzení, možná k opětovnému potvrzení změn později.
Obsah
Vrátit zpět poslední Git Commit s resetem
Nejjednodušší způsob, jak vrátit poslední potvrzení Git, je provést příkaz „git reset“ s volbou „–soft“, která zachová změny provedené ve vašich souborech. V tomto případě musíte zadat potvrzení vrácení, které je „HEAD ~ 1“.
Poslední potvrzení bude odstraněno z vaší historie Git.
Pokud nejste obeznámeni s tímto zápisem, „HEAD ~ 1“ znamená, že chcete resetovat HEAD (poslední potvrzení) na jeden potvrzení dříve v historii protokolu.
Jaký je tedy dopad tohoto příkazu?
Příkaz „git reset“ lze chápat jako opak příkazu „git add“, který v podstatě přidává soubory do indexu Git.
Když zadáte možnost „–soft“, bude Git instruováno, aby soubory v pracovním adresáři nebo v indexu vůbec neměnil.
Jako příklad , řekněme, že jste do svého posledního odevzdání přidali dva soubory, ale chcete v tomto souboru provést nějaké úpravy.
V důsledku toho použijete „git reset“ s volbou „–soft“ za účelem zrušení posledního potvrzení a provedení dalších úprav.
Jak vidíte, zrušením posledního potvrzení se soubor je stále v indexu (změny, které mají být potvrzeny), ale potvrzení bylo odstraněno.
Úžasné, úspěšně jste zrušili poslední potvrzení Git ve vašem úložišti.
Hard Reset Git commit
V předchozí části jsme viděli, jak můžete snadno vrátit poslední revizi zachováním změn provedených u souborů v indexu.
V některých případech jednoduše chcete zbavte se potvrzení a změn provedených v souborech.
To je účel možnosti „–hard“.
Chcete-li vrátit poslední potvrzení a zrušit všechny změny v pracovním adresáři a indexu spusťte příkaz „git reset“ s volbou „–hard“ a zadejte potvrzení před HEAD („HEAD ~ 1“).
Při používání „–hard“ buďte opatrní: změny budou odstraněny z pracovního adresáře a z indexu, přijdete o všechny úpravy.
Zpět k příkladu, který jsme si dříve podrobně řekli že jste přidělili nový soubor do svého úložiště Git s názvem „file1“.
Teď předstírejme, že chcete vrátit poslední potvrzení a zahodit všechny úpravy.
Skvělé, podívejme se nyní na stav našeho úložiště Git .
Jak vidíte, soubor byl zcela odstraněn z úložiště Git (index + pracovní adresář)
Smazaný reset Git commit
Chcete-li vrátit poslední Git potvrzení, ponechat změny v pracovním adresáři, ale NE v indexu, musíte použít příkaz „git reset“ s volbou „–mixed“. Vedle tohoto příkazu jednoduše připojte „HEAD ~ 1“ pro poslední potvrzení.
Řekněme například, že jsme přidali soubor s názvem “ file1 ”v revizi, kterou musíme vrátit zpět.
Chcete-li vrátit poslední revizi, jednoduše provedeme příkaz„ git reset “s volbou„ –mixed “.
Když zadáte možnost„ –mixed “, soubor bude odstraněn z indexu Git, ale ne z pracovního adresáře.
V důsledku toho bude„ –mixed “ „Je„ mix “mezi měkkým a tvrdým resetem, proto jeho název.
Skvělé! Našli jste jiný způsob, jak vrátit poslední potvrzení při zachování změn provedených v souborech.
V další části uvidíme další způsob, jak vrátit poslední revizi pomocí příkazu git revert.
Vrátit poslední revizi pomocí revert
Chcete-li vrátit poslední revizi Git , použijte „git revert“ a určete vrácené potvrzení, které je „HEAD“ pro poslední potvrzení vaší historie.
Příkaz „git revert“ se mírně liší od příkazu „git reset“, protože zaznamená nové potvrzení se změnami provedenými vrácením posledního potvrzení.
Všimněte si také, že u příkazu „git“ reset ”zadali jste„ HEAD ~ 1 “, protože příkaz reset nastaví novou pozici HEAD při reverzování ve skutečnosti vrátí zadané potvrzení.
V důsledku toho budete muset znovu potvrdit změny, aby byly soubory vráceno a vrácení zrušeno.
V důsledku toho řekněme, že jste do svého úložiště Git odevzdali nový soubor, ale chcete toto potvrzení vrátit zpět.
Při provádění příkazu „git revert“ Git automaticky otevře váš textový editor, aby provedl změny.
Po dokončení zprávy potvrzení se zobrazí zpráva s novým hashem potvrzení.
Nyní, pokud byste měli znovu zkontrolovat svou historii Git, všimli byste si, že byl přidán nový závazek, aby se vrátil poslední závazek z vašeho úložiště.
Závěr
V tomto výukovém programu jste viděli všechny způsoby, jak vrátit poslední potvrzení vašeho úložiště Git.
Dozvěděli jste se o „resetování git ”Příkaz a různé způsoby jeho provádění v závislosti na tom, co chcete zachovat nebo ne.
Také jste se dozvěděli o rozdílu mezi příkazem git reset a příkazem git revert, přičemž druhý přidává nový příkaz v pořadí vrátit jeden ze svého úložiště.
Pokud vás zajímá Git nebo softwarový motor eering, máme na webu věnovanou celou sekci, takže si to nezapomeňte prohlédnout!
Pokud máte rádi Git, mohou se vám líbit naše další články:
- Jak klonovat úložiště Git
- Jak odinstalovat soubory Git
- Jak Cherry vybrat Git Commit