מאגר ידע

סנכרון דו-כיווני עם מאגר ה-GitHub שלך

השינויים שאתה מבצע באתר שלך הופכים לקומיטטים (Commits) במאגר שלך, ומה שאתה דוחף (Push) לשם מופיע באתר שלך. זה חינמי, והנה מה שקורה כאשר שני הצדדים משתנים בו-זמנית.

חברו את חשבון ה-GitHub שלכם לאתר ואנו נשמור על תיאום מלא בין השניים בשתי הדרכים. השירות הוא חינמי, הוא מושבת עד שתפעילו אותו, ואנו תמיד מבצעים commit אך ורק אל מאגר (repository) בחשבון שבבעלותכם — לעולם לא באחד משלנו.

מה מסתנכרן

כל מה שתשנו בקבצי האתר שלכם יהפוך ל-commit במאגר שלכם, ללא קשר לדרך שבה ביצעתם את השינוי: מנהל הקבצים, SFTP, עורך ערכות הנושא של WordPress, או חיבור SSH. אינכם חייבים לעדכן אותנו — אנו משווים את האתר שלכם מול ה-commit האחרון שלו ומבצעים push להפרש.

בכיוון ההפוך, push שיתבצע לענף (branch) המחובר שלכם יגיע אל האתר.

מה לעולם אינו עובר ל-commit

הקובץ wp-config.php שלכם מוחרג, באופן מכוון ותמידי. הוא מכיל את סיסמת מסד הנתונים שלכם ואת מפתחות האימות (authentication salts) שלכם, ואלה אינם שייכים למאגר — אפילו לא למאגר פרטי, משום ש-git שומר את ההיסטוריה לנצח.

מוחרגים גם: קבצי .env, מפתחות ותעודות, תיקיית ההעלאות (uploads) שלכם, מטמונים (caches) ו-node_modules. מאגר הוא קוד המקור של האתר שלכם, ולא גיבוי. מדיה שייכת לגיבויים שלכם, שבהם היא כבר נשמרת, והכנסתה לכאן תהפוך כל פעולת push לאיטית וכל שינוי לבלתי קריא.

מה קורה אם שני הצדדים ביצעו שינויים

זו השאלות שכדאי לקרוא. נניח שערכתם קובץ במנהל הקבצים, ובמקביל עמית לעבודה ביצע push של שינוי לאותו מאגר.

אנו נעצרים. איננו מבצעים מיזוג (merge), ואיננו דורסים אף אחד. לשונית הפריסה (Deploy) של האתר מציגה את הטקסט "Your repository has changes we haven't seen", מציינת את שמו של ה-commit שעליכם לבדוק, וממתינה לכם. שום דבר אינו אבד באף אחד מהצדדים בזמן ההמתנה — העריכה שלכם עדיין נמצאת באתר, וה-commit שלהם עדיין נמצא במאגר.

לאחר מכן אתם בוחרים:

  • שמירת קבצי אתר זה — אנו מציבים את הגרסה שלכם מעל שלהם. ה-commits שלהם נשארים בהיסטוריה; שום דבר אינו נמחק.
  • שימוש במאגר, התעלמות משינויי האתר — הגרסה של המאגר מוחלת על האתר, והשינויים שביצעתם כאן מנוסחים ונמחקים. אפשרות זו היא הרסנית, וזו הסיבה שהיא דורשת לחיצה מכוונות ולעולם אינה מתבצעת על ידינו בשמכם.

אין אפשרות של "מיזוג אוטומטי", במתכוון. מיזוג שיבוצע על ידינו ייצר קובץ שאף אחד מכם לא כתב, באתר חי, מבלי ששניכם תראו זאת קודם לכן.

מדוע הסנכרון עלול להפסיק

  • טרם חיברתם חשבון GitHub משלכם. המתג נשאר כבוי עד שתעשו זאת.
  • השירות ממתין לכם. ראו לעיל — עצירה אינה מתבטלת מעצמה.
  • חשבונכם אינו במצב תקין. הסנכרון מושהה ומתחדש מעצמו ברגע שנתוני החיוב מעודכנים. דבר אינו אבד.

לשונית הפריסה (Deploy) מציגה את הסנכרונים האחרונים, כולל אלה שבהם דבר לא השתנה. אם רשימה זו ריקה והסנכרון מופעל, סביר מאוד שהח חשבון המחובר אינו מסוגל לכתוב למאגר — בדקו את הרשאות הגישה שלו וחברו אותו מחדש.

בחירת הפריטים המיועדים לסנכרון

כברירת מחדל, האתר כולו מסתנכרן. באתר WordPress זו לרוב אינה התוצאה הרצויה: פירוש הדבר הוא שכל קובץ בליבת WordPress, שאותו לא כתבתם ושלא תערכו, ייכלל. הגדירו את "Sync only this folder" כך שיופנה אל ערכת הנושא שלכם — לדוגמה wp-content/themes/my-theme — והשאר יישאר ללא שינוי.

עדיין תקועים?

התמיכה כלולה בכל תוכנית והמענים ניתנים בשפה שלך.

צור קשר עם התמיכה כל המאמרים
סנכרון דו-כיווני עם מאגר ה-GitHub שלך