2
يناير
2021
شرح أساسيات استخدام Git المعروف بنظام إدارة النسخ (2-2)
يتيح موقع Github العمل على نظام إدارة النسخ Git بفاعليّة أكبر، ويمكّن المستخدم من التنقّل بين الفروع والنسخ المختلفة ومشاركتها مع الآخرين بكل سهولة.
استكمالاً لما بدأناه في الجزء الأول من هذا المقال باستعراض نظام إدارة النسخ Git نواصل في هذا الجزء الحديث عنه بدءًا من خاصية الفروع وكيفية الاستفادة منها في عمليات التطوير، ثم ننتقل لأخذ لمحة سريعة على موقع Github الشهير.
ما هي الفروع Branches؟
لنفترض أن لدينا موقع ويب، وقمنا بإطلاقه، ثم أردنا أن نضيف له خاصية الوضع الليلي أو ما يُعرف بالـ Dark mode، ذلك يعني أننا سنقوم بعدد من التعديلات على ملفات الـ CSS والجافاسكربت JS، ومن ثم اختبار الموقع قبل إطلاقه بالخاصية الجديدة. في الوضع التقليدي القديم سنقوم بنسخ مجلد العمل أو الـ Folder الذي يحتوى على الموقع ولصقه في أي مكان في الحاسوب ثم العمل على الخاصية الجديدة وبعد اختبارها سنقوم باستبدال الموقع القديم بالجديد، ولو كان العمل يتم من خلال فرد آخر في فريق العمل سنقوم بنفس العملية وسنضطر لإرسال مجلد العمل لذلك الشخص ليعمل على الخاصية ثم يقوم برفعها للموقع إن كان مسؤولاً عن ذلك أو إرسال مجلد العمل مرة أخرى للشخص المسؤول عن رفع الملفات المحدّثة إلى الموقع. العمل بمثل هذه الطريقة سيستغرق وقتًا طويلاً، وسيعيق عملية متابعة التطوير واختبارها والمشاركة بفاعلية بين الفريق، لهذا تأتي خاصية الفروع من Git لتكون حلاً لهذا النوع من المشاكل.
من خلال خاصية الفروع يمكن العمل بطريقة مستقلة على أي خاصية جديدة، وذلك بإنشاء فرع خاص بها يحتوى على جميع ملفات المشروع الأصلي، ومن ثم العمل على الفرع باستقلالية تامة واختباره وفي حال الانتهاء منه يمكن دمجه مع المشروع الأصلي (المسار الرئيسي) لنحصل على الخاصية الجديدة بكل أمان.
كيفية العمل على الفروع Branches
إنشاء الفرع
لنفترض أننا نرغب في إنشاء فرع جديد باسم darkMode كل ما نحتاجه هو كتابة الأمر التالي:
git branch darkMode
بعد ذلك يمكن الاطلاع على الفروع التي لدينا بكتابة التالي:
git branch
حيث يظهر لدينا المسار الرئيسي master والفرع الجديد المسمّى بـ darkMode، ويظهر المسار الرئيسي باللون الأخضر للإشارة بأن العمل الحالي يجري عليه.
الانتقال إلى الفرع
يمكن الانتقال للعمل على الفرع بكتابة git checkout متبوعًا باسم الفرع:
git checkout darkMode
سنقوم الآن بتكرر أمر استعراض الفروع لنرى الفرق:
git branch
يمكن ملاحظة الاختلاف عن الصورة السابقة، حيث أصبح اسم الفرع darkMode باللون الأخضر في إشارة إلى أن العمل الآن يجري عليه.
ماذا لو أردنا العودة للمسار الرئيسي؟ سنكتب التالي:
git checkout master
وحينها ستكون جميع التعديلات على المسار الرئيسي لا الفرعي.
مسح الفرع
يمكن مسح الفرع بسهولة أيضًا وذلك بكتابة:
git branch -D darkMode
حيث تعني الراية -D مسح أو Delete، مع التنبيه على أنه لا يمكن مسح الفرع أثناء التواجد عليه، فيجب الخروج من الفرع أولاً والانتقال إلى مسار آخر كالمسار الرئيسي قبل إجراء عملية المسح.
الدمج merge
بعد الانتهاء من إضافة الخاصية المطلوبة في الفرع واختبارها والتأكد من عملها، يمكن القيام بعملية دمج مع المسار الرئيسي بحيث يكون المسار الرئيسي شاملاً لجميع التعديلات التي تمت في الفرع، فعلى سبيل المثال قمنا بإضافة ملف darkMode.js في الفرع darkMode وسنقوم الآن بدمج المسار الفرعي مع الرئيسي وذلك بالانتقال إلى المسار الرئيسي:
git checkout master
ثم كتابة git merge متبوعًا باسم الفرع المراد دمجه:
git merge darkMode
توضح الصورة التغييرات التي تمت على المسار الرئيسي حيث تمت إضافة ملف باسم darkMode.js والذي تم إنشاؤه في المسار الفرعي darkMode.
وبالوصول إلى كيفية إجراء دمج الفروع نكون قد استعرضنا أهم أوامر Git ويمكننا الآن الانتقال للحديث عن موقع Github.
ما هو موقع Github؟
يقدم موقع Github خدمة استضافة المستودعات Repostories بحيث يمكن مشاركتها والعمل عليها بشكل فردي أو جماعي.
كيفية العمل على Github
لتتمكن من العمل على موقع Github يجب أن يكون لديك حساب على الموقع، ومن حسن الحظ بأن التسجيل مجاني ويمكن الاستفادة من أهم خدماته بشكل مجاني أيضًا..
بعد التسجيل في الموقع ستظهر الشاشة التالية وهي تحتوي على قائمة بالمستودعات أو الـ Repo المتوفرة في الحساب أو تلك التي قام صاحب الحساب بالتفاعل معها، ويمكن إنشاء Repo جديد بالضغط على زر New.
إنشاء المستودع Repo
لإنشاء المستودع أو الـ Repo كل ما يلزم هو اختيار اسم له، ثم الضغط على زر إنشاء المستودع أو Create repository، ويمكن من خلال صفحة الإنشاء تحديد ما إذا كان المستودع متاحًا للجميع Public بحيث يمكن لأي شخص يزور موقع Github أن يطلع على محتوياته، أو أن يكون المحتوى خاصًا Private لا يمكن الإطلاع عليه إلا بدعوة من صاحب الحساب.
بعد أن تتم عملية إنشاء الـ Repo ستظهر الصفحة التالية:
من خلال هذه الصفحة يمكن نسخ رابط الـ Repo والذي سنستفيد منه في عملية رفع الملفات من الحاسوب إلى Github.
رفع الملفات من الحاسوب إلى Github
بعد إنشاء مستودع Repo على Github يمكن الآن رفع ملفات المشروع من الحاسوب إلى موقع Github باستخدام الأمر push متبوعًا برابط المستودع على موقع Github ثم المسار المطلوب الحفظ فيه، وهنا سيتم الحفظ في المسار الرئيسي master:
git push https://github.com/aljhmi/gitProject master
إذا كانت هذه هي المرة الأولى في الرفع سيطلب Git إدخال اسم المستخدم وكلمة المرور الخاصة بموقع Github، بعد ذلك سيتم رفع الملفات إلى مستودع المشروع في Github وعند الدخول عليه سنجد جميع الملفات كما في الصورة التالية:
يمكن اختصار الأمر السابق دون الحاجة لكتابة رابط المستودع الطويل وذلك من خلال منح رابط المشروع الطويل اسمًا بديلاً أو alias وسنختار هنا أن يكون origin، وسنقوم بكتابة الأمر remote add لتحديد الاسم البديل:
git remote add origin https://github.com/aljhmi/gitProject
والآن يمكن القيام بعملية الرفع باستخدام الأمر push:
git push origin master
وذلك عوضًا عن الأمر السابق الطويل:
git push https://github.com/aljhmi/gitProject master
إدارة الفروع في Github
من خلال موقع Github يمكن الاطلاع على الفروع المتوفرة، وذلك بالضغط على زر الفروع كما في الصورة التالية:
وستظهر الصفحة التالية التي تحتوي على كافة الفروع التي تم العمل عليها كما في الصورة التالية:
ويظهر من الصورة وجود فرعين فقط المسار الرئيسي master والفرع darkmode، ويمكن الضغط على أي منهما والإطلاع على الملفات الموجودة وتحميلها أو مشاركتها.
ختامًا..
تعرفنا من خلال هذه التدوينة والتدوينة السابقة لها على أساسيات نظام إدارة النسخ Git بالإضافة إلى لمحة سريعة على موقع Github، وقد يبدو الأمر معقدًا بعض الشيء عند بدء العمل على هذا النظام، ولكن مع الوقت والممارسة سيصبح Git وGithub جزءًا لا يتجزأ من بيئة عملك كمطور، وستشعر بقدرة أكبر على التحكم بطريقة التطوير لديك وبمرونة أكبر في مشاركة عملك البرمجي مع الآخرين.