كيفية استخدام Git لنشر موقعك المحلي على الهواء مباشرة

نشرت: 2022-10-18

تبذل الكثير من الشركات جهودًا كبيرة لجعل تطوير مواقع الويب أمرًا سهلاً للمستخدم العادي. هذا أمر منطقي ، لأن هناك مالكي مواقع ليس لديهم (أو يريدون) الوقت لتعلم كل جانب من جوانب إدارة موقع محلي. ومع ذلك ، مع القليل من البحث ، يمكنك استخدام Git للتعامل مع عملية دفع موقعك إلى الحياة. يمنحك هذا مزيدًا من الأمان ، وبمجرد إعداد كل شيء ، يكون هناك مسار أسهل لإجراء تغييرات على الموقع.

ومع ذلك ، فإن الوصول إلى هذه النقطة أمر صعب بالتأكيد. هناك الكثير من المتطلبات الأساسية التي يجب مراعاتها ، والمهارات التي تحتاجها ، والأدوات التي تحتاجها. أيضًا ، ستحتاج إلى التفكير في العملية في المرات القليلة الأولى ، لأن هناك الكثير لتتذكره. ومع ذلك ، فإن استخدام Git لنشر موقع ما ممكن لكل مستخدم تقريبًا ، ولا يجب أن يكون معقدًا كما تعتقد.

في هذا البرنامج التعليمي ، سنعرض لك خطوة بخطوة كيفية استخدام Git لدفع موقع محلي إلى خادم مباشر. أولاً ، دعنا نستعرض بعض الأدوات والتقنيات التي سنعرضها في المنشور.

مقدمة لبوابة

بالنسبة للغير مدركين ، يعد Git نظامًا للتحكم في الإصدار (VCS). إنها طريقة لحفظ وتسجيل التغييرات التي تجريها على مشروع - غالبًا ما يكون تطبيقًا أو موقع ويب. إنه شيء نتطرق إليه في مكان آخر ، لكنك ستحتاج إلى معرفة المزيد عنه لهذا البرنامج التعليمي.

مستودع WordPress GitHub.

الطريقة النموذجية لاستخدام Git هي من خلال واجهة سطر الأوامر (CLI) - إذا كان لديك خبرة في WP-CLI ، فهي طريقة مماثلة. ستستخدم الأوامر لتمييز وتنظيم الملفات التي تعمل عليها بعدة طرق:

  • قبل إصدار الأوامر ، ستبقى الملفات "غير مرتبة". هذا يعني أنهم ليسوا جزءًا من "مستودع" Git (الدليل الذي يخزن سجلك).
  • ستصدر أمرًا لوضع كل ملفاتك أو بعضها ، وفي هذه المرحلة لا يزال بإمكانك العمل عليها.
  • عند الانتهاء ، تلتزم بالملفات في "الريبو" من منطقة التدريج. هذا أقرب إلى حفظ تلك التغييرات.

يمكن أن يكون الأمر أكثر تعقيدًا من ذلك ، ولكن في أغلب الأحيان لن تستخدم سوى عدد قليل من الأوامر لتنفيذ الأعمال اليومية باستخدام Git.

استخدام Git للتطوير القائم على الفريق

Git هي أداة رئيسية لفرق التطوير ، لأن كل مطور سيفتح "فرعًا" مختلفًا في نفس الريبو. هذا يعني أنه يمكن للجميع العمل في المشروع دون التأثير على ملفات الآخرين. على فترات منتظمة - غالبًا ما تكون المهمة الأخيرة في اليوم - سيلتزم الفريق بإجراء تغييرات على الريبو.

سيبحث أحد كبار أعضاء الفريق بعد ذلك عن "دمج" جميع الفروع والتغيير معًا إلى main أو trunk الريبو. في هذه المرحلة ، سيكون لديك مجموعة نهائية من ملفات المشروع داخل الريبو.

بالنسبة لمطور واحد - على الأرجح أنت - لا يزال لدى Git قيمة كنوع من أدوات الادخار التزايدية. ستفتح فرعًا جديدًا ، وتعمل على موقعك ، ثم تنظم وتنفذ تلك التغييرات. هذا يعني أنه يمكنك فعل ما تريد في الفرع دون التأثير على أي ملف آخر على موقعك. عندما تريد الالتزام (أو الحذف) ، يمكنك القيام بذلك.

