شرح Github ودليل استخدامه لمطوري الووردبريس

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

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

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


ما هي منصة Github؟ 

منصة Github هي عبارة عن هي منصة أو خدمة ويب تستخدم نظام Git الذي يهدف لإدارة إصدارات المشاريع البرمجية بشكل أساسي.  وهي تسهل مشاركة المشاريع البرمجية بين مجموعة من المطورين. 

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

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

إذاً تحتاج لأن تنشئ مستودعًا لكل مشروع  تعمل عليه ليتم تخزين الكود المصدري الكامل لمشروعك في هذا المستودع. وهناك نوعان من المستودعات: المستودع المحلي الذي يتم إنشاؤه على جهاز الكمبيوتر الخاص بكل مطور.

والمستودع البعيد (المستودع المشترك) الذي يعتبر المستودع الرئيسي الذي يتشاركه جميع مطورو المشروع ويحصلون منه على أحدث المعلومات من خلال سحبها من المستودع البعيد إلى المستودع المحلي.

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

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

كما تخول المنصة للمستخدمين استكشاف ومشاركة المشاريع البرمجية المفتوحة للمطورين الآخرين، والاطلاع على الكود المصدري (Source code) الخاص بها، كما أنهم يستطيعون تحميل المشاريع  المفتوحة من المنصة إلى أجهزتهم والتعديل عليها أو الاعتماد عليها بهدف بناء مشروع برمجي جديد. 

ما هو Git وما الفرق بينه و بين Github؟ 

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

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

لاستخدام الـGit عليك تثبيت برمجية سطر أوامر (Command Line) أو ما يعرف بالطرفية على جهازك المحلي من خلالها يمكن كتابة أوامر متعلقة بالاتصال بالـ Github ونسخ المشاريع ورفعها والتحكم بها. 

أما GitHub فهي خدمة أو منصة ويب تستخدم Git ويمكن استخدامها من قبل الأفراد والشركات، والغرض منها هو تسهيل استخدام خدمة Git. 

ملاحظة: 

هناك خدمات أخرى بديلة تستخدم Git  مثل Bitbucket وGitLab لكن منصة GitHub.com هي الأكثر شهرة لذا سنخصص هذا المقال لشرحها.   

كيف أستخدم Github؟  

1 – للبدء في استخدام Github، أنت بحاجة بداية لإنشاء حساب خاص بك على منصة Github  لإنشاء المستودع البعيد الذي ستربطه مع المستودع المحلي كما سنرى في الفقرات التالية.

انتقل للصفحة الرئيسية للمنصة، واضغط على زر Sign up واملاً البيانات الشخصية كما هو موضح في الصورة التالية لإنشاء حساب مجاني خاص بك.

منصة GitHub هنا هي مجرد مضيف للمشروع البرمجي فقط، لذلك كل التطوير الفعلي يحدث على جهازك المحلي. ثم يتم الرفع للمنصة.

2- عليك بعدها تنصيب طرفية الـGit على جهازك المحلي، وفي حال كنت تستخدم نظام التشغيل ويندوز يمكنك الحصول عليها من الرابط التالي، ثم الضغط على Download for Windows لتنصيبها في جهازك. سيظهر لك برنامج الـGit على شكل سطر أوامر بالشكل التالي: 

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

ملاحظة:
يمكنك بدلاً من طرفية سطر الأوامر Git استخدام برمجية GitHub Desktop ذات الواجهة الرسومية (GUI) على جهازك المحلي للتواصل مع GitHub من خلالها، لكن يفضل تعلم أوامر Git الأساسية في البداية. 

كيف يمكن لمطور ووردبريس الاستفادة من منصة Github؟ 

تساعد منصة Github مطوري ومستخدمي ووردبريس على حد سواء في جوانب ومجالات مختلفة وسنذكر لكم في هذه الفقرة أبرز هذه الفوائد.

بداية يمكنك  استخدام Github كخدمة استضافة مجانية من أجل حفظ مشروع ووردبريس الذي تعمل عليه وإمكانية مشاركة وإتاحة هذا  المشروع بين عدة أطراف حتى يتمكن المستخدمون الآخرون من المساهمة فيها وتنزيلها.

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

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

ثم يمكنه بعدها البدء في تطوير المشروع بشكل محلي (Localhost)، وفي كل مرة يقوم فيها بتغييرات جذرية على مشروعه يمكنه إرسال هذه التغييرات إلى المستودع في Github وحفظها في المستودع البعيد. 

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

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

كما تعتبر منصة GitHub  مصدر غني لاستضافة المكونات إضافية أو القوالب التي يمكنك  تنزيلها بالانتقال إلى الصفحة الرئيسية لمستودع الإضافة أو القالب على GitHub. والنقر فوق زر استنساخ أو تنزيل ، ثم النقر فوق الزر تنزيل Zip. بعدها يمكنك رفع الإضافة أو القالب على موقعك بالطريقة المعتادة. 

لكن بالرغم ووجد الكثير من مشاريع ووردبريس المميزة على GitHub عليك ان تكون حذرًا بشأن هذه المشاريع والتحقق منها قبل استعمالها على موقع فعلي فهي في النهاية مشاريع يطرحها أفراد وليست من مصادر رسمية. 

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

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

مصطلحات ومفاهيم من الضروري معرفتها حول Github 

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

  • المستودع (Repository):
    هو المكان أو الحاوية التي يتم تخزين شيء ما؛ هنا نقوم بإنشاء المستودع Git لتخزين كافة ملفات المشروع الخاص بمشروعك، وتخزين كافة تفاصيل المشروع كالوصف، والتقنيات البرمجية المستخدمة. إلى جانب خصائص أخرى كعدد المساهمين في المشروع، وعدد النجوم (Stars)، وغيرها من المعلومات.
  • Commit:
    عندما تقوم بعملية تغيير ما على ملف أو مجموعة ملفات. وتريد تأكيد عملية التغيير والقيام بحفظها من خلال عملية تسمى Commit حيث تقوم Git بإنشاء ID فريد يسمح لك بالاحتفاظ بسجل التغييرات المحددة التي تم إنشاؤها مع تحديد من قام بها ومتى تم القيام بها.
    عادةً ما تحتوي هذه التعليمة على رسالة تصف التغييرات التي تم إجراؤها على المشروع بشكل مختصر بالشكل التالي: 
git commit -m "the reason for the change"
  • النسخ (Clone):
    وهو إنشاء نسخة من المستودع البعيد على GitHub على جهاز الكمبيوتر الخاص بك للبدء في تطويره، بمنطق آخر هي عملية تحميل المشروع، إذ يمكن فعل ذلك باستخدام أوامر الـ Git، او بشكل يدوي عن طريق زر تحميل. 
    عندما تقوم بإنشاء نسخة، يمكنك تحرير الملفات واستخدام Git لتتبع تغييراتك دون الحاجة إلى الاتصال بالإنترنت. وسيبقى المستودع الذي نسخته محليًا متصلاً بالمستودع البعيد بحيث يمكنك في أي وقت إرسال تغييراتك بعملية تسمى (Push) من المستودع المحلي إلى المستودع البعيد. 
  • الإرسال أو الدفع (Push):
    تعني إرسال التحديثات والتغييرات التي تم عمل تثبيت أو Commit لها إلى المستودع البعيد على GitHub.
    ففي حال قمت بتغيير شيء ما على جهازك المحلي، عليك بعدها دفع أو إرسال  هذه التغييرات للمستودع البعيد حتى يتمكن المطورون الآخرون من الوصول إليها وتشاركها.
  • السحب (Pull):
    تتيح لك عملية السحب للآخرين معرفة التغييرات التي تم بدفعها أوإرسالها من قبل أحد مطوري المشروع إلى المستودع الأساسي في GitHub. وبمجرد إجراء طلب السحب يمكن الحصول على مجموعة التغييرات والتعديلات الجديدة التي تم إجرائها في المستودع الأساسي.
    هذا الأمر مفيد عندما يعمل أكثر من  مطور على المشروع بنفس الوقت، حيث يمكنك من خلاله سحب التعديلات التي قاموا بها من المستودع الرئيسي لمستودعك الحالي. 
  • الفرع (Branch):
    يمكن تقسيم المشروع لأكثر من فرع، والفرع هو عبارة عن مساحة عمل مؤقتة موجودة داخل المستودع يمكن أن تجري تغييرات عليها دون أن تؤثر على الفرع الأساسي أو الإصدار الأساسي للمشروع.
    بعدها يمكنك أن نقوم بدمج هذه التغييرات في النهاية مع الفرع الرئيسي للمشروع. ويمكنك بعدها حذف الفرع بعد دمج تغييراته من الفرع الرئيسي لأن الغرض منه يكون قد انتهى.
  • الشوكة (Fork)
    الشوكة هي نسخة شخصية من مستودع مستخدم آخر موجود على حسابك. تتيح لك إجراء التغييرات  التي تريدها على المشروع دون التأثير على المستودع الأصلي. يمكنك أيضًا إجراء طلب سحب (Pull) في المستودع المصدر والحفاظ على مزامنة الشوكة مع أحدث التغييرات في هذا المستودع نظرًا لأن كلا المستودعين يظلان متصلين مع بعضهما.
  • الدمج (Merge): 
    الدمج هي عملية تقوم بأخذ التغييرات من فرع ما أو من شوكة ما وتطبقها في فرع آخر، يتم إجراء عملية الدمج من خلال تعليمة أو طلب pull تنفذ من خلال منصة GitHub أو عبر طرفية سطر الأوامر Git.
  • أمر git branch:
    ويأتي بمجموعة أوامر مختلفة متعلقة بالفروع والـ Branche. مثل إنشاء فرع جديد، حذف فرع محدد، أو الإطلاع على كل الفروع في المشروع. 
  • أمر git checkout:
    هو الأمر الذي يسمح لك بالتحويل بين الفروع، والانتقال من الفرع الرئيسي للفرع الثانوي أو العكس. 
  • أمر git merge:
    أمر مخصص من أجل دمج كل التغييرات التي تم إضافتها في الفروع إلى المشروع الرئيسي الأخير لتكوين مشروع واحد يضم كل التعديلات. 

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

ويمكنك من خلال الرابط التالي الحصول على توثيق شامل يوفر لك كافة التعليمات التي تريد معرفتها حول منصة GitHub. 

كيفية إنشاء مستودع على Github ورفع مشروع ووردبريس عليه 

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

بعدها قم بالدخول إلى الصفحة الرئيسية لحسابك على Github وتوجه إلى القائمة العلوية وانقر على خيار New Repository: 

ستظهر لك صفحة أخرى تطلب منك إدراج المعلومات الخاصة بالمستودع، وهي كالتالي مع شرحها: 

  1. هو خيار اسم المستودع، ويفضل تسميته باسم معبر عن المشروع فإن كان مشروعك هو قالب ووردبريس قم بإعطائه الاسم الذي اخترته لقالبك، وإن كانت إضافة ووردبريس قم بتسمية باسم إضافتك الخاصة. 
  2. وصف المستودع، ومعلومات حوله، وهو اختياري، يمكنك تركه فارغاً إن أردت ذلك. 
  3. وهو اختيار  إن كان المشروع مفتوح للجميع للإطلاع عليه، أو خاص للاطلاع عليه وحدك أو تخصيص من يتم دعوتهم للمشروع. (قبل وقت ليس ببعيد كان هذا الخيار مدفوعًا، قبل أن تستحوذ مايكروسوفت على Github وتجعله متاحًا بالمجان) 
  4. يضم خيارات متعددة خاصة بالمشروع، مثل إضافة ملف Readme الذي يضم شرح وتوثيق المشروع، و ملف gitignore الذي نضيف إليه الملفات التي لا نريد رفعها في المستودع الرئيسي. 

بعد تحديد كافة الخيارات قم بإنشاء المستودع الخاص بك على Github. بمجرد إنشاء المستودع الخاص بك، ستحصل على رابط Https/SSh يمكنك استخدامه لنسخ المستودع البعيد على جهازك المحلي كما سنرى في فقرة لاحقة. 

كما ستظهر مجموعة من الخيارات الخاصة برفع مشروعك الخاص إلى المستودع، ستكون صفحة التعليمات موزعة في مجموعات كما هو موضح في الصورة التالية: 

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

$ cd d:
$ mkdir Demo
$ cd Demo
$ git init

هذا سينشئ مستودع فارغ على جهازك المحلي 

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

الآن عليك ربط  ومزامنة المستودع الرئيسي والمحلي مع بعضهم من خلال التعليمة التالية فلتوصيل جهاز الكمبيوتر الخاص بك بـGitHub استخدم الأمر التالي:

$ git remote add origin https://github.com/TEAlearn/demo.git
$ git remote add origin https://github.com/<your_username>/Demo.git

الآن قمنا بتوصيل نسختنا المحلية من المستودع بالمستودع البعيد على GitHub.com. 

بعدها اكتب التعليمة التالية: 

git branch -M main

هذه التعليمة خاصة بالتحويل إلى الفرع الرئيسي main. إن كانت هناك فروع أخرى (Branches) سيمكنك التحويل لها عبر نفس الأمر بتغيير main إلى اسم الفرع المطلوب. 

أخيرًا اكتب التعليمة التالية: 

git push -u origin main

هذه التعليمة هي تعليمة الإرسال (Push) التي ستقوم بإرسال ملفات المشروع كاملة للمستودع البعيد. 

(عند كتابة هذا الأمر في طرفية Git، سيطلب منك النظام التسجيل بحسابك في Github وعند نجاح الإتصال سيتم رفع الملفات المطلوبة إلى المستودع البعيد). 

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

بنفس الطريقة يمكنك إنشاء ورفع كل ملفات المشروع إلى المستودع البعيد، بعدها قم بالذهاب إلى رابط المستودع الذي أنشأته، ومبروك عليك أنت الآن تزامن مشروعك مع الGithub بنجاح. 

كيف تتفادى رفع بعض الملفات في منصة Github؟ 

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

داخل هذا الملف، يمكنك إضافة اسم أي مجلد أو ملف لا تريد أن يتم رفعه على Github. في المثال التالي، تم تجنب رفع مجلد node_modules، وهو مجلد يضم ملفات كبيرة للغاية يتم تنصيبها من أجل تشغيل المشروع، وليس من الضروري رفعها في Github. 

كيفية تحميل مشروع ووردبريس من Github إلى جهازك الخاص 

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

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

ثم اختر مكان نسخ المشروع الخاص بك على الحاسوب. اختر أي مجلد في جهازك المحلي، ثم انقر مجدداً بزر الماوس الأيمن في هذا الموقع، واختر Git Bash Here من أجل فتح سطر أوامر Git، وقم بعدها بإدخال الأمر git clone متبوع برابط المشروع، على الشكل التالي: 

بعد الانتهاء ستجد المجلد الخاص بالمشروع قد تم نسخه إلى جهازك. و يمكنك البدء الآن بالتعديل عليه بشكل طبيعي كما تعدل على أي ملفات مشروع.

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