חברו את חשבון ה-GitHub שלכם לאתר ואנו נשמור על סנכרון הדדי בין השניים בשני הכיוונים. השירות בחינם, הוא כבוי עד שתפעילו אותו, ואנו מבצעים commit אך ורק למאגר (repository) בחשבון שבבעלותכם — לעולם לא באחד משלנו.
מה מסתנכרן
כל שינוי שתבצעו בקובצי האתר שלכם הופך ל-commit במאגר שלכם, לא משנה כיצד שיניתם אותו: מנהל הקבצים, SFTP, עורך התבניות של WordPress, או הפעלת SSH. אינכם צריכים להודיע לנו — אנו משווים את האתר שלכם ל-commit האחרון שלו ומבצעים push להבדלים.
בכיוון ההפוך, פעולת push לענף המחובר שלכם מגיעה ישירות לאתר.
מה לעולם איננו שומרים ב-commit
קובץ ה-wp-config.php שלכם מוחרג, באופן מכוון ולצמיתות. הוא מכיל את סיסמת מסד הנתונים ואת מפתחות האימות (salts) שלכם, ואלה אינם שייכים למאגר — אפילו לא למאגר פרטי, מכיוון ש-git שומר היסטוריה לתמיד.
כמו כן מוחרגים: קובצי .env, מפתחות ותעודות, תיקיית ההעלאות (uploads) שלכם, קובצי מטמון ו-node_modules. מאגר הוא מקור הקוד של האתר שלכם, לא גיבוי. מקומה של המדיה הוא בגיבויים שלכם, שם היא כבר נשמרת, והצבתה כאן תאט כל push ותהפוך כל שינוי לבלתי קריא.
מה קורה אם שני הצדדים השתנו
זו השאלה ששווה לקרוא. נניח שערכתם קובץ במנהל הקבצים, ובינתיים עמית לעבודה דחף (push) שינוי לאותו מאגר.
אנו עוצרים. איננו ממזגים, ואיננו דורסים את השינויים של אף אחד. לשונית ה-Deploy של האתר מציגה את ההודעה "Your repository has changes we haven't seen", מציינת את ה-commit שעליכם לבדוק, וממתינה לכם. שום דבר אינו אובד באף אחד מהצדדים בזמן ההמתנה — העריכה שלכם עדיין באתר, וה-commit שלהם עדיין במאגר.
לאחר מכן אתם בוחרים:
- Keep this site's files — אנו מציבים את הגרסה שלכם מעל הגרסה שלהם. ה-commits שלהם נשארים בהיסטוריה; שום דבר אינו נמחק.
- Use the repository, discard site changes — הגרסה מהמאגר מוחלת על האתר, והשינויים שביצעתם כאן מבוטלים. פעולה זו היא הרסנית, וזו הסיבה לכך שמדובר בלחיצה מכוונת ולעולם לא במשהו שאנו עושים מטעמכם.
אין אפשרות של "מיזוג אוטומטי", מתוך כוונה תחילה. מיזוג שיבוצע על ידינו ייצור קובץ שאף אחד מכם לא כתב, באתר פעיל, ומבלי שאף אחד מכם ראה אותו תחילה.
מדוע הסנכרון עשוי להיעצר
- לא חיברתם את חשבון ה-GitHub שלכם. המתג נשאר כבוי עד שתעשו זאת.
- המערכת ממתינה לכם. ראו לעיל — השהיה אינה מתבטלת מעצמה.
- חשבונכם אינו במצב תקין (in good standing). הסנכרון מושהה ומתחדש מעצמו ברגע שהתשלומים מעודכנים. שום דבר אינו אובד.
לשונית ה-Deploy מציגה את הסנכרונים האחרונים, כולל אלה שבהם דבר לא השתנה. אם רשימה זו ריקה והסנכרון מופעל, סביר להניח שהחשבון המחובר אינו יכול לכתוב למאגר — בדקו את הרשאות הגישה שלו וחברו מחדש.
בחירת התוכן להסתנכרן
כברירת מחדל, האתר כולו מסתנכרן. באתר WordPress זהו בדרך כלל לא מה שאתם רוצים: המשמעות היא סנכרון של כל קובץ מליבת WordPress, שאותו לא כתבתם ולא תערכו. הגדירו את "Sync only this folder" לתיקיית ערכת העיצוב (theme) שלכם — לדוגמה wp-content/themes/my-theme — וכל השאר יישאר ללא שינוי.