Portál AbcLinuxu, 16. července 2025 20:51
---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) mergeAz 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.