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. Χρησιμοποιήστε τα προσεκτικά για να διασφαλίσετε τη σταθερότητα του έργου και να αποφύγετε την απώλεια δεδομένων.