Τρόπος διόρθωσης του σφάλματος Git & lsquo; Οι τοπικές αλλαγές στα ακόλουθα αρχεία θα αντικατασταθούν από τη συγχώνευση & rsquo;

Το μήνυμα σφάλματος " Οι τοπικές σας αλλαγές στα ακόλουθα αρχεία θα αντικατασταθούν από τη συγχώνευση " εμφανίζεται στον μηχανισμό ελέγχου έκδοσης Git. Αυτό το σφάλμα παρουσιάζεται εάν έχετε τροποποιήσει ένα αρχείο το οποίο έχει επίσης τροποποιήσεις στο απομακρυσμένο αποθετήριο.

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

Αυτό το μήνυμα σφάλματος αποφεύγεται ΕΑΝ δεν υπάρχουν αρχεία χωρίς δέσμευση που έχουν επίσης τροποποιήσεις στο απομακρυσμένο αποθετήριο. Όταν αντιμετωπίζετε αυτό το μήνυμα, είναι καλύτερο να συμβουλευτείτε τα άλλα μέλη της ομάδας σας και να ζητήσετε τη γνώμη τους. Είτε θέλετε να συγχωνεύσετε τις τοπικές αλλαγές σας ή να διατηρήσετε την έκδοση παρούσα στο αποθετήριο, είναι καλύτερο να διατηρήσετε όλα τα μέλη του.

Τι είναι τα αποθετήρια; Τι είναι το push και pull στο Git;

Ένα αποθετήριο είναι ένα είδος αποθήκευσης για κώδικα που τροποποιείται συνεχώς και λαμβάνεται από τα μέλη της ομάδας μέσω του μηχανισμού ελέγχου έκδοσης GitHub. Ένα « Pull» σημαίνει ότι τραβάτε την τελευταία έκδοση του αποθετηρίου στον τοπικό σας χώρο αποθήκευσης / IDE (ολοκληρωμένο περιβάλλον ανάπτυξης) όπως το Pycharm κ.λπ.

Μετά από ένα τράβηγμα, κάνετε αλλαγές στον κώδικα ή προσθέτετε περισσότερες δυνατότητες. Μόλις τελειώσετε, θα " Σπρώξετε" τον κωδικό στο αποθετήριο, ώστε οι αλλαγές να αποθηκευτούν και να γίνουν προσθήκες. Ο κωδικός γίνεται προσβάσιμος και σε άλλα άτομα.

Εάν είστε νέοι στο στοιχείο ελέγχου έκδοσης Github, συνιστάται να διαβάσετε πρώτα όλα τα βασικά. Σε αυτό το άρθρο, υποθέτουμε ότι έχετε ήδη βασικές γνώσεις και γνωρίζετε όλα τα σημεία.

Πώς να διορθώσετε "Οι τοπικές αλλαγές στα ακόλουθα αρχεία θα αντικατασταθούν από τη συγχώνευση";

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

Ως εκ τούτου, σας συνιστούμε να συμβουλευτείτε τα μέλη της ομάδας σας και να βεβαιωθείτε ότι είστε όλοι στην ίδια σελίδα πριν προχωρήσετε. Εάν διαπράξετε λάθος ή προωθήσετε τη λάθος έκδοση, θα μπορούσε να επηρεάσει ολόκληρη την ομάδα.

Μέθοδος 1: Αναγκαστική αλλαγή για αντικατάσταση τοπικών αλλαγών

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

Εκτελέστε τις ακόλουθες εντολές στο IDE σας:

επαναφορά git - σκληρό τράβηγμα git

Αυτό θα καταστρέψει αμέσως όλες τις τοπικές αλλαγές σας, οπότε βεβαιωθείτε ότι γνωρίζετε τι κάνετε και δεν χρειάζεστε τις τοπικές αλλαγές.

Μέθοδος 2: Διατήρηση και των δύο αλλαγών (τοπικά και από το repo)

Εάν θέλετε να διατηρήσετε και τις δύο αλλαγές (οι αλλαγές γίνονται τοπικά και οι αλλαγές υπάρχουν στο αποθετήριο), μπορείτε να προσθέσετε και να πραγματοποιήσετε τις αλλαγές σας. Όταν τραβήξετε, προφανώς θα υπάρξει σύγκρουση συγχώνευσης. Εδώ μπορείτε να χρησιμοποιήσετε τα εργαλεία στο IDE σας (όπως το Difftool και το mergetool) για να συγκρίνετε τα δύο κομμάτια κώδικα και να καθορίσετε ποιες αλλαγές πρέπει να διατηρήσετε και ποιες πρέπει να καταργήσετε. Αυτός είναι ο μέσος τρόπος. δεν θα χαθούν αλλαγές μέχρι να τις καταργήσετε με μη αυτόματο τρόπο.

git add $ the_file_under_error git commit git pull

Όταν λάβετε μια διένεξη συγχώνευσης, ανοίξτε αυτά τα εργαλεία επίλυσης διενέξεων και ελέγξτε κάθε γραμμή.

Μέθοδος 3: Διατηρώντας και τις δύο αλλαγές, ΑΛΛΑ δεν δεσμεύονται

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

git stash save - διατηρήστε το ευρετήριο

ή

git stash
git pull git stash ποπ

Εάν υπάρχουν κάποιες διενέξεις μετά την εμφάνιση του stash, θα πρέπει να τις επιλύσετε με τον συνηθισμένο τρόπο. Μπορείτε επίσης να χρησιμοποιήσετε την εντολή:

ισχύουν git stash

αντί για pop εάν δεν είστε έτοιμοι να χάσετε τον αποθηκευμένο κώδικα λόγω διενέξεων.

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

git stash git pull --rebase προέλευση master git stash pop

Μέθοδος 4: Κάντε αλλαγές σε «συγκεκριμένα» τμήματα του κώδικα σας

Εάν θέλετε να κάνετε αλλαγές σε συγκεκριμένα μέρη του κώδικα και δεν θέλετε να αντικαταστήσετε τα πάντα, μπορείτε να δεσμεύσετε ό, τι δεν θέλετε να αντικαταστήσετε και στη συνέχεια να ακολουθήσετε τη μέθοδο 3. Μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή για τις αλλαγές που θέλετε να αντικαταστήσετε από την έκδοση που υπάρχει στο αποθετήριο:

git διαδρομή ολοκλήρωσης / προς / αρχείο / προς / επαναφορά

ή

git checkout HEAD ^ διαδρομή / προς / αρχείο / προς / επαναφορά

Επίσης, πρέπει να βεβαιωθείτε ότι το αρχείο δεν έχει σταδιακή μέσω:

git reset HEAD path / to / file / to / revert

Στη συνέχεια, προχωρήστε με την εντολή pull:

τράβηγμα

Αυτό θα προσπαθήσει στη συνέχεια να ανακτήσει την έκδοση από το αποθετήριο.