كتاب تمهيدي سريع عن تطوير WordPress المحلي

قبل أن ننتقل ، يجب أن نلاحظ أن العمل على موقعك بعيدًا عن الخادم المباشر هو ممارسة نموذجية موصى بها. إذا لم تقم بذلك بعد ، فتحقق من مقالتنا حول كيفية تثبيت WordPress. أيضًا ، قد ترغب في التفكير في تطبيق مخصص للعمل على موقعك.

شعار DevKinsta.

يعد Local by Flywheel خيارًا جيدًا ، وكذلك DevKinsta. بغض النظر ، هناك الكثير من الطرق لإنشاء موقع محلي ، وهو شيء تريد أن يكون موجودًا.

لماذا تريد استخدام Git لنشر موقع محلي مباشر

السبب الرئيسي وراء رغبتك في استخدام Git لنشر موقعك على الويب هو السبب الذي ذكرناه أعلاه: المرونة. تعني طبيعة Git أنه سيكون لديك فرع رئيسي يعمل كمجموعة نهائية من ملفات المشروع. ومع ذلك ، يمكنك فتح أي عدد تريده من الفروع الجديدة - في الواقع ، إنها بالضبط الطريقة التي تستخدم بها الفرق الكبيرة Git على نطاق واسع.

باستخدام هذا الأسلوب ، يمكنك إنشاء فرع جديد للعمل على تصميم الصفحة الرئيسية لموقعك ، دون الحاجة إلى التأثير على ملفاتك الأساسية. ضع في اعتبارك فرعًا نوعًا من الاستنساخ تقوم بدمجه مرة أخرى في فرعك الرئيسي من خلال الالتزامات المرحلية.

ومع ذلك ، هناك بعض الأسباب الأخرى التي تجعل Git مفيدًا:

  • يمكنك استضافة Git repo في أي مكان. GitHub و GitLab هما موقعان يركزان على استضافة مستودعات Git. من هناك ، يمكنك جلب أعضاء الفريق أو المطورين الآخرين إذا كنت بحاجة إلى دعم إضافي. يمكنك حتى ترحيل موقع بسهولة.
  • بالطبع ، لن تحتاج إلى العمل على موقعك المباشر ، وهو أمر رائع من وجهة نظر متعلقة بالأمان والأداء. ومع ذلك ، يمكنك اختيار دفع الملفات التي تعمل عليها فقط. يوفر هذا فوائد هائلة لأنك لست بحاجة إلى لمس قاعدة بيانات WordPress الخاصة بك. هذا هو الهدف الرئيسي لإنشاء موقع الويب ، ومن الممكن القيام بذلك باستخدام Git والتثبيت المحلي.

ومع ذلك ، للوصول إلى هذه النقطة ، ستحتاج إلى عدد من الأدوات والمهارات والمتطلبات الأساسية في متناول اليد. بعد ذلك ، سنستعرض ما هم عليه.

ما ستحتاجه قبل استخدام Git لنشر المواقع مباشرة (الأدوات والمهارات)

تجدر الإشارة إلى ما يجب أن يكون موجودًا بالفعل قبل أن تفكر في الإضافات التي ستحتاج إليها. على سبيل المثال ، تأكد من أن لديك ما يلي في متناول يدك:

  • نسخة محلية من موقعك الحالي.
  • الوصول إلى لوحة تحكم الاستضافة والخادم كمسؤول.

من هنا ، يمكنك التفكير فيما تحتاجه أيضًا لاستخدام Git مع موقعك المحلي وخادمك المباشر:

  • ستحتاج إلى تثبيت Git على جهاز الكمبيوتر الخاص بك. غالبًا ما تحقق ذلك من خلال سطر الأوامر.
  • عند الحديث عن ذلك ، سترغب في معرفة كيفية استخدام سطر الأوامر. على وجه التحديد ، يجب أن تعرف كيفية التنقل في جهاز الكمبيوتر الخاص بك ، وإنشاء الدلائل والملفات ، وكذلك إزالتها.
  • معرفة وصول Secure Shell (SSH) للخادم الخاص بك ، وعلى الأقل الإلمام بإنشاء مفاتيح آمنة. يمكنك معرفة المزيد عن هذا في مقالتنا حول بروتوكول نقل الملفات الآمن (SFTP).

