Πώς να αντικαταστήσετε τοπικά αρχεία με το Git Pull

Πότε πρέπει να αντικαταστήσετε τοπικά αρχεία;

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

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

Εάν έχετε αρχεία που δεν παρακολουθούνται από το Git (π.χ. μεταφορτωμένο περιεχόμενο χρήστη), αυτά τα αρχεία δεν θα επηρεαστούν.

Η ροή εργασίας αντικατάστασης:

Για να αντικαταστήσετε τα τοπικά σας αρχεία, κάντε τα εξής:

git fetch --all git reset --hard /

Για παράδειγμα:

git fetch --all git reset --hard origin/master

Πως δουλεύει:

git fetch κατεβάζει το πιο πρόσφατο από το τηλεχειριστήριο χωρίς να προσπαθεί να συγχωνεύσει ή να αναδιατάξει τίποτα.

Στη συνέχεια, η επαναφορά του git επαναφέρει τον κύριο κλάδο σε αυτό που μόλις ανακτήσατε. Η --hardεπιλογή αλλάζει όλα τα αρχεία στο δέντρο εργασίας σας για να ταιριάζει με τα αρχεία origin/master.

Επιπλέον πληροφορίες:

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

Για παράδειγμα:

git checkout master git branch new-branch-to-save-current-commits git fetch --all git reset --hard origin/master

Μετά από αυτό, όλες οι παλιές δεσμεύσεις θα διατηρηθούν new-branch-to-save-current-commits. Ωστόσο, οι μη δεσμευμένες αλλαγές (ακόμη και σταδιακές), θα χαθούν. Φροντίστε να αποθηκεύσετε και να δεσμεύσετε ό, τι χρειάζεστε.

Απόδοση:

Αυτό το άρθρο βασίζεται σε μια ερώτηση Stack Overflow blank 'rel =' nofollow '> here_