بسم الله الرحمن الرحيم
أعزائي متابعي الموقع
السلام عليكم ورحمة الله وبركاته
عندما نبدأ بتعلم البرمجة فأننا نقوم بتعلم الاساسيات ثم بعد ذلك نبدأ بتطبيق ما تعلمناه وبناء برمجيات مصغرة حتى نصبح مطورين رائعين, لنفترض واجهة مشكلة ما اثناء تطويرك ولا تستطيع حلها وطلبت المساعدة من صديق او خبير كي يساعدك في الأمر كيف ستقوم بإرسال الشيفرة المصدرية التي قمت بتطويرها ؟ هل ستشاركه الملف كي يقوم بتعديله ؟ولكن كيف ستعرف اين تمت التعديلات ؟ لنفترض انك اردت العودة الى نسخة ما قبل التعديل كيف يمكن ذلك؟ هنا يأتي دور ما يسمى بأنظمة التحكم بالإصدارات دعنا نتعرف معًا ماهي هذه الانظمة .
=======================
انظمة التحكم بالإصدارات
إن أنظمة التحكم بالإصدارات مصممة لأتاحه عمل أكثر من مطور او فريق من المطورين معًا على ملف واحد بنفس الوقت كما أنها تتيح تتبع و حفظ كافة التعديلات التي يحدثها كل واحد منهم بمنهجية منظمة ومتناسقة وهذا يعطينا امكانية العودة الى نسخ قديمة من الملف مع الاحتفاظ بالتعديلات الجديدة.
=======================
أنواع أنظمة التحكم بالإصدارات
هناك نوعين رئيسين لأنظمة التحكم بالإصدارات :
- أنظمة التحكم المركزية
يعتمد هذا النوع من انظمة التحكم المركزي على وجود نسخة مركزية من الملف المراد العمل عليه ربما في خادم مركزي ويقوم كافة المطورين واعضاء الفريق على التعديل مباشرة على النسخة المركزية ويتم حفظ تعديلات كل واحد منهم في هذه النسخة ويمكن لأي شخص سحب تعديلات شخص اخر والعمل عليها مباشرة.
وأكثر برمجيات هذه الأنظمة شيوعًا Subversion Perforce,
- أنظمة التحكم الموزعة
يعتبر هذا النوع من انظمة التحكم هو الاحدث والاكثر سرعة وأقل خطأ ولكنه يعتبر معقدًا بلفهم مقارنة بالنوع السابق حيث يقوم المطور بهذا النظام الموزع بالحصول على نسخة من الملف الاساسي وتخزينه في جهازه والتعديل عليه بشكل منفصل ثم دمج التعديلات مع النسخة الاساسية او سحب أي تعديلات تمت جديدة من النسخة الأصل .
واحد أكثر البرمجيات شهرة لهذه الانظمة Git و Mercurial
=======================
مميزات أنظمة التحكم بالإصدارات
إن استخدام انظمة التحكم بالإصدارات وبرمجياتها يعطي العديد من المزايا منها :
- مراجعة التغييرات
توفر برمجيات أنظمة التحكم بالإصدارات سجل التغييرات التي تمت بالملف على مر السنين لكل فرد بشكل واضح كما يمكن وضع رسائل توضيحية لكل تغيير يتم شرح التغييرات التي حصلت فيه.
- سهولة العمل بالتوازي لأعضاء الفريق الواحد
اليوم في فرق العمل التقنية الحديثة المرنة يتم اتباع منهجيات مختلفة تتقضي العمل بالتوازي وهذا ما تساعد فيه هذه الانظمة امكانية العمل المطورين على الملف حيث يعمل كل واحد منهم بشكل مستقل وفي حين الانتهاء يتم دمج كافة التعديلات بالملف الاساسي .
- سهولة اكتشاف الاخطاء
كما ذكرنا سابقًا انه هذه الانظمة توفر سجلات التغييرات متمثلة بالوقت والتعديلات وصاحب التعديل مما يسهل في تتبع الاخطاء البرمجية ومعالجتها بشكل أسرع.
=======================
تعريف أداة GIT
تعرف اداة GIT أنها احد أكثر برمجيات التحكم بالإصدارات الموزعة استخدامًا بين المطورين وما يميز هذه الاداة أنها مجانية ومفتوحة المصدر ولا تستهلك الكثير من موارد الجهاز .
هناك التباس شائع بين GIT وGithub حيث يخطئ البعض في التفرقة بينهما ولكن كلاهما مختلف عن بعض ف GIT كما ذكرنا هي عبارة عن اداة تحكم بالإصدارات بينما GitHub هي موقع الكترونية يقدم خدمة مشاركة الملفات البرمجية عن طريق شبكة الانترنت ويمكن استخدام اداة GIT لرفع هذه الملفات.
=======================
تجربة عملية باستخدام GIT و GitHub
لنفترض أننا قمنا بإنشاء سكربت باستخدام HTML يقوم بعرض عبارة Hello World واردنا مشاركته على GitHub باستخدام اداة GIT سنقوم بالخطوات التالية :
- كتابة الشيفرة البرمجية
هنا سأقوم باستخدام برنامج Notepad واحفظ الملف home.html في مجلد جديد اسمه Script
- نقوم بتحميل اداة GIT
يمكن تحميل اداة GIT مباشرة من الموقع وتثبيته حيث لا يحتاج الى اعدادات كثيرة .
- نقوم الآن بحفظ تعديلات الملف باستخدام اداة GIT باتباع الخطوات التالية :
-
- في المجلد الذي قمنا بإعداده مسبقَا نضغط على زر الفأرة الايمن ثم نختار Git bash here ليظهر لنا سطر اوامر GIT
- نقوم الان بتهيئة GIT عن طريق سطر الأوامر التالي :
git init
ونلاحظ مباشرة تكون مجلد جديد .git - والآن سنقوم بإضافة التعديلات التي تمت على الملف باستخدام الأمر
. git add
- بعد ذلك نقوم بحفظ التعديلات باستخدام الأمر
' هنا نضع الملاحظات التي نرغب بها git commit -m '
- نقوم بعمل حساب على موقع GitHub (مثل التسجيل بأي موقع الكتروني)
ملاحظة :يرجى التأكد من تفعيل الحساب عن طريق اتباع ايميل التفعيل المرسل - نقوم بإنشاء مستودع جديد (ملاحظة يطلق على المجلد اسم مستودع أوRepo) في حال استخدامه مع برمجيات اصدارات التحكم ولنسميه بنفس اسم المجلد السابق Script
- بعدها نقوم بنسخ الرابط التالي HTTPS
- والآن نقوم بربط المستودع (المجلد) المحلي على اجهزتنا بالمستودع الذي تم انشاءه على GitHub باستخدام الأمر التالي
تضع هنا الرابط الذي حصلنا عليه سابقًا git remote add origin
- والآن نقوم برفع التعديلات المحفوظة لدينا لتظهر على GitHub عن طريق الأمر التالي
git push -u origin master
سيطلب منك تسجيل دخول حسابك على GitHub - وبذلك تكون قد رفعت جميع التعديلات الخاصة بك من جهازك المحلي الى GitHub تهانينا !
- في المجلد الذي قمنا بإعداده مسبقَا نضغط على زر الفأرة الايمن ثم نختار Git bash here ليظهر لنا سطر اوامر GIT
=======================
خاتمة
كما لاحظنا في المقال إن استخدام انظمة التحكم بالإصدارات وبرمجياتها أمر مفيد جدًا وغاية في الأهمية اثناء العمل بشكل فردي او مع فريق حيث يوفر على المطورين عبئًا كبير في عمليات الاسترجاع والمشاركة .
-