Sobes.tech
Junior

Πώς ακυρώνετε την τελευταία δέσμευση στο σύστημα ελέγχου εκδόσεων;

sobes.tech AI

Απάντηση από AI

Όταν χρησιμοποιείτε το Git, υπάρχουν διάφοροι τρόποι:

1. Ακύρωση του τελευταίου commit, διατηρώντας τις αλλαγές:

git reset --soft HEAD~1
# Ακυρώνει το τελευταίο commit, οι αλλαγές στον δείκτη παραμένουν
# Ο κατάλογος εργασίας δεν αλλάζει

2. Ακύρωση του τελευταίου commit, ακυρώνοντας τις αλλαγές στον δείκτη αλλά διατηρώντας τις εργασίες:

git reset --mixed HEAD~1
# Ακυρώνει το τελευταίο commit και αφαιρεί την καταχώριση των αλλαγών
# Ο κατάλογος εργασίας δεν αλλάζει

3. Ολική ακύρωση του τελευταίου commit, συμπεριλαμβανομένων των αλλαγών:

git reset --hard HEAD~1
# Ολική ακύρωση του τελευταίου commit
# Οι καταχωρίσεις και ο κατάλογος εργασίας επιστρέφουν στην κατάσταση πριν από το τελευταίο commit
# Όλες οι μη αποθηκευμένες αλλαγές στον κατάλογο εργασίας χάνονται

4. Δημιουργία νέου commit που αναιρεί τις αλλαγές του τελευταίου:

git revert HEAD
# Δημιουργεί ένα νέο commit που αναιρεί τις αλλαγές του τελευταίου commit
# Η ιστορία διατηρείται, είναι ένας ασφαλής τρόπος όταν εργάζεστε με δημόσιες κλαδώσεις

Η επιλογή εξαρτάται από το επιθυμητό αποτέλεσμα και αν ο κλάδος έχει δημοσιευθεί. Το --hard πρέπει να χρησιμοποιείται με προσοχή, καθώς μπορεί να οδηγήσει σε απώλεια δεδομένων. Το git revert προτιμάται όταν εργάζεστε με κλάδους που χρησιμοποιούνται από άλλους προγραμματιστές.