loading

2

يناير

2021

شرح أساسيات استخدام Git المعروف بنظام إدارة النسخ (2-2)

يتيح موقع Github العمل على نظام إدارة النسخ Git بفاعليّة أكبر، ويمكّن المستخدم من التنقّل بين الفروع والنسخ المختلفة ومشاركتها مع الآخرين بكل سهولة.

شرح أساسيات استخدام Git المعروف بنظام إدارة النسخ (2-2)

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

ما هي الفروع Branches؟

لنفترض أن لدينا موقع ويب، وقمنا بإطلاقه، ثم أردنا أن نضيف له خاصية الوضع الليلي أو ما يُعرف بالـ Dark mode، ذلك يعني أننا سنقوم بعدد من التعديلات على ملفات الـ CSS والجافاسكربت JS، ومن ثم اختبار الموقع قبل إطلاقه بالخاصية الجديدة. في الوضع التقليدي القديم سنقوم بنسخ مجلد العمل أو الـ Folder الذي يحتوى على الموقع ولصقه في أي مكان في الحاسوب ثم العمل على الخاصية الجديدة وبعد اختبارها سنقوم باستبدال الموقع القديم بالجديد، ولو كان العمل يتم من خلال فرد آخر في فريق العمل سنقوم بنفس العملية وسنضطر لإرسال مجلد العمل لذلك الشخص ليعمل على الخاصية ثم يقوم برفعها للموقع إن كان مسؤولاً عن ذلك أو إرسال مجلد العمل مرة أخرى للشخص المسؤول عن رفع الملفات المحدّثة إلى الموقع. العمل بمثل هذه الطريقة سيستغرق وقتًا طويلاً، وسيعيق عملية متابعة التطوير واختبارها والمشاركة بفاعلية بين الفريق، لهذا تأتي خاصية الفروع من Git لتكون حلاً لهذا النوع من المشاكل.

branches.png

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

كيفية العمل على الفروع Branches

إنشاء الفرع

لنفترض أننا نرغب في إنشاء فرع جديد باسم darkMode كل ما نحتاجه هو كتابة الأمر التالي:

git branch darkMode

بعد ذلك يمكن الاطلاع على الفروع التي لدينا بكتابة التالي:

git branch

git_branch_list.png

حيث يظهر لدينا المسار الرئيسي master والفرع الجديد المسمّى بـ darkMode، ويظهر المسار الرئيسي باللون الأخضر للإشارة بأن العمل الحالي يجري عليه.

الانتقال إلى الفرع

يمكن الانتقال للعمل على الفرع بكتابة git checkout متبوعًا باسم الفرع:

git checkout darkMode

سنقوم الآن بتكرر أمر استعراض الفروع لنرى الفرق:

git branch

git_change_branch.png

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

ماذا لو أردنا العودة للمسار الرئيسي؟ سنكتب التالي:

git checkout master

وحينها ستكون جميع التعديلات على المسار الرئيسي لا الفرعي.

مسح الفرع

يمكن مسح الفرع بسهولة أيضًا وذلك بكتابة:

git branch -D darkMode

حيث تعني الراية -D مسح أو Delete، مع التنبيه على أنه لا يمكن مسح الفرع أثناء التواجد عليه، فيجب الخروج من الفرع أولاً والانتقال إلى مسار آخر كالمسار الرئيسي قبل إجراء عملية المسح.

git_del_branch.png

الدمج merge

merge.png

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

git checkout master

ثم كتابة git merge متبوعًا باسم الفرع المراد دمجه:

git merge darkMode

git_merge_darkmode.png

توضح الصورة التغييرات التي تمت على المسار الرئيسي حيث تمت إضافة ملف باسم darkMode.js والذي تم إنشاؤه في المسار الفرعي darkMode.

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

ما هو موقع Github؟

يقدم موقع Github خدمة استضافة المستودعات Repostories بحيث يمكن مشاركتها والعمل عليها بشكل فردي أو جماعي.

github_illu.png

كيفية العمل على Github

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

github_home.png

بعد التسجيل في الموقع ستظهر الشاشة التالية وهي تحتوي على قائمة بالمستودعات أو الـ Repo المتوفرة في الحساب أو تلك التي قام صاحب الحساب بالتفاعل معها، ويمكن إنشاء Repo جديد بالضغط على زر New.

github_main.png

إنشاء المستودع Repo

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

github_newrepo.png

بعد أن تتم عملية إنشاء الـ Repo ستظهر الصفحة التالية:

repo_link.png

من خلال هذه الصفحة يمكن نسخ رابط الـ Repo والذي سنستفيد منه في عملية رفع الملفات من الحاسوب إلى Github.

رفع الملفات من الحاسوب إلى Github

بعد إنشاء مستودع Repo على Github يمكن الآن رفع ملفات المشروع من الحاسوب إلى موقع Github باستخدام الأمر push متبوعًا برابط المستودع على موقع Github ثم المسار المطلوب الحفظ فيه، وهنا سيتم الحفظ في المسار الرئيسي master:

git push https://github.com/aljhmi/gitProject master

git_push.png

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

github_files.png

يمكن اختصار الأمر السابق دون الحاجة لكتابة رابط المستودع الطويل وذلك من خلال منح رابط المشروع الطويل اسمًا بديلاً أو 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 يمكن الاطلاع على الفروع المتوفرة، وذلك بالضغط على زر الفروع كما في الصورة التالية:

github_nobranches.png

وستظهر الصفحة التالية التي تحتوي على كافة الفروع التي تم العمل عليها كما في الصورة التالية:

github_all_branches.png

ويظهر من الصورة وجود فرعين فقط المسار الرئيسي master والفرع darkmode، ويمكن الضغط على أي منهما والإطلاع على الملفات الموجودة وتحميلها أو مشاركتها.

ختامًا..

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

تصنيفات



اقرأ أيضًا: