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



Δοκιμάστε Το Όργανο Μας Για Την Εξάλειψη Των Προβλημάτων

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



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

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



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



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

Ένα αποθετήριο είναι ένα είδος αποθήκευσης για κώδικα που τροποποιείται συνεχώς και λαμβάνεται από τα μέλη της ομάδας μέσω του μηχανισμού ελέγχου έκδοσης GitHub. ΕΝΑ ' Τραβήξτε' σημαίνει ότι τραβάτε την τελευταία έκδοση του αποθετηρίου στον τοπικό σας χώρο αποθήκευσης / 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:

τράβηγμα

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

Διαβάστε 3 λεπτά