مقالات

استخدم برامج ال VCS لإدارة عمل فريقك في مشروعك القادم

ماذا يعني ال Version Control System) VCS)

هو نظام يقوم بعملية إدارة التغيرات التي يقوم بها أعضاء فريق العمل على ملفات مشروع ما.

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

clip_image002

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

ما فائدته؟

١- القدرة على عمل نسخة احتياطية للمشروع واستعادة الملفات كما كانت قبل إجراء التغييرات في أي تاريخ سابق.

٢- إذا قمت بعمل تغييرات ثم اكتشفت أنها قد احدثت بعض المشاكل، تستطيع بكل سهولة الرجوع الى آخر نسخة من المشروع كانت تعمل بشكل جيد.

٣- القدرة على التزامن، بحيث يستطيع فريق العمل مشاركة الملفات فيما بينهم ليكون لدى كل مبرمج آخر نسخة حديثة من المشروع.

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

ماهي أنواعه؟

(أنظمة مركزية ) Centralized Systems –1

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

clip_image004

( أنظمة موزعة ) Distributed Systems 2

clip_image006

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

يعد هذا النوع هو الأفضل وذلك لعدة مميزات:

§ كل مبرمج لديه مستودعه “المحلي”، بحيث يستطيع عمل التغييرات ثم التراجع عنها في أي وقت على نسخته الخاصة به.

§ هذا النظام سريع، حيث لا يتطلب الاتصال بالانترنت، إلا عندما يحتاج الشخص مشاركة التغييرات التي قام بها.

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

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

مصطلحات متداولة:

Repository –

هو المستودع الذي يحتفظ بشجرة المشروع كاملة

Pull or Check out –

سحب نسخة من المشروع من المستودع المتواجد على السيرفر

Push or Check In –

وضع نسخة من المشروع الذي يعمل عليه المبرمج في المستودع المتواجد على السيرفر

Commit –

بعد إجراء تعديلات على ملف (ملفات) معينة يجب القيام بهذ الأمر لحفظ هذه التعديلات داخل المستودع

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

Update –

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

Merge –

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

أمثلة:

· Subversion (SVN)

يعد من أشهر الأمثلة على الأنظمة (المركزية) ويكثر استخدامه في المشاريع المفتوحة المصدر

يتوفر لهذا النظام واجهة رسومية جيدة وبديهية من أجل استعراض و تحرير ملفاتك يطلق عليها Tortoise SVN.

· Git

وهو مثال على الأنظمة (الموزعة) ولقد بدأنا نلاحظ سرعة انتشار استخدامه في مجتمع مطوري الويب الآن لسرعته وفعاليته.

· Mercurial

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

يتوفر كذلك لهذا النظام واجهة رسومية سهلة الاستخدام يطلق عليها TortoiseHg

بما أني مبرمجة على بيئة.NET وأستخدم برنامج ال Visual Studio لبرمجة التطبيقات المختلفة, فإنني أستخدم أيضاً أداة أخرى VisualHG وهي خاصة لإعطاء دعم لنظام Mercurial داخل برنامج ال Visual Studio.

‫5 تعليقات

  1. موضوع أكثر من رائع، و كوني اطور تطبيقات الدوت نت فقد استهواني ما ذكرته عن Mercurial و سأستخدمه قريبا

  2. بإمكانك اختيار أي برنامج من الأمثلة المذكورة ومن ثم البحث عنها عبر Google وتحميلها بالمجان.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى