Git Revert vs Git Reset: Αναίρεση και προσαρμογή αλλαγών στο ιστορικό Git

Git Revert και Git Reset είναι δύο σημαντικές εντολές στο Git για την αναίρεση και την προσαρμογή αλλαγών στο commit ιστορικό ενός αποθετηρίου. Εδώ είναι ένας οδηγός για τον τρόπο χρήσης Git Revert και Git Reset:

 

Git Revert

  • Git Revert σας επιτρέπει να δημιουργήσετε μια νέα δέσμευση για να αναιρέσετε( revert) αλλαγές που είχαν πραγματοποιηθεί στο παρελθόν.

  • Για revert ένα commit, χρησιμοποιήστε την ακόλουθη εντολή:

    git revert <commit_id>
    

    Αντικαταστήστε το <commit_id> με το αναγνωριστικό που commit θέλετε να επαναφέρετε. Θα δημιουργηθεί ένα νέο commit, αναιρώντας τις αλλαγές στο επιλεγμένο commit.

  • Revert δεν αλλάζει το commit ιστορικό, αλλά δημιουργεί ένα νέο commit για να επαναφέρει τις αλλαγές.

 

Git Reset

  • Git Reset σας επιτρέπει να επιστρέψετε σε μια προηγούμενη κατάσταση μετακινώντας τον HEAD κλάδο και τον τρέχοντα κλάδο σε μια συγκεκριμένη δέσμευση.

  • Git Reset έχει τρεις διαφορετικούς τρόπους λειτουργίας: --soft, --mixed(default), and --hard.

  • Στον reset και HEAD τρέχοντα κλάδο σε ένα commit, χρησιμοποιήστε την ακόλουθη εντολή:

    git reset --mode <commit_id>
    

    Αντικαταστήστε το <commit_id> με το αναγνωριστικό στο οποίο commit θέλετε να επαναφέρετε.

  • Git Reset λειτουργίες:

    • -soft: Μετακινεί τον HEAD κλάδο και τον τρέχοντα κλάδο στο καθορισμένο commit, διατηρώντας τις αλλαγές του προηγούμενου commit στην περιοχή σταδίου. Χρησιμοποιήστε την εντολή git reset --soft <commit_id>.
    • --mixed: Αυτή είναι η προεπιλεγμένη λειτουργία. Μετακινεί τον HEAD κλάδο και τον τρέχοντα κλάδο στην καθορισμένη δέσμευση και αφαιρεί τις αλλαγές του προηγούμενου commit από την περιοχή σταδίου. Χρησιμοποιήστε την εντολή git reset --mixed <commit_id>.
    • --hard: Μετακινεί τον HEAD κλάδο και τον τρέχοντα κλάδο στον καθορισμένο commit και απορρίπτει όλες τις αλλαγές του προηγούμενου commit. Να είστε προσεκτικοί όταν το χρησιμοποιείτε, καθώς τυχόν μη δεσμευμένες αλλαγές θα χαθούν. Χρησιμοποιήστε την εντολή git reset --hard <commit_id>.
    <commit_id>.
  • Git Reset αλλάζει το commit ιστορικό και μπορεί να οδηγήσει σε απώλεια δεδομένων, γι' αυτό χρησιμοποιήστε το με προσοχή.

 

Git Revert και Git Reset είναι ισχυρά εργαλεία για την αναίρεση και την προσαρμογή του ιστορικού δεσμεύσεων στο Git. Χρησιμοποιήστε τα προσεκτικά για να διασφαλίσετε τη σταθερότητα του έργου και να αποφύγετε την απώλεια δεδομένων.