Sobes.tech
Junior

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.

  1. 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.
    
  2. 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).
    
  3. 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.
    
  4. 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.