Βάση γνώσεων

Αμφίδρομος συγχρονισμός με το αποθετήριο GitHub σας

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

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

Τι συγχρονίζεται

Οτιδήποτε αλλάζετε στα αρχεία του ιστοτόπου σας γίνεται commit στο αποθετήριό σας, ανεξάρτητα από το πώς το αλλάξατε: η διαχείριση αρχείων, το SFTP, ο επεξεργαστής θεμάτων του WordPress ή μια συνεδρία SSH. Δεν χρειάζεται να μας ενημερώσετε — συγκρίνουμε τον ιστότοπό σας με το τελευταίο του commit και προωθούμε τη διαφορά.

Πηγαίνοντας προς την άλλη κατεύθυνση, ένα push στον συνδεδεμένο κλάδο σας καταλήγει στον ιστότοπο.

Τι δεν κάνουμε ποτέ commit

Το αρχείο σας wp-config.php εξαιρείται, σκόπιμα και μόνιμα. Περιέχει τον κωδικό πρόσβασης της βάσης δεδομένων σας και τα άλατα πιστοποίησης (authentication salts), και αυτά δεν ανήκουν σε αποθετήριο — ούτε καν σε ιδιωτικό, επειδή το git διατηρεί το ιστορικό για πάντα.

Εξαιρούνται επίσης: τα αρχεία .env, κλειδιά και πιστοποιητικά, ο φάκελος μεταφορτώσεών σας, οι κνήμες (caches) και τα node_modules. Ένα αποθετήριο είναι ο πηγαίος κώδικας του ιστοτόπου σας, όχι αντίγραφο ασφαλείας. Τα πολυμέσα ανήκουν στα αντίγραφα ασφαλείας σας, όπου φυλάσσονται ήδη, και η τοποθέτησή τους εδώ θα έκανε κάθε push αργό και κάθε αλλαγή δυσανάγνωστη.

Τι συμβαίνει αν και οι δύο πλευρές έχουν αλλάξει

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

Σταματάμε. Δεν συγχωνεύουμε και δεν αντικαθιστούμε κανέναν. Η καρτέλα Deploy (Ανάπτυξη) του ιστοτόπου δείχνει "Το αποθετήριό σας έχει αλλαγές που δεν έχουμε δει", κατονομάζει το commit που πρέπει να εξετάσετε και περιμένει εσάς. Τίποτα δεν χάνεται από καμία πλευρά όσο περιμένει — η επεξεργασία σας είναι ακόμα στον ιστότοπο, το commit τους είναι ακόμα στο αποθετήριο.

Στη συνέχεια επιλέγετε:

  • Διατήρηση των αρχείων αυτού του ιστοτόπου — τοποθετούμε την έκδοσή σας πάνω από τη δική τους. Τα commits τους παραμένουν στο ιστορικό· τίποτα δεν διαγράφεται.
  • Χρήση του αποθετηρίου, απόρριψη αλλαγών ιστοτόπου — η έκδοση του αποθετηρίου εφαρμόζεται στον ιστότοπο και οι αλλαγές που είχατε κάνει εδώ απορρίπτονται. Αυτή η ενέργεια είναι καταστροφική, γι' αυτό και αποτελεί μια σκόπιμη επιλογή με κλικ και ποτέ κάτι που κάνουμε για λογαριασμό σας.

Δεν υπάρχει επιλογή "αυτόματη συγχώνευση", επίτηδες. Μια συγχώνευση που εκτελείται από εμάς θα παρήγαγε ένα αρχείο που δεν έγραψε κανένας από τους δύο σας, σε έναν ζωντανό ιστότοπο, χωρίς κανένας από τους δύο σας να το δει πρώτα.

Γιατί ο συγχρονισμός ενδέχεται να σταματήσει

  • Δεν έχετε συνδέσει τον δικό σας λογαριασμό GitHub. Ο διακόπτης παραμένει απενεργοποιημένος μέχρι να το κάνετε.
  • Περιμένει εσάς. Βλ. παραπάνω — μια αναμονή δεν διαγράφεται από μόνη της.
  • Ο λογαριασμός σας δεν είναι σε καλή κατάσταση. Ο συγχρονισμός παύει και συνεχίζεται από μόνος του μόλις η χρέωση είναι ενημερωμένη. Τίποτα δεν χάνεται.

Η καρτέλα Deploy (Ανάπτυξη) δείχνει τους τελευταίους συγχρονισμούς, συμπεριλαμβανομένων εκείνων όπου τίποτα δεν είχε αλλάξει. Εάν αυτή η λίστα είναι κενή και ο συγχρονισμός είναι ενεργοποιημένος, ο συνδεδεμένος λογαριασμός πιθανότατα δεν μπορεί να γράψει στο αποθετήριο — ελέγξτε την πρόσβασή του και επανασυνδέστε τον.

Επιλογή των στοιχείων που συγχρονίζονται

Από προεπιλογή συγχρονίζεται ολόκληρος ο ιστότοπος. Σε έναν ιστότοπο WordPress αυτό συνήθως δεν είναι αυτό που θέλετε: σημαίνει κάθε αρχείο του πυρήνα του WordPress, το οποίο δεν γράψατε και δεν θα επεξεργαστείτε. Ορίστε το "Συγχρονισμός μόνο αυτού του φακέλου" στο θέμα σας — για παράδειγμα wp-content/themes/my-theme — και τα υπόλοιπα παραμένουν ως έχουν.

Εξακολουθείτε να έχετε απορίες;

Η υποστήριξη περιλαμβάνεται σε κάθε πρόγραμμα και απαντάμε στη γλώσσα σας.

Επικοινωνία με την υποστήριξη Όλα τα άρθρα