يجب أن يكون هذا كافيًا للبدء ، لكننا سنذكر في بقية المقالة إذا كان هناك شيء آخر يتطلب انتباهك.

كيفية استخدام Git لنشر موقعك المحلي على الهواء مباشرة

هناك أربع خطوات ستحتاج إلى اتخاذها لإعداد كل شيء. هذا ما سنقوم بتغطيته:

  1. إعداد Git repo لموقعك المحلي.
  2. إعداد Git repo عن بُعد.
  3. إخبار Git repo بالمكان الذي يحتاج فيه لدفع التغييرات.
  4. إضافة ارتباط بعيد ودفع التغييرات مباشرة.

هناك الكثير لتخطيه هنا ، فلنبدأ!

1. قم بإعداد مستودع Git لموقعك المحلي

في حين أن هناك عدة طرق لإعداد Git repos ، سنفعل ذلك باستخدام سطر الأوامر لأنه الطريقة الأكثر شيوعًا. مع فتح نافذة Terminal ، انتقل أولاً إلى الدليل المحلي لموقعك:

الانتقال إلى مجلد محلي باستخدام المحطة الطرفية وسطر الأوامر.

لإعداد البنية اللازمة لـ Git repo ، قم بتشغيل الأوامر التالية واحدًا تلو الآخر:

 git init git add .

سيُنشئ الأمر الأول الدليل الذي تحتاجه ويجعله مخفيًا ، بينما يضيف الأمر الثاني جميع الملفات الموجودة في دليل موقعك إلى منطقة التدريج Git - الفترة عبارة عن مُعدِّل "wildcard":

تهيئة Git repo وإضافة الملفات باستخدام سطر الأوامر.

لمعرفة الملفات الموجودة في منطقة التدريج ، استخدم الأمر git status :

تشغيل حالة git لمعرفة الملفات التي تم تنظيمها على مراحل.

من هنا ، سترغب في تنفيذ التزام أولي بهذه التغييرات لملء الريبو المحلي الخاص بك. يمكنك القيام بذلك باستخدام الأمر التالي:

git commit -m "Initial commit."

تخبر العلامة -m الأمر بأن ما يلي هو رسالة الالتزام الخاصة بك. ستحتاج إلى القيام بذلك على أي حال لكل التزام ، ومن الأسهل القيام بذلك من مكان واحد.

من هنا ، يكون لديك كل شيء معدة على جهاز الكمبيوتر الخاص بك. بعد ذلك ، حان وقت العمل على الخادم البعيد.

2. قم بإعداد Git Repo على الخادم المباشر لموقعك

تشبه العملية هنا الإعداد المحلي الخاص بك ، ولكنها تتطلب منك تسجيل الدخول إلى الخادم الخاص بك باستخدام SSH. استخدام هذا خارج نطاق هذه المقالة ، ولكن يمكننا توجيهك إلى منشور بواسطة Tom McFarlin يوضح الخطوات التي تحتاجها. بدلاً من ذلك ، يمكنك دائمًا أن تسأل مضيفك - لا ينبغي أن يكون لديه مشكلة في إظهار مكان بيانات الاعتماد هذه.

بمجرد تسجيل الدخول إلى الخادم الخاص بك من خلال سطر الأوامر ، سترغب في الانتقال إلى منطقة خاصة من الخادم الخاص بك حتى لا يتمكن المستخدمون الخارجيون من الوصول إلى Git repo. يكون الدليل غالبًا /private/ ، على الرغم من أنك تريد أن تسأل مضيفك عن هذا الأمر.

في هذا الدليل ، سترغب في إنشاء دليل آخر والانتقال إليه:

 mkdir remoterepo.git cd remoterepo.git

طالما أن الدليل يستخدم الامتداد .git ، يمكنك تسميته بأي شيء تريده. من هنا ، قم بتهيئة git repo داخل الدليل ، وهذه المرة باستخدام العلامة –bare:

git --bare init

يؤدي هذا إلى إنشاء الريبو الذي تحتاجه بدون ملفات المشروع ، وهو آمن وموصى به.

3. قم بإنشاء "خطاف" في الريبو الخاص بك وقم بتعيين أذونات الملف الصحيحة

أثناء وجودك في الخادم ، ستحتاج إلى إنشاء ملف لإخبار Git بمكان دفع التغييرات. أولاً ، قم بتشغيل الأمر nano hooks/post-receive command . يؤدي هذا إلى فتح محرر سطر أوامر يسمى Nano ، وإنشاء الملف في الدليل الصحيح.

في هذا الملف ، أضف ما يلي:

 #!/bin/sh GIT_WORK_TREE=/home/username/example.com git checkout -f

يجب أن يشير /home/user/example.com إلى الموقع الدقيق للملفات المباشرة لموقعك. يجب أن يكون username هو الاسم الذي قمت بتسجيل الدخول إلى shell به ، ويجب أن يكون example.com مجال موقعك المباشر. بمجرد القيام بذلك ، احفظ التغييرات.

الخطوة الأخيرة هنا هي تعيين أذونات الملف الصحيحة لهذا الملف. يمكنك القيام بذلك باستخدام الأمر chmod +x hooks/post-receive Receiver. أمر تغيير الوضع (chmod) هو كيفية تعيين أذونات الملف من سطر الأوامر - +x يعني تعيين أذونات التنفيذ .

بمجرد القيام بذلك ، اكتب exit لترك المحطة الطرفية البعيدة. من هنا ، ستحتاج إلى العودة إلى Git repo المحلي الخاص بك داخل Terminal.

4. أضف ارتباطًا بعيدًا إلى المستودع المحلي الخاص بك وادفع التغييرات المحلية الخاصة بك مباشرة

هنا ، انتقل مرة أخرى إلى Git repo المحلي باستخدام الأمر cd حسب الضرورة. ستحتاج إلى إضافة رابط إلى خادمك البعيد ، بحيث يمكن لكل من مستودعات Git التحدث مع بعضهما البعض. ستفعل ذلك بالأمر التالي:

git remote add origin ssh://[email protected]/~/remoterepo.git

سيعتمد عنوان URL الدقيق لـ Git repo على الموقع الذي اكتشفته في الخطوة الأخيرة. بالطبع ، ستحل بيانات اعتماد المستخدم والخادم محل العناصر النائبة هنا.

قم بتشغيل هذا الأمر ، ثم استعد لدفع التغييرات المحلية إلى خادمك المباشر. الأمر التالي سيفعل ذلك بدون تأكيد ، لذا تأكد من أنك تريد القيام بذلك:

git push -u origin main

سترى الوحدة الطرفية تعرض ملخصًا للتأكيد ...

 Counting objects: 12, done. Delta compression using up to 2 threads. Compressing objects: 100% (2/1), done. Writing objects: 100% (13/13), 1200 bytes | 0 bytes/s, done. Total 12 (delta 0), reused 0 (delta 0)

... وفي هذه المرحلة ، يمكنك التحقق من موقعك المباشر - يجب أن تكون التغييرات موجودة وصحيحة.

في تلخيص

يعد العمل على موقع الويب الخاص بك مهمة ضرورية وغالبًا ما تكون يومية. يعد استخدام بيئة محلية هو الطريقة المعتادة للقيام بذلك ، ولكن هناك مشكلة - كيف يمكنك الحصول على هذه التغييرات على موقعك المباشر الخالي من الأخطاء وبأقل قدر من الضجة؟

قد تكون الإجابة هي استخدام Git لدفع التغييرات التي تجريها إلى خادمك المباشر. يتيح لك هذا فقط تحميل الملفات التي تجري تغييرات عليها ، لذلك تظل غالبية التثبيت - وقاعدة البيانات - كما هي. على الرغم من أنك تحتاج إلى بعض المعرفة والأدوات لإنجاح كل شيء ، إلا أنه تغيير في سير العمل يمكن أن يؤدي إلى ارتفاع كبير في تطوير موقعك المحلي في الإنتاجية والكفاءة.

هل تعتقد أنك ستستخدم Git لدفع تغييرات الموقع المحلية مباشرة؟ دعنا نعرف أفكارك في قسم التعليقات أدناه!