ερώτηση

Γνώση Υπολογιστών >> ερώτηση >  >> PC Αντιμετώπιση προβλημάτων

Πώς να επαναφέρετε μια συγχώνευση στο Git

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

Ακολουθούν τα βήματα για να επαναφέρετε μια συγχώνευση στο Git:

1. Προσδιορίστε την δέσμευση συγχώνευσης. Αυτή είναι η δέσμευση που συνδύαζε τις αλλαγές από δύο ή περισσότερους κλάδους σε έναν κλάδο. Μπορείτε να βρείτε τη δέσμευση συγχώνευσης χρησιμοποιώντας την εντολή «git log».

2. Δημιουργήστε ένα νέο υποκατάστημα. Αυτός ο κλάδος θα χρησιμοποιηθεί για τη διατήρηση των αλλαγών που επαναφέρθηκαν. Μπορείτε να δημιουργήσετε ένα νέο κλάδο χρησιμοποιώντας την εντολή «git checkout -b».

3. Επαναφέρετε τον νέο κλάδο στο commit πριν από τη συγχώνευση. Αυτό θα αναιρέσει τις αλλαγές που εισάγονται από την δέσμευση συγχώνευσης. Μπορείτε να χρησιμοποιήσετε την εντολή "git reset --hard" για να το κάνετε αυτό.

4. Πιέστε τον νέο κλάδο στον απομακρυσμένο χώρο αποθήκευσης. Αυτό θα καταστήσει τις αλλαγές που επαναφέρθηκαν διαθέσιμες σε άλλους χρήστες. Μπορείτε να χρησιμοποιήσετε την εντολή «git push» για να το κάνετε αυτό.

5. Διαγράψτε τον κλάδο συγχώνευσης. Αυτός ο κλάδος δεν χρειάζεται πλέον, επομένως μπορείτε να τον διαγράψετε χρησιμοποιώντας την εντολή `git branch -d`.

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

```

$ git log

δέσμευση 1234567

Συγχώνευση:abcdef ghijkl

Συγγραφέας:John Smith

Ημερομηνία:Πέμ 1 Μαρ 09:00:00 2023 -0800

Συγχωνευμένοι κλάδοι «κύριος» και «ανάπτυξη»

$ git checkout -b reverted-merge

$ reset git --hard origin/master

$ git push αρχικής επαναφοράς-συγχώνευσης

$ git κλάδος -d merge-branch

```

Αυτό το παράδειγμα προϋποθέτει ότι η δέσμευση συγχώνευσης έχει τον κατακερματισμό SHA-1 «1234567», ότι οι αρχικοί κλάδοι ονομάζονταν «master» και «develop» και ότι το όνομα του χρήστη είναι «John Smith» και η διεύθυνση ηλεκτρονικού ταχυδρομείου είναι «john@example». com`.

Σημείωση: Η επαναφορά μιας συγχώνευσης δεν είναι το ίδιο με την αναίρεση μιας δέσμευσης. Όταν επαναφέρετε μια συγχώνευση, δημιουργείτε μια νέα δέσμευση που αναιρεί τις αλλαγές που εισάγονται από τη δέσμευση συγχώνευσης. Όταν αναιρείτε μια δέσμευση, απλώς την αφαιρείτε από το ιστορικό του αποθετηρίου.

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα