Εισαγωγή στο Git Interactive Rebase

Eisagoge Sto Git Interactive Rebase



Το διαδραστικό rebasing μπορεί να είναι ιδιαίτερα πολύτιμο σε συλλογικές εργασίες, όπου διάφοροι προγραμματιστές αποδίδουν σε μια ίδια βάση κώδικα. Σας επιτρέπει να καθαρίσετε το ιστορικό δέσμευσής σας πριν υποβάλετε ένα αίτημα έλξης, διευκολύνοντας τους άλλους να ελέγξουν τις αλλαγές σας και να κατανοήσουν τη διαδικασία σκέψης σας.

Αυτή η ανάρτηση θα εξηγήσει εν συντομία την εισαγωγή στο διαδραστικό rebase του Git.

Εισαγωγή στο Git Interactive Rebase

Το Git interactive rebase είναι ένα ισχυρό εργαλείο για τη διαχείριση των δεσμεύσεων σε ένα αποθετήριο Git. Επιτρέπει στους προγραμματιστές/χρήστες να τροποποιήσουν, να αναδιατάξουν ή να αφαιρέσουν δεσμεύσεις στο ιστορικό ενός κλάδου. Μια διαδραστική ανανέωση είναι ιδιαίτερα χρήσιμη όταν απαιτείται από τους προγραμματιστές να καθαρίσουν έναν κλάδο πριν τον συγχωνεύσουν σε άλλο κλάδο ή όταν θέλουν να κάνουν αλλαγές σε προηγούμενες δεσμεύσεις.







Πώς λειτουργεί το Git Interactive Rebase;

Για να ξεκινήσει η εργασία με τη διαδραστική επαναφορά του Git, ο χρήστης μπορεί να πραγματοποιήσει πολλαπλές αλλαγές που αναφέρονται παρακάτω:



Αναπαραγγελία δεσμεύσεων

Για να αναδιατάξετε τις δεσμεύσεις, δοκιμάστε την παρακάτω διαδικασία:



  • Μεταβείτε στο τοπικό αποθετήριο Git.
  • Ελέγξτε το αρχείο καταγραφής Git.
  • Αλλάξτε τη σειρά των δεσμεύσεων με μη αυτόματο τρόπο και επαληθεύστε τις αλλαγές.

Βήμα 1: Μεταβείτε στο Τοπικό αποθετήριο

Αρχικά, πλοηγηθείτε στο τοπικό αποθετήριο Git προσδιορίζοντας τη διαδρομή χρησιμοποιώντας το ' CD ' εντολή:





CD 'C:\Users\user\Git \ t estingproject'

Βήμα 2: Ελέγξτε το αρχείο καταγραφής Git

Δείτε το πλήρες αρχείο καταγραφής Git με τη βοήθεια του ' git log –oneline '. Θα εμφανίσει κάθε δέσμευση σε μία μόνο γραμμή:

αρχείο καταγραφής git --Σε σύνδεση

Ως αποτέλεσμα, όλες οι δεσμεύσεις εμφανίζονται στο τερματικό Git Bash:



Βήμα 3: Αναπαραγγελία δεσμεύσεων

Τώρα, εκτελέστε το ' git rebase -i 'εντολή όπου' -Εγώ ' χρησιμοποιείται για διαδραστική λειτουργία και ' ΚΕΦΑΛΙ~3 Το ” θα επιλέξει τρεις δεσμεύσεις από το αρχείο καταγραφής Git:

git rebase -Εγώ ΚΕΦΑΛΙ~ 3

Η εικόνα που προκύπτει δείχνει ότι αντικαθιστά τη θέση όλων των δεσμεύσεων στους ανοιχτούς επεξεργαστές:

Η παρακάτω εικόνα δείχνει ότι οι δεσμεύσεις έχουν αντικατασταθεί μεταξύ τους με μη αυτόματο τρόπο:

Τέλος, οι δεσμεύσεις επανατοποθετούνται επιτυχώς με τη βοήθεια του ' git rebase -i '.

Βήμα 4: Επαλήθευση αλλαγών

Επαληθεύστε τις αλλαγές εκτελώντας τη δεδομένη εντολή:

αρχείο καταγραφής git --Σε σύνδεση

Μπορεί να παρατηρηθεί ότι οι επιλεγμένες δεσμεύσεις έχουν αναδιαταχθεί με επιτυχία:

Merger Commits

Για να συγχωνεύσετε δύο ή περισσότερες δεσμεύσεις, ακολουθήστε τις παρακάτω οδηγίες:

  • Προβολή του αρχείου καταγραφής Git.
  • Χρησιμοποιήστε το ' git rebase -i HEAD~3 ” εντολή για συγχώνευση των δεσμεύσεων σε μία μόνο δέσμευση.
  • Αντικαταστήστε το ' διαλέγω 'λέξη-κλειδί με ' σκουός ' να ενσωματώσω.

Βήμα 1: Ελέγξτε το αρχείο καταγραφής Git

Πρώτα, προβάλετε το πλήρες ιστορικό του αρχείου καταγραφής Git εκτελώντας την παρακάτω εντολή.

αρχείο καταγραφής git --Σε σύνδεση

Η αναφερόμενη εικόνα εμφανίζει τα αποτελέσματα της παραπάνω εντολής:

Βήμα 2: Συγχώνευση Υποχρεώσεων

Τώρα, συγχώνευση δεσμεύσεων χρησιμοποιώντας το ' git rebase -i ' εντολή. Ο ' ΚΕΦΑΛΙ~3 ' χρησιμοποιείται για την επιλογή των τριών δεσμεύσεων και το άνοιγμα του καθορισμένου επεξεργαστή:

git rebase -Εγώ ΚΕΦΑΛΙ~ 3

Ως αποτέλεσμα, ο επεξεργαστής έχει ανοίξει:

Βήμα 2: Αντικαταστήστε το 'pick' με το 'squash'

Αντικαταστήστε το ' διαλέγω 'λέξη με το ' σκουός ” που χρησιμοποιείται για τη συγχώνευση των δεσμεύσεων στην πρώτη και την αποθήκευση των αλλαγών:

Βήμα 3: Υποβολή αλλαγών

Στη συνέχεια, ένα νέο πρόγραμμα επεξεργασίας θα εμφανιστεί στην οθόνη. Εδώ γράφει ένα μήνυμα δέσμευσης για να πραγματοποιήσετε τις αλλαγές και να το αποθηκεύσετε πατώντας το ' Ctrl+s ”:

Μπορεί να παρατηρηθεί ότι όλες οι αλλαγές έχουν πραγματοποιηθεί με επιτυχία:

Βήμα 4: Επαλήθευση

Επαληθεύστε τις παραπάνω δεσμευμένες αλλαγές χρησιμοποιώντας την αναφερόμενη εντολή:

αρχείο καταγραφής git --Σε σύνδεση

Μπορεί να παρατηρηθεί ότι όλες οι επιλεγμένες δεσμεύσεις έχουν συγχωνευθεί με επιτυχία:

Κατάργηση δεσμεύσεων

Για να αφαιρέσετε δεσμεύσεις από το ιστορικό του αρχείου καταγραφής Git, δοκιμάστε το βήμα που αναφέρεται παρακάτω:

  • Προβολή ιστορικού καταγραφής Git.
  • Καταργήστε μια δέσμευση με μη αυτόματο τρόπο από το πρόγραμμα επεξεργασίας.
  • Επαληθεύστε προβάλλοντας το ιστορικό καταγραφής του Git.

Βήμα 1: Ελέγξτε το ιστορικό καταγραφής Git

Εκτελέστε τη δεδομένη εντολή για να ελέγξετε το αρχείο καταγραφής του Git. Ο ' git log –oneline Η εντολή ” χρησιμοποιείται για την εμφάνιση κάθε δέσμευσης σε μία μόνο γραμμή:

αρχείο καταγραφής git --Σε σύνδεση

Η εικόνα που δίνεται δείχνει το πλήρες ιστορικό καταγραφής Git:

Βήμα 2: Αφαιρέστε το Commit

Ανοίξτε το πρόγραμμα επεξεργασίας εφαρμόζοντας το ' git rebase -i 'εντολή μαζί με το ' ΚΕΦΑΛΙ~2 ” για να επιλέξετε δύο δεσμεύσεις από το ιστορικό καταγραφής:

git rebase -Εγώ ΚΕΦΑΛΙ~ 2

Επιλέξτε μια δέσμευση και αφαιρέστε την με μη αυτόματο τρόπο από το πρόγραμμα επεξεργασίας:

Εδώ, αφαιρέστε την επιλεγμένη δέσμευση από το πρόγραμμα επεξεργασίας και πατήστε το κουμπί ' Ctrl+s πλήκτρα ” για αποθήκευση των αλλαγών:

Η εικόνα που προκύπτει υποδεικνύει ότι η λειτουργία επαναβάσεως πραγματοποιήθηκε με επιτυχία:

Βήμα 3: Επαλήθευση

Εκτελέστε την παρακάτω εντολή για σκοπούς επαλήθευσης:

αρχείο καταγραφής git --Σε σύνδεση

Η επιλεγμένη δέσμευση έχει αφαιρεθεί με επιτυχία από το ιστορικό καταγραφής:

Αυτά είναι όλα σχετικά με τη διαδραστική ανανέωση του Git.

συμπέρασμα

Το Git interactive rebase είναι η πιο ισχυρή λειτουργία για τη διαχείριση των δεσμεύσεων σε ένα αποθετήριο Git. Επιτρέπει στους προγραμματιστές/χρήστες να τροποποιήσουν, να αναδιατάξουν ή να αφαιρέσουν δεσμεύσεις στο ιστορικό ενός υποκαταστήματος χρησιμοποιώντας το ' git rebase -i ' εντολή. Επιπλέον, μπορεί επίσης να χρησιμοποιηθεί για τον καθαρισμό του ιστορικού Git συγχωνεύοντας όλες τις δεσμεύσεις σε ένα. Αυτή η ανάρτηση αναφέρει την εισαγωγή στη διαδραστική ανασύνθεση Git.