Git: Jak cofnąć niewysłane zmiany?
Opublikowano: 14.09.2021 - tagi: Git
Załóżmy mamy taki scenariusz: Zrobiłeś commit swojego kodu, ale nie wysłałeś tych zmian do repozytorium. Chciałbyś cofnąć commita.
Co można zrobić? Po pierwsze wywołaj komendę:
git reflog
Pojawi się lista z commitami. Ostatni commit - ten nasz nie puszczony to HEAD@{0}
. Zakładam, że będziemy chcieli się cofnąć do przedostatniego commita(ostatniego wysłanego na serwer).
Mamy dwa sposoby:
Przypadek 1: Wycofanie commita bez straty zmiany
Piszemy:
git reset --soft HEAD@{1}
Ta komenda cofnie commita do stanu sprzed zatwierdzenia zmian. Czyli nie utracimy naszych zmian i będą oznaczone jako niezatwierdzone.
Przypadek 2: Wycofanie commita z usunięciem zmian
git reset --hard HEAD@{1}
Tutaj commit także zostanie confięty, ale stracimy dodatkowo nasze zmiany.