Portál AbcLinuxu, 8. listopadu 2025 08:42
---b----b------------------------------- master
\ \
\ POKUS (nejaky pokusny vyvoj)
\
LTS1 (long term support verzia master branche)
Potreboval som surne spravit nejaku opravu1 do LTS1, zamer bol takyto:
---b----b------------------------------- master
\ \
\ POKUS (nejaky pokusny vyvoj)
\
b--- OPRAVA1 --
\ \
-------------M--------LTS1 (long term support verzia master branche)
Bohuzial som si nevsimol ze nie som na LTS1 ale na POKUS. V skutocnosti som opravu branchol z POKUS:
---b----b------------------------------- master
\ \
\ b--POKUS (nejaky pokusny vyvoj)
\ \
\ OPRAVA1
\
LTS1 (long term support verzia master branche)
Opravu som v OPRAVA1 spravil a potom som to mergol do LTS1
---b----b------------------------------- master
\ \
\ b--POKUS (nejaky pokusny vyvoj)
\ \
\ OPRAVA1
\ \
----M---- LTS1 (long term support verzia master branche)
merge
Az v tom okamihu som si vsimol ze som OPRAVA1 zalozil na nespravnej vetve a spolu s mojou opravou sa do LTS1 dostal aj pokusny kod ktory tam nemal co robit. Potreboval som teda LTS1 vratit do doby pred mergom s OPRAVA1. Na nete som nasiel ze mam pouzit "git reset --hard HEAD" alebo "git reset --hard ORIG_HEAD". Lenze to sa mi vobec nevratilo do doby pred mergom, stale vidim tie zmenene veci:
sh-3.1$ git reset --hard HEAD HEAD is now at 8e761f6 Oprava odosielajuceho formulara sh-3.1$ git reset --hard ORIG_HEAD HEAD is now at 8e761f6 Oprava odosielajuceho formularaCize, mam LTS1 ktoru do ktorej som mergol vetvu OPRAVA1. Ako sa vratim spat k povodnemu stavu LTS1 pred mergom s OPRAVA1?
Řešení dotazu:
git reset --hard HEAD~1. --hard zajistí, že se zahodí i změněné soubory, HEAD~1 znamená předchozí commit. Nebo lze také pužít hash commitu.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.