قاعدة المعرفة
المزامنة ثنائية الاتجاه مع مستودع GitHub الخاص بك
تتحول التغييرات التي تجريها على موقعك إلى التزامات (commits) في مستودعك الخاص، وما ترسله (push) إلى هناك ينعكس على موقعك. إنها مجانية، وإليك ما يحدث عندما يتغير الطرفان في نفس الوقت.
ربط حساب GitHub الخاص بكم بالموقع وسنحافظ على مزامنة الاثنين في كلا الاتجاهين. هذه الخدمة مجانية، وتكون معطلة حتى تقوموا بتشغيلها، ولن نقوم بالإيداع (commit) إلا في مستودع مملوك لحسابكم — ولا نقوم بذلك أبداً في أي مستودع خاص بنا.
ما يتم مزامنته
أي تعديل تجرونه على ملفات موقعكم يصبح إيداعاً (commit) في المستودع الخاص بكم، بغض النظر عن طريقة التعديل: سواء عبر مدير الملفات، أو SFTP، أو محرر قوالب WordPress، أو عبر جلسة SSH. لا داعي لإبلاغنا — فنحن نقارن موقعكم بآخر إيداع تم فيه ونقوم بدفع (push) التغييرات.
وفي الاتجاه الآخر، فإن أي عملية دفع (push) إلى الفرع المرتبط تنزل مباشرة على الموقع.
ما لا نقوم بإيداعه أبداً
تم استبعاد ملف wp-config.php الخاص بكم بشكل متعمد ودائم. فهو يحتوي على كلمة مرور قاعدة البيانات ورموز المصادقة الخاصة بكم، وهذه البيانات لا تنتمي إلى المستودع — حتى لو كان مستودعاً خاصاً، لأن نظام git يحتفظ بالسجل إلى الأبد.
يتم أيضاً استبعاد: ملفات .env، والمفاتيح والشهادات، ومجلد المرفوعات، والملفات المؤقتة (caches)، ومجلد node_modules. المستودع هو الشفرة المصدرية لموقعكم وليس نسخة احتياطية. الوسائط تنتمي إلى نسخكم الاحتياطية، حيث يتم الاحتفاظ بها بالفعل هناك، ووضعها هنا سيجعل كل عملية دفع بطيئة وكل تغيير غير قابل للقراءة.
ماذا يحدث إذا تم التغيير من كلا الطرفين
هذا هو السؤال الذي يستحق القراءة. لنفترض أنكم قمتم بتعديل ملف في مدير الملفات، وفي هذه الأثناء قام زميل بدفع تغيير إلى المستودع نفسه.
نحن نتوقف. لا نقوم بالدمج (merge)، ولا نكتب فوق تغييرات أي شخص. تُظهر تبويب النشر (Deploy) الخاص بالموقع "يحتوي مستودعكم على تغييرات لم نطلع عليها بعد"، وتحدد الإيداع الذي تحتاجون إلى مراجعته، وتنتظر إجراءكم. لا يضيع أي شيء على كلا الطرفين أثناء الانتظار — فتعديلكم لا يزال على الموقع، وإيداعهم لا يزال في المستودع.
ثم تختارون:
- الاحتفاظ بملفات هذا الموقع — نضع نسختكم فوق نسختهم. تبقى إيداعاتهم في السجل؛ ولا يتم مسح أي شيء.
- استخدام المستودع، وتجاهل تغييرات الموقع — يتم تطبيق نسخة المستودع على الموقع، وتُتلف التغييرات التي قمتم بإجرائها هنا. هذا الخيار تنفيذي ويؤدي إلى الفقدان، ولهذا السبب يتطلب نقرة متعمدة ولا نفعله أبداً نيابة عنكم.
لا يوجد خيار "دمج تلقائي" بشكل متعمد. فالدمج الذي نجريه قد ينتج ملفاً لم يكتبه أي منكم، على موقع مباشر، دون أن يراه أي منكم أولاً.
لماذا قد تتوقف المزامنة
- لم تقوموا بربط حساب GitHub الخاص بكم. يظل المفتاح معطلاً حتى تقوموا بذلك.
- النظام بانتظاركم. انظروا أعلاه — التوقف لا يلغي نفسه تلقائياً.
- حسابكم ليس في وضع جيد. تتوقف المزامنة مؤقتاً وتستأنف تلقائياً بمجرد تحديث بيانات الفوترة. لا يضيع أي شيء.
يُظهر تبويب النشر (Deploy) عمليات المزامنة الأخيرة، بما في ذلك العمليات التي لم يتغير فيها شيء. إذا كانت هذه القائمة فارغة وكانت المزامنة قيد التشغيل، فمن المرجح أن الحساب المرتبط لا يمكنه الكتابة في المستودع — يرجى التحقق من صلاحيات الوصول وإعادة الربط.
اختيار ما يتم مزامنته
بشكل افتراضي، يتم مزامنة الموقع بأكمله. في موقع WordPress، ليس هذا ما تريدونه عادةً: فهو يعني مزامنة كل ملف من ملفات نواة WordPress، والتي لم تكتبوها ولن تقوموا بتعديلها. قم بضبط "مزامنة هذا المجلد فقط" على القالب الخاص بكم — على سبيل المثال wp-content/themes/my-theme — وسيترَك الباقي دون تغيير.