Στη ανάπτυξη λογισμικού, τα λάθη είναι ανθρώπινα. Είτε πρόκειται για ένα λανθασμένο κομμάτι κώδικα, ένα ανεπιθύμητο σχόλιο ή μια εντελώς λανθασμένη υλοποίηση. Git σου δίνει τη δυνατότητα να διορθώνεις τέτοιες λάθος. Σε αυτό το tutorial θα μάθεις πώς να χρησιμοποιείς τις εντολές git reset και git checkout αποτελεσματικά για να αναιρέσεις αλλαγές, ώστε να καθαρίσεις τον κώδικά σου ή να επαναφέρεις μια προηγούμενη κατάσταση.

Σημαντικότερα ευρήματα

  • Με το git checkout μπορείς να αναιρέσεις αλλαγές σε αρχεία, αρκεί να μην έχουν ακόμη γίνει commit.
  • Το git reset σου επιτρέπει να επιστρέψεις σε μια συγκεκριμένη δέσμευση (commit), μπορεί όμως να απορρίψει δεδομένα ανεπιστρεπτί.
  • Υπάρχουν διάφορες προσεγγίσεις για να αναιρέσεις αλλαγές. Διάλεξε τη μέθοδο που ταιριάζει καλύτερα στο σενάριο σου.

Οδηγίες βήμα προς βήμα

Παρακολούθηση αλλαγών σε ένα αρχείο

Αν στην πορεία του έργου σου έχεις κάνει τυχαία ανεπιθύμητες αλλαγές σε ένα αρχείο, μπορείς να τις ελέγξεις με την εντολή git status. Αυτή θα σου δείξει το τροποποιημένο αρχείο που βρίσκεται στη φάση staging. Αυτό σου δίνει τη δυνατότητα να δράσεις στοχευμένα πριν μεταφέρεις τις αλλαγές στο repository.

Git Αναιρέσεις αλλαγών – Git Reset και Git Checkout εξηγήθηκαν

Επαναφορά αλλαγών σε ένα αρχείο με το git checkout

Αν θέλεις να αναιρέσεις μια τροποποίηση σε ένα αρχείο που δεν είναι ακόμη σε κατάσταση commit, μπορείς να χρησιμοποιήσεις την εντολή git checkout. Για αυτό, εκτελείς την εντολή git checkout <ΌνομαΑρχείου>. Αυτή η εντολή επαναφέρει το αρχείο στην αρχική του κατάσταση. Είναι μια απλή και αποτελεσματική μέθοδος για να απορρίψεις γρήγορα ανεπιθύμητες αλλαγές.

Ανάκληση αλλαγών Git – Εξηγήσεις για το Git Reset και το Git Checkout

Έλεγχος των αλλαγών

Μετά την εκτέλεση του git checkout, μπορείς να ελέγξεις αν οι αλλαγές έχουν όντως αναιρεθεί χρησιμοποιώντας το git diff. Αυτό θα σου δείξει λεπτομερώς τι έχει αλλάξει και αν ο κώδικάς σου έχει επιστρέψει στην επιθυμητή κατάσταση.

Git αλλαγές επιστροφής – Git Reset και Git Checkout εξηγήθηκαν

Αλλαγές που έχουν ήδη γίνει commit

Τώρα ας υποθέσουμε ότι έχεις ήδη αλλάξει ένα αρχείο και το έχεις αποθηκεύσει με git commit. Σε αυτή την περίπτωση μπορείς να χρησιμοποιήσεις το git log για να δεις τις δεσμεύσεις (commits). Με αυτό θα έχεις τη λίστα των δεσμεύσεων και μπορείς να βρεις τη συγκεκριμένη δέσμευση την οποία θέλεις να αναιρέσεις.

Git Ανάκτηση αλλαγών – Εξήγηση του Git Reset και του Git Checkout

Επαναφορά σε μια συγκεκριμένη δέσμευση

Για να επιστρέψεις σε μια συγκεκριμένη δέσμευση, έχεις διάφορες επιλογές. Η πιο απλή εντολή είναι το git reset <αριθμός-commit>, που σου επιτρέπει να επαναφέρεις σε μια επιλεγμένη κατάσταση. Χρησιμοποίησε αυτή την εντολή με προσοχή, ειδικά αν εφαρμόσεις το git reset --hard. Αυτή η εντολή διαγράφει όλες τις ανεπιθύμητες αλλαγές και επαναφέρει το repository στην κατάσταση της επιλεγμένης δέσμευσης.αριθμός-commit>

Έλεγχος μετά την επαναφορά

Μετά την επαναφορά, θα πρέπει να χρησιμοποιήσεις ξανά το git status και το git log για να βεβαιωθείς ότι το repository σου είναι στην επιθυμητή κατάσταση. Εκεί μπορείς να δεις ότι οι αλλαγές έχουν αναιρεθεί και όλα είναι όπως τα επιθυμείς.

Αναίρεση αλλαγών Git – Εξήγηση του Git Reset και του Git Checkout

Συμπέρασμα για τις επιλογές επαναφοράς

Συνοψίζοντας, τόσο το git checkout όσο και το git reset είναι χρήσιμες εντολές για να αναιρέσεις ανεπιθύμητες αλλαγές. Απόφασισε ποια μέθοδος ταιριάζει καλύτερα στην τρέχουσα ανάγκη σου. Το git checkout είναι ιδανικό για αλλαγές που δεν έχουν γίνει commit, ενώ το git reset είναι βέλτιστο για προηγούμενες δεσμεύσεις.

Σύνοψη – Διαχείριση εκδόσεων με το Git: Έτσι αναιρείς αλλαγές – Reset και Checkout

Στο πλαίσιo αυτού του οδηγού, έμαθες πώς να αναιρείς αποτελεσματικά αλλαγές στον κώδικά σου με το git checkout και το git reset. Εξερεύνησες τα πλεονεκτήματα και τα μειονεκτήματα και των δύο μεθόδων, ώστε να διασφαλίσεις ότι μπορείς να διατηρήσεις τη δουλειά σου ανά πάσα στιγμή και να διορθώσεις γρήγορα τυχόν λάθη.

Συχνές ερωτήσεις

Πώς αναιρώ αλλαγές σε ένα αρχείο που δεν έχω κάνει ακόμη commit;Χρησιμοποίησε την εντολή git checkout για να αναιρέσεις τις αλλαγές σε αυτό το αρχείο.

Τι γίνεται αν χρησιμοποιήσω το git reset --hard;Αυτή η εντολή αφαιρεί όλες τις τοπικά πραγματοποιημένες αλλαγές και επαναφέρει το repository σου στην κατάσταση της επιλεγμένης δέσμευσης.

Πώς μπορώ να βρω τον αριθμό της δέσμευσης;Χρησιμοποίησε την εντολή git log για να δεις μια ανασκόπηση όλων των δεσμεύσεων και των αντίστοιχων hashes τους.

Τι πρέπει να προσέξω πριν χρησιμοποιήσω το git reset --hard;Βεβαιώσου ότι όλες οι σημαντικές αλλαγές είναι αποθηκευμένες, καθώς αυτή η εντολή μπορεί να διαγράψει δεδομένα ανεπιστρεπτί.

Πώς μπορώ να ελέγξω τις τελευταίες αλλαγές μου;Με την εντολή git diff μπορείς να αναλύσεις τις πιο πρόσφατες αλλαγές σε αρχεία.