Hogyan lehet törölni az utolsó commitot a verziókezelő rendszerben?
sobes.tech MI
Válasz az MI-től
Az utolsó commit visszavonásának több módja van, attól függően, hogy az fel lett-e pusholva a távoli tárhelyre, és mi a visszavonás célja.
-
Helyi commit visszavonása anélkül, hogy a fájlokat módosítaná (soft reset):
git reset --soft HEAD~1 # Visszaállítja a HEAD-et egy committel, a változtatások a staging area-ban maradnak. -
Helyi commit visszavonása, a változtatások megtartásával a munkakönyvtárban (mixed reset - alapértelmezett):
git reset HEAD~1 # Visszaállítja a HEAD-et egy committel, a változtatások a munkakönyvtárban maradnak (unstaged). -
Teljes körű helyi commit visszavonása, a változtatások törlésével a munkakönyvtárból és a staging area-ból (hard reset):
git reset --hard HEAD~1 # Visszaállítja a HEAD-et egy committel, és törli az összes helyi változtatást. Vigyázat! Adatvesztés. -
Egy már pusholt commit visszavonása, egy új commit létrehozásával, amely megfordítja az előző változtatásokat:
git revert HEAD # Létrehoz egy új commit-et, amely megfordítja az utolsó commit változtatásait. Biztonságos nyilvános ágakhoz.
A módszer kiválasztása a helyzettől függ. Nyilvános ágak esetén ajánlott a git revert használata, mivel az nem módosítja a commit történetét. Helyi változtatások vagy egyéni munkafolyamat esetén használhatja a git reset-et.