Συνδέστε τον δικό σας λογαριασμό GitHub σε έναν ιστότοπο και εμείς θα διατηρούμε τα δύο συγχρονισμένα και προς τις δύο κατευθύνσεις. Είναι δωρεάν, παραμένει ανενεργό μέχρι να το ενεργοποιήσετε εσείς, και πραγματοποιούμε commits αποκλειστικά σε αποθετήριο ενός λογαριασμού που σας ανήκει — ποτέ σε δικό μας.
Τι συγχρονίζεται
Οτιδήποτε αλλάζετε στα αρχεία του ιστοτόπου σας γίνεται commit στο αποθετήριό σας, ανεξάρτητα από τον τρόπο με τον οποίο το αλλάξατε: μέσω του διαχειριστή αρχείων, με SFTP, μέσω του επεξεργαστή θεμάτων του WordPress ή σε μια συνεδρία SSH. Δεν χρειάζεται να μας ενημερώσετε — συγκρίνουμε τον ιστότοπό σας με το τελευταίο του commit και προωθούμε τη διαφορά.
Αντίστροφα, μια προώθηση (push) στον συνδεδεμένο κλάδο σας μεταφέρεται στον ιστότοπο.
Τι δεν κάνουμε ποτέ commit
Το αρχείο σας wp-config.php εξαιρείται, σκόπιμα και μόνιμα. Περιέχει τον κωδικό πρόσβασης της βάσης δεδομένων σας και τα salts ταυτοποίησης, και αυτά δεν ανήκουν σε ένα αποθετήριο — ούτε καν σε ένα ιδιωτικό, επειδή το git διατηρεί το ιστορικό για πάντα.
Επίσης εξαιρούνται: αρχεία .env, κλειδιά και πιστοποιητικά, ο φάκελος των μεταφορτώσεών σας (uploads), προσωρινές μνήμες (caches) και το node_modules. Ένα αποθετήριο είναι ο πηγαίος κώδικας του ιστοτόπου σας, όχι αντίγραφο ασφαλείας. Τα πολυμέσα ανήκουν στα αντίγραφα ασφαλείας σας, όπου ήδη φυλάσσονται, και η τοποθέτησή τους εδώ θα καθιστούσε κάθε push αργό και κάθε αλλαγή δυσανάγνωστη.
Τι συμβαίνει εάν υπάρξουν αλλαγές και στις δύο πλευρές
Αυτό είναι το ερώτημα που αξίζει να διαβάσετε. Ας υποθέσουμε ότι επεξεργάζεστε ένα αρχείο στον διαχειριστή αρχείων και εν τω μεταξύ ένας συνάδελφος προωθεί μια αλλαγή στο ίδιο αποθετήριο.
Σταματάμε. Δεν πραγματοποιούμε συγχώνευση (merge) και δεν αντικαθιστούμε τη δουλειά κανενός. Η καρτέλα Deploy του ιστοτόπου εμφανίζει το μήνυμα «Το αποθετήριό σας περιέχει αλλαγές που δεν έχουμε δει», κατονομάζει το commit που πρέπει να ελέγξετε και περιμένει εσάς. Τίποτα δεν χάνεται σε καμία από τις δύο πλευρές κατά την αναμονή — η επεξεργασία σας παραμένει στον ιστότοπο, το δικό τους commit παραμένει στο αποθετήριο.
Στη συνέχεια επιλέγετε:
- Διατήρηση των αρχείων αυτού του ιστοτόπου — τοποθετούμε τη δική σας έκδοση πάνω από τη δική τους. Τα commits τους παραμένουν στο ιστορικό· τίποτα δεν διαγράφεται.
- Χρήση του αποθετηρίου, απόρριψη των αλλαγών του ιστοτόπου — η έκδοση του αποθετηρίου εφαρμόζεται στον ιστότοπο και οι αλλαγές που είχατε κάνει εδώ απορρίπτονται. Αυτή η ενέργεια είναι καταστροφική, γι' αυτό και απαιτεί συνειδητό κλικ και δεν αποτελεί ποτέ κάτι που κάνουμε για λογαριασμό σας.
Δεν υπάρχει επιλογή «αυτόματης συγχώνευσης», από πρόθεση. Μια συγχώνευση που θα πραγματοποιούνταν από εμάς θα δημιουργούσε ένα αρχείο που δεν έγραψε κανένας από τους δυο σας, σε έναν ζωντανό ιστότοπο, χωρίς να το έχει δει προηγουμένως κανείς από εσάς.
Γιατί μπορεί να σταματήσει ο συγχρονισμός
- Δεν έχετε συνδέσει τον δικό σας λογαριασμό GitHub. Ο διακόπτης παραμένει ανενεργός μέχρι να το κάνετε.
- Περιμένει εσάς. Δείτε παραπάνω — μια αναστολή δεν εκκαθαρίζεται από μόνη της.
- Ο λογαριασμός σας δεν είναι σε καλή οικονομική κατάσταση. Ο συγχρονισμός διακόπτεται προσωρινά και συνεχίζεται αυτόματα μόλις τακτοποιηθούν οι χρεώσεις. Τίποτα δεν χάνεται.
Η καρτέλα Deploy εμφανίζει τους τελευταίους συγχρονισμούς, συμπεριλαμβανομένων εκείνων όπου τίποτα δεν είχε αλλάξει. Εάν αυτή η λίστα είναι κενή και ο συγχρονισμός είναι ενεργοποιημένος, ο συνδεδεμένος λογαριασμός κατά πάσα πιθανότητα δεν μπορεί να γράψει στο αποθετήριο — ελέγξτε τα δικαιώματα πρόσβασής του και συνδεθείτε ξανά.
Επιλογή του τι συγχρονίζεται
Από προεπιλογή, συγχρονίζεται ολόκληρος ο ιστότοπος. Σε έναν ιστότοπο WordPress αυτό συνήθως δεν είναι αυτό που θέλετε: σημαίνει κάθε αρχείο του πυρήνα του WordPress, το οποίο δεν γράψατε εσείς και δεν πρόκειται να επεξεργαστείτε. Ορίστε την επιλογή «Συγχρονισμός μόνο αυτού του φακέλου» στο θέμα σας — για παράδειγμα wp-content/themes/my-theme — και τα υπόλοιπα παραμένουν ανέγγιχτα.