يعتبر GitLab منصة شاملة للتعاون على كتابة الكود و ادارة المشاريع البرمجية و في هذا المقال سوف نقدم لكم شرحاً مبسطاً عن منصة GitLab و ما هي استخداماتها و ما هي ميزاتها و الكثير من الاسفسارات سنجيب عنها في هذا المقال .
A- في البداية ما هو GitLab :
تخيل انك تعمل انت وفريق على انشاء مشروع برمجي , جميع الفريق يعملون على نفس الملفات و في نفس الوقت اذاُ كيف تمنع الفوضى و كيف تعرف من عمل تغييرات , و كيف تجمع كل هذه التغييرات معاً دون ان تفقد شيئاً ..؟
GitLab : هو منصة شاملة و متكاملة تعمل ( كورشة عمل ذكية) لفريقك , اذ انه يجمع بين ادوات ادارة الكود و التعاوت و اطلاق البرامج في مكان واحد
B- ما هو Git :
1-لكي تفهم GitLab يجب عليك ان تفهم ما هو Git :
Git :هو نظام تحكم في النسخ حيث يعمل على تسجيل كل تغيير نقوم به في ملفاتك و يسمج لك بالعودة الى اي نسخة سابقة في اي وقت
كلما قمت بتغيير في ملفاتك تقوم بحفظ ( لقطة) لحالتها الحالية و تسمى هذه اللقطة (Commit)
يمكنك العودة الى اي (Commit) قديم في اي وقت لترى كيف كان المشروع او لاستعادة ملف محذوف
2- لماذا نحتاج Git :
اذا كنت بتعمل مشروع و قمت بحذف الملف بالخطأ : Git يعمل على انقاذك
اذا اردت تجربة فكرة جديدة و لكن لا تريد ان تفسد المشروع : Git يقوم بحمايتك
اذا كنت عم تعمل ضمن فريق و اردت من غير اي جزء من الكود : Git يقوم بإخبارك
C- ما الفرق بين Git و GitLab :
Git :
هو الاداة الاساسية التي تعمل على جهازك الشخصي و هي التي تقوم بعمل (Commit) و تتبع التغيرات
GitLab :
هو منصة على الانترنت ( على سحابة او على خادم خاص ) يعمل على استضافة و ادارة مستودعات Git
ببساطة نحتاج الاثنين معاً يعني اذا كان Git هو المحرك , فإن GitLab هو السيارة الكاملة التي تحتوي على المحرك
D- الميزات الرئيسية في GitLab :
1- مستودعات Git :
نعنبر مكان مركزي على الانترنت حيث تعمل على حفظ و ادارة اكواد المشاريع و تاريخها
2- مراجعة الكود :
اذا اراد احد المطوريين إضافة تغييرات الى المشروع الرئيسي يقوم بإنشاء (طلب دمج ) يمكن لأعضاء الفريق مراجعة الكود و مناقشته و اختباره
3- إدارة المشاريغ :
تستطيع من خلالها انشاء مهام (Tasks) و تعيينها لأشخاص
4- التكامل و النشر المستمر (CI/CD ) :
تعتبر من اقوى الميزات حيث تستطبع من خلالها برمجة GitLab ليقوم تلقائياً ببناء و اختبار و نشر تطبيقك كلما اضاف احدهم تغييراً جديداً
5- التشغيل و التتبع :
تعمل على مراقبة اداء التطبيق بعد نشره على الخادم
E- مصطلحات اساسية يجب معرفتها :
1- Repository : يعد المستودع الرئيسي الذي يحتوي على جميع ملفات المشروع وتاريخه
2- Commit :لقطة او نسخة لحالة الملفات في نقطة زمنية معينة
3-Clone : نعمل على نسخ مستودع من الانترنت الى جهازك الشخصي للعمل عليه
4- Push : تعمل على ارسال (Commit) التي عملتها على جهازك الى المستودع الرئيسي على GitLab
5- Pull: تستطيع من خلالها جلب احدث التغييرات من المستودع الى جهازك
6- Branch : تعمل على انشاء نسخة منفصلة من المشروع للعمل على ميزة جديدة
7- Marge : تستطيع من خلالها دمج التغييرات من فرع الى اخر
F- استخدامات GitLab :
1- مستودع مركزي للكود :
حيث تستطيع تخزين جميع ملفات المشروع
2- العمل الجماعي و التعاون :
حيث تستطيع من خلالها العمل الجماعي مثل تقسيم المهام و تتبع التغييرات
3- مراجعة الكود :
مراجعة التغييرات قبل دمجها مع المشروع الرئيسي
4- التكامل و النشر الالي :
تستطيع اختبار الكود تلقائياً عتد كل تغيير
5 – ادارة المهام و المشاريع :
حيث نستيطع انشاء قائمة مهام و متابعة العمل و المشاريع
6- التوثيق و المعلومات :
حيث يمكننا كتابة شرح لاستخدام المشروع و حفظ المعلومات المهمة
G- اشهر استخدامات GitLab :
1- فرق تطوير البرمجيات
2- مشاريع تخرج الطلاب
3- ادارة الوثائق و المشاريع غير البرمجية
4- العمل الفردي لتنظيم المشاريع الشخصية
H- من اين ابدأ تعلم GitLab :
يوجد العديد من المنصات و الكورسات و قنوات اليوتيوب و من اهمها :