شرح استخدام موقع Github

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

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

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

ما هو موقع GitHub؟

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

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

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

ما هي فوائد GitHub؟

يوفر لك GitHub العديد من الفوائد وإليك أبرز 7 فوائد منها:

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

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

يعمل موقع Github بالتعاون مع أداة Git وعادة ما يتم الخلط بينهما وللتمييز بينهما بسهولة يمكننا القول أن GitHub يعتبر منصة توفر خدمة الاستضافة لمستودعات Git، أو بكلام آخر موقع Github هو موقع استضافة أكواد برمجية يقدم جميع وظائف Git ويوسع كذلك وظائفه الأساسية. 

وتجدر الإشارة لأن هناك العديد من الخدمات البديلة الأخرى  التي توفر ميزة استضافة مستودعات Git غير GitHub مثل GitLab وBitBucket وSourceForge لكن هي GitHub الأشهر بين هذه المنصات.

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

من خلال Git يمكنك تتبع التغيرات التي تحصل في الأكواد البرمجية كإضافة أو تعديل أو حذف كود وترفعها بعد الانتهاء إلى مستودع موجود على منصة الاستضافة GitHub.

وبهذا يكون دور الأساسي Git هو مساعدة المبرمجين على التعاون وتنسيق العمل فيما بينهم عند كتابة التعليمات البرمجية المعقدة ومشاريع التطوير ويمكنهم من تتبع التغييرات ويساعدهم في العمل عن بعد في البرامج المعقدة.

وبالتالي Git هو الذي يوفر لك تطوير المشاريع البرمجية (وغير البرمجية) بسهولة وأمان ومراقبة تقدم المشروع والتبديل بين الإصدارات وتقسيم الفرق بسهولة لتطوير أعمال مختلفة داخل المشروع وGitHub هي المنصة التي تستضيف هذا المشروع لك ضمن مستودع (Repository).

يمكن اعتبار كلمة مستودع Repository أو اختصارًا ريبو Reop في Github مرادفة لكلمة مشروع برمجي فالمستودع يتضمن كل ما يتعلق بالمشروع من ملفات وصور وجداول البيانات ومقاطع الفيديو وما إلى ذلك.

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

ما المقصود بالمستودع المحلي والمستودع البعيد؟

ستصادف خلال عملك في منصة مصلحي المستودع المحلي Local Repository والمستودع البعيدRemote Repository وغيرها من المصطلحات وفي هذه الفقرة نوضح لك أهم هذه المصطلحات وما هو الفرق بينها..

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

المستودع المحلي هو المشروع الموجود على جهازك المحلي وداخله يوجد مجلد .git المسؤول عن تتبع التغيرات التي ستقوم بها على المشروع وهو يسمى أيضًا باسم مساحة العمل Workspace.

في حال كنت تعمل على المستودع المحلي يكون هناك مزامنة بين المستودعين المحلي والبعيد في فإذا قمت بإجراء تعديل على الكود البرمجي للمستودع المحلي سيتم التعديل لكن بشكل مؤقت وغير نهائي على مساحة تخزينية مؤقتة Staging Area.

وبعد أن تنتهي من كافة التعديلات وتكون راضيًا على النتيجة عليك تثبيت هذه التعديلات في المستودع المحلي تسمى هذه العملية (Commit) ثم عليك رفعها من المستودع المحلي إلى المستودع البعيد على Github حيث يتم دفع تلك البيانات بعملية (Push) ليستطيع باقي أعضاء الفريق الاطلاع على التغيرات التي قمت بها وجلبها لديهم.

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

خطوات استخدام Github

لاستخدام موقع GitHub يجب عليك اتباع الخطوات التالية:

قم بإنشاء حساب في الموقع الرسمي لمنصة GitHub من خلال النقر فوق زر Sign Up وإدخال كافة البيانات المطلوبة

التسجيل في موقع جيت هب

بعدها انقر فوق Continue For Free لإنشاء حساب مجاني والبدء في استخدام GitHub على الفور.

من خلال الحساب المجاني في GitHub سيكون بإمكانك إنشاء عدد غير محدود من المستودعات البرمجية (Repo) سواء العامة أو الخاصة لكن التقييد الوحيد في الإصدار المجاني هو أنه يمكن من التعاون بين ثلاثة أشخاص على الأكثر بالنسبة للمستودعات الخاصة.

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

لإنشاء مستودع جديد انقر فوق الزر الأخضر Create repository أعلى يسار الصفحة حيث ستظهر لك صفحة إنشاء مستودع جديد والتي تطلب منك كتابة اسم المستودع الخاص بك، وإضافة وصف قصير له، وتحديد نوع المستودع (عام Public أو خاص Private)، وتحديد مربع الاختيار Add a README file الذي يشير إلى إضافة ملف نصي لكتابة وصف أكثر تفصيلاً للمشروع الخاص بك.

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

إنشاء مستودع في جيت هب

بعد الانتهاء من تحديد كافة بيانات المستودع، ايمكنك النقر فوق الزر Create repository أسفل الصفحة لإنشاء المستودع المطلوب في حسابك الشخصي يتضمن ثلاث ملفات تم إنشاؤها بشكل تلقائي وهي

  • .gitignore
  • LICENSE
  • README.md

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

ما هي الفروع في جيتهب Github Branches؟

الفروع في جيت هب

يحتوي المستودع الخاص بك بشكل افتراضي على فرع واحد هو الفرع الرئيسي (Main branch) ويمكنك
يمكنك إنشاء أكثر من فرع (Branch) من المستودع في حال المشاريع متعددة الاستخدامات التي تحتاج إلى العديد من الإصدارات عند إنشائها كما تعتبر الفروع مثالية للميزات الجديدة أو إصلاحات الأخطاء.

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

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

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

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

لبدء فرع جديد على GitHub انتقل إلى صفحة مستودعك الذي أنشأته وانقر على تبويب main ليظهر لك مربع منسدل كما هو موضح في الصورة التالية.

إنشاء فرع من المشروع

اكتب في المربع النصي الظاهر اسم للفرع (مثلًا EDIT README) ثم اضغط على عبارة Create EDIT README branch لإنشاء الفرع المطلوب وتطبيق التغييرات عليه.

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

تحرير ملف في الفرع

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

وطف تغييرات الفرع

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

بعد الانتهاء من تعديلاتك والرضى عنها، انقر فوق Commit changes في الأسفل لتنفيذ أو تثبيت هذه التغييرات.

تأكيد عملية تغيير الفرع

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

لفتح طلب سحب انتقل إلى صفحة المستودع وانقر على التبويب Pull Request واضغط على زر new pull request

طلب سحب التغييرات من فرع لآخر

ستظهر لك صفحة Comparing changes التي تظهر فروق التغييرات بين كافة فروع المشروع، حدد اسم الفرع الذي أنشأته من القائمة المنسدلة وقارنه بالفرع الرئيسي لعرض اختلافات المحتوى بين الفرعين والتي تظهر المحتوى الذي تمت إضافته باللون الأخضر والمحتوى الذي تم حذفه باللون الأحمر كما يلي:

مقارنة بين فرعين من المشروع


بعد أن تتأكد من أن التغييرات مناسبة للمشروع، انقر فوق الزر Create pull request لإنشاء طلب سحب.

تظهر لك الصفح التالية Open a pull request والتي تطلب منك أن تعطي الطلب عنوانًا ووصف مناسبين لتوضيح التغييرات الخاصة بالفرع بإيجاز.

طلب دمج الفرع مع المشروع

اكتب البيانات المناسبة واضغط على زر Create pull request ليتم فحص عدم وجود تعارض بين هذل الفرع لا والفرع الأساسي ويتم عرض زر بعنوان Merge pull request لدمج طلب السحب الخاص بك مع المشروع الرئيسي، أو يمكنك إغلاق الطلب والتراجع عنه من خلال النقر فوق Close pull request.

الموافقة على طلب دمج الفرع مع المشروع

الآن انقر فوق الزر Merge pull request، سيظهر لك زر جديد بعنوان Merge confirm قم بالنقر عليه لتأكيد عملية دمج الفرع الخاص بك في الفرع الرئيسي للمشروع. بعدها سيتم حذف فرعك بعد دمج كافة التغييرات المطلوبة.

تأكيد دمج الفرع من المشروع

الخلاصة

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

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

المجتمع الأكبر عربيًا لمستخدمي ووردبريس

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

زيارة منتدى عرب ووردبريس ←