أفضل استضافة التحكم في الإصدار مايو 2020

إفشاء: يساعدك دعمك في الحفاظ على تشغيل الموقع! نحصل على رسوم إحالة لبعض الخدمات التي نوصي بها في هذه الصفحة.


Contents

ابحث عن الاستضافة مع هذه الميزات في التحكم في الإصدار

  • زئبقي
  • SVN

التحكم في الإصدار والاستضافة

استضافة التحكم الإصدار

يحب المبرمجون الترميز.

يمكن أن يكون من السهل التعود على فتح محرر ببساطة والبحث عن أكبر قدر ممكن من التعليمات البرمجية.

هذا صحيح بشكل خاص إذا كنت تعمل في مشروع شخصي أو كنت المطور الوحيد.

قد يكون الأمر أكثر إغراء إذا كنت مبرمجًا سريعًا أو لديك رئيس يريد إصلاحات وحلول على الفور.

ولكن إذا كنت تحاول إدخال رمز جديد في الإنتاج بدون نظام تحكم مناسب في الإصدار ، فأنت لا تقوم بالفعل بتطوير البرامج ، فأنت تقوم بـ “Cowboy Coding”.

كيف يعمل التحكم في الإصدار

كيف يعمل التحكم في الإصدار

التحكم في الإصدار ، الذي يُطلق عليه أيضًا التحكم في المراجعة أو تعيين الإصدار أو التحكم في المصدر ، هو طريقة لتتبع المراجعات التي تتم على المستندات أو التعليمات البرمجية أو الملفات الأخرى.

يمكن أن تكون أنظمة التحكم في الإصدار (VCS) أو برنامج التحكم في الإصدار تطبيقات قائمة بذاتها مدمجة في تطبيقات تحرير المستندات (مثل Word أو مستندات Google).

يمكن أيضًا تضمينها في أنظمة إدارة المحتوى (مثل WordPress أو MediaWiki) أو بيئة التطوير المتكاملة (IDE) مثل Visual Studio من Microsoft.

ماذا يفعل التحكم الإصدار?

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

يحافظ التحكم في الإصدار على نسخة رئيسية من قاعدة التعليمات البرمجية. تسمح العديد من أنظمة التحكم في الإصدار بوجود عدة نسخ متوازية من قاعدة التعليمات البرمجية بأكملها في وقت واحد.

لكل مطور برامج نسخته الخاصة من قاعدة الكود: يمكنهم إجراء مراجعات دون التأثير على كود المصدر الرئيسي.

يتم إدخال هذه المراجعات في الوقت المناسب ويتم دمجها في شفرة المصدر الرئيسية.

تعتمد كيفية حدوث هذا الدمج على نظام التحكم في الإصدار (VCS) المستخدم.

أسباب استخدام التحكم في الإصدار

أسباب استخدام التحكم في الإصدار

غير مقتنع حتى الآن أنك بحاجة إلى نظام التحكم في الإصدار?

فيما يلي الأسباب التي تجعل التحكم في الإصدار يستحق الاستخدام:

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

الحرية في ارتكاب الأخطاء

هل سبق لك استخدام زر UNDO (CTRL-Z) أثناء العمل؟ بالطبع تفعل. إنها واحدة من أهم ميزات أجهزة الكمبيوتر الحديثة.

ما يمنحك زر UNDO هو حرية ارتكاب الأخطاء. هذه واحدة من المزايا التي تحصل عليها من التحكم في الإصدار – في الواقع ، قد تكون أهم ميزة.

حرية تجربة شيء جديد

باستخدام التحكم في الإصدار ، يمكنك تجربة شيء ما – حل جديد ، وميزة جديدة ، وإصلاح خطأ.

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

لن يتم دمج هذه المراجعات في التعليمات البرمجية المصدر الرئيسية. (يشبه نوعًا ما حفظ النقاط في لعبة فيديو).

هذا مفيد لسببين:

  1. سوف ترتكب الأخطاء حتمًا ، لذلك قد يكون لديك أيضًا طريقة لتصحيحها بسهولة.
  2. بمجرد أن تعرف أن لديك طريقة لعكس الأخطاء ، يصبح من الأسهل بكثير المغامرة في منطقة غير معروفة والمجازفة باستخدام حلول جديدة أو أفكار لم يتم اختبارها.

التاريخ الكامل للتنقيحات التي تم إجراؤها على قاعدة التعليمات البرمجية الخاصة بك

هل سبق لك أن عملت في مشروع على مدى فترة طويلة من الوقت ثم قال أحد الأشخاص الذين يستخدمونه ، “ألم يستخدم زر الخروج لتشغيل تحذير حفظ قبل إغلاق التطبيق؟”

إذا كان النظام موجودًا لفترة طويلة بما فيه الكفاية ، فلا بد من تغيير بعض الميزات وإزالتها.

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

عادة ، كان هناك سبب لوجود العنصر في المقام الأول (حتى مع الميزات التي تمت إزالتها في النهاية).

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

عدد أقل من الأسئلة التي لم يتم الرد عليها

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

أو ، إذا كان لديك التحكم في الإصدار ، يمكنك البحث عن المراجعات السابقة والعودة بإجابات محددة حول:

  • ما تفعله هذه الميزة
  • عندما تم إزالته
  • لماذا تمت إزالته.

هذا مفيد بشكل خاص إذا كان عليك:

  • أعد تنفيذ الميزة (في بعض الأحيان يمكنك فقط إعادة تنفيذ الرمز الذي تمت إزالته!)
  • الدفاع عن استبعاده المستمر من التطبيقات الجاهزة للإنتاج.

أثر ورقي لما تم عمله ولماذا

يرتبط هذا ارتباطًا وثيقًا بتاريخ الإصدار ، ولكنه يتعلق أكثر بالمطورين وقليلًا حول الميزات.

ليس دربك الورقي (عادة) دربًا ورقيًا حرفيًا ، ولكن التحكم في الإصدار يتيح لك رؤية أشياء مثل:

  • ما المراجعات التي تمت
  • عندما تم إجراء المراجعات
  • من قام بالتنقيحات.

يعد هذا مفيدًا عند محاولة تجميع الأشياء كما هي. يمكنك تعيين الائتمان أو اللوم أو مجرد معرفة من يسأل عن بعض الميزات أو التنفيذ المحدد.

النسخ الاحتياطية

عادة ، يتم تخزين المستودعات التي تسيطر عليها النسخة في مواقع متعددة.

هذا يحفظ مشاريعك من وجود آلة واحدة كنقطة فشل واحدة كارثية.

تسهيل التعاون الأسهل بين أعضاء الفريق

إذا كان هناك شخص واحد فقط يعمل في مشروع ، فقد تتمكن من الفرار دون استخدام أي نظام للتحكم في الإصدار (على الرغم من أن هذا لا يزال فكرة سيئة حقًا).

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

على هذا النحو ، فإن إحدى الميزات التي لا غنى عنها لأنظمة التحكم في الإصدار (VCS) هي القدرة على التحقق من وجود مراجعات غير متوافقة بشكل متبادل لقاعدة الشفرة الرئيسية لضمان عمل كل شيء معًا.

تعيين

النشر والتحكم في الإصدار

كيف يمكنك نقل الملفات من جهاز التطوير المحلي الخاص بك إلى بيئة الاختبار الخاصة بك ، ثم أخيرًا بيئات الإنتاج?

بعض الناس يبقون فقط نافذة FTP مفتوحة وإسقاط الملفات أثناء تغييرها.

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

دفع المراجعات كلها دفعة واحدة

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

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

أنواع أنظمة التحكم في الإصدار (VCS)

هناك نوعان أساسيان من أنظمة التحكم في الإصدار:

  • أنظمة التحكم في الإصدار المركزي
  • أنظمة التحكم في الإصدار اللامركزي.

دعونا نلقي نظرة متعمقة أدناه.

تحكم الإصدار المركزي

أنظمة التحكم في الإصدار المركزي

تتبع أنظمة التحكم في الإصدار المركزي نموذج خادم العميل.

في هذه الأنظمة ، توجد مجموعة رئيسية واحدة (“مركزية”) من التعليمات البرمجية المصدر على الخادم. يقوم المطورين بسحب الملفات الفردية التي يتم العمل عليها.

ثم يتم “تأمين” نسخة العمل. يتم تحذير الآخرين إما أنه لا يجب إجراء مراجعات للملف أو حتى منعهم من تحرير الملفات (أو كليهما).

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

عينة سير عمل VCS مركزي

في نظام تحكم الإصدار المركزي ، هناك خادم مركزي (أو مستودع) يعمل كمصدر للحقيقة.

هذه هي أيضًا مجموعة التعليمات البرمجية التي يتم الاحتفاظ بها عادةً في حالة جاهزة للإنتاج.

وهذا يعني أنه ، في أي وقت ، يمكن شحن الرمز إلى بيئة إنتاج دون تشعبات سلبية.

سير العمل

عندما تحتاج للعمل على شيء ما ، ستجد الملفات التي تحتاج للعمل عليها. ثم تقوم “بسحب” هذه الملفات ، مما يعني أن:

  1. يمكنك سحب نسخة إلى جهازك المحلي ، حيث يمكنك العمل عليها
  2. يتم تأمين الملفات نفسها ضد التعديل من قبل الآخرين في فريقك

عند الانتهاء من إجراء التغييرات ، يمكنك تنفيذها ، بما في ذلك ملاحظة حول ما قمت به.

على عكس الأنظمة اللامركزية التي تدمج فيها تغييراتك (سنتحدث أكثر عن عمليات الدمج بعد قليل) ، ما عليك سوى دفع التغييرات إلى الخادم المركزي. يؤدي هذا إلى تحرير الأقفال الموجودة على هذه الملفات.

التحكم في النسخة اللامركزية

أنظمة التحكم في الإصدار اللامركزية (أو الموزعة)

أنظمة التحكم في الإصدار اللامركزي / الموزع هي تلك التي يمتلك فيها مطورو البرامج المشاركين:

  • نسخة كاملة من قاعدة التعليمات البرمجية بالكامل (على عكس نسخة عمل من الملفات المحددة)
  • تاريخ المراجعات التي تم إجراؤها.

مصدر الحقيقة والمستخدمين والعقد

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

الأصل مشابه لشفرة المصدر “المركزية” في VCS مركزي.

التغييرات الفردية ، عندما تكون جاهزة ، تندمج في مصدر الحقيقة (عادة ما يطلق عليها اسم الفرع الرئيسي).

بسبب الطريقة غير المتزامنة والمستقلة التي تعمل بها VCS اللامركزية, يجب حل تعارضات الدمج بواسطة المطورين قبل حدوث الدمج.

هذه هي الطريقة التي يتم بها منع الاختلافات غير القابلة للتوفيق بين عمل مطورين أو أكثر من كسر الفرع الرئيسي.

عينة سير عمل لامركزية VCS

في هذا القسم ، سنتناول عملية استخدام نظام التحكم في الإصدار اللامركزي.

إن التفريع والدمج المطلوب يجعل استخدام هذه الأنظمة أكثر تعقيدًا قليلاً من نظيراتها المركزية.

ابدء

يمكنك البدء بإحدى طريقتين:

  • يمكنك تهيئة مستودع جديد على جهاز ديف الخاص بك
  • يمكنك استنساخ مستودع موجود.

بغض النظر عن الخيار الذي حددته ، ستنتهي بنسخة كاملة من التعليمات البرمجية المصدر على جهاز الكمبيوتر الخاص بك.

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

إجراء التغييرات

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

يمكن أن يختلف عدد التغييرات التي تقوم بتضمينها في الفرع.

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

عادةً ، ستضمن (على الأقل) أن تكون جميع التغييرات مرتبطة بميزة واحدة.

تسمى عملية حفظ التغيير يلتزم.

يتطلب كل التزام تقوم به إضافة ملاحظات حول ما قمت به – يجب أن يلاحظ VCS الخاص بك تلقائيًا أنك الشخص الذي ارتكب التغيير ومتى.

إدارة الالتزامات

بمرور الوقت ، ستتمكن من رؤية سجل لجميع الالتزامات التي تم القيام بها ، ومتى تم ذلك ، وعلى يد من.

تمتلك ميزة ميزة المكافأة التي تسمح لك باستعادة تغييراتك قليلاً في كل مرة.

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

يمكنك التفكير في الانقسامات كأقسام الفروع.

بينما تحتفظ الفروع بالتغييرات المتعلقة بميزة معينة ، فإن عمليات التنفيذ هي التغييرات الأصغر التي تُضاف معًا إلى تحديث الميزة الكاملة.

دفع الفروع

الفروع مفيدة أيضًا لمشاركة عملك.

على سبيل المثال ، لنفترض أنك تعمل مع عدة آخرين ، وأنك تساهم جميعًا في مستودع واحد.

حسنًا ، إذا كنت ترغب في مشاركة عملك (ربما تريد الحصول على الرمز الذي كتبته) ، فيمكنك فقط دفع الفرع الذي تعمل عليه بدلاً من المستودع بأكمله.

شحن عملك

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

العملية العامة هي كما يلي:

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

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

إذا لم يكن الأمر كذلك ، فسيتعين عليك حل تعارضات الدمج وتحديث طلبك.

مقارنة أنظمة التحكم الإصدار

مقارنة ومقارنة (الموزعة) اللامركزية مقابل أنظمة التحكم المركزية الإصدار

ما هي الاختلافات الأساسية بين نظام التحكم في الإصدار اللامركزي / الموزع مقابل نظام التحكم في الإصدار المركزي?

الفرق الأكثر وضوحًا بين VCS المركزي واللامركزي هو من حيث الوصول والراحة.

سلبيات نظام مركزي

يمكنك التفكير في نظام مركزي على أنه يشبه الوصول إلى مجلد Dropbox مشترك من خلال متصفح الويب.

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

باستخدام نظام مركزي ، قبل أن يتمكن المستخدمون من بدء التحرير ، يحتاجون إلى:

  • الوصول إلى ملفات المصدر المركزية
  • قم بتنزيل نسخة العمل التي يحتاجونها
  • تحقق من نسخة العمل بحيث تكون مؤمنة وغير قابلة للتحرير من قبل الآخرين.

الملفات في النظام الموزع

باستخدام النظام الموزع ، تكون الملفات في مكانها الصحيح بالفعل.

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

استنساخ المستودع مماثل لنسخ ملف – تذكر ، ولكن المستودعات تمتلك معلومات تاريخية إضافية.

عندما تكون مستعدًا لبدء العمل ، كل ما عليك فعله هو فتح الملفات التي قمت “بسحبها” إلى جهاز الكمبيوتر الخاص بك.

يعد امتلاك جميع الملفات التي تحتاجها محليًا ميزة كبيرة من حيث السرعة والكفاءة.

المرة الوحيدة التي تحتاج فيها إلى الاتصال بالخادم هي سحب ملف منه أو دفع ملف إليه.

مزايا وعيوب النظام الموزع

تسمح هذه الطريقة غير المتزامنة للمستخدمين أيضًا بإجراء العديد من المراجعات محليًا قبل اتخاذ قرار بشأن الخطوة التالية:

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

ومع ذلك ، فإن أحد الجوانب السلبية الكبيرة لـ VCS الموزعة هو مقدار المساحة التي قد يتطلبها المستودع المحلي.

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

يتم تضخيم هذه المشكلة إذا كان عليك استنساخ مستودعات متعددة لمشاريع واحدة (أو حتى متعددة).

لماذا هذه العيوب?

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

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

التحكم في إصدار الخيارات اللامركزية

خيارات نظام التحكم في الإصدار الموزع

عند اختيار نظام التحكم في الإصدار (VCS) ، ما هي الخيارات المتاحة لك?

أي واحد يجب عليك أن تختار?

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

نأمل أن يساعدك هذا في تحديد خيار يناسب احتياجاتك. إذا لم يكن الأمر كذلك ، فمن المفترض أن تساعدك هذه القائمة على بدء البحث عن الخيار الذي يعمل!

لنبدأ ببعض الخيارات الموزعة الأكثر شيوعًا المتاحة.

بازار

البازار هو نظام التحكم في الإصدار برعاية Canonical ، مكتوب بلغة Python.

يمكن للمستخدمين على أنظمة macOS و Linux و Windows استخدام هذا المنتج ، كمشروع متعدد المصادر ومفتوح المصدر.

بالنسبة للمستخدمين المطلعين على نظام الإصدار المتزامن (CVS) أو التخريب (SVN) ، ستظهر أوامر Bazaar متشابهة.

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

كما أنه يدمج بشكل جيد مع VCS الأخرى – يمكنك تنفيذ التغييرات على SVN ، ويمكنك قراءة الملفات التي يتم تتبعها بواسطة Git أو Mercurial.

يمكنك أيضا تصدير تاريخ البازار إلى العديد من الأنظمة الأخرى.

حفرية

Fossil هو نظام للتحكم في الإصدارات الموزعة عبر الأنظمة الأساسية ويتضمن أيضًا ميزات لـ:

  • تتبع الأخطاء
  • الويكي
  • المدونات.

تأتي الأحفوريات بواجهة ويب مدمجة تعرض سجل التغييرات التفصيلي ومعلومات حالة المشروع.

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

مشابهة لـ Bazaar

مثل Bazaar ، لا يتطلب Fossil منك استخدام خادم مركزي ، ولكن إذا فعلت ذلك ، سيكون التعاون بين أعضاء فريقك أسهل.

تستخدم Fossil قواعد بيانات SQLite لتخزين محتواها.

شخص سخيف

Git هو نظام تحكم في الإصدار تم إنشاؤه بواسطة “والد Linux” ، Linus Torvalds.

على الرغم من أن Git يتميز بشكل بارز في عالم تطوير البرمجيات ، إلا أنه يمكن استخدامه لتتبع التغييرات في أي نوع من مجموعة الملفات.

فوق كل شيء ، جيت يعطي الأولوية للأداء.

هذا مهم عندما تتطلب أنظمة التحكم في الإصدار الموزع:

  • السحب الأولي لجميع ملفات المشروع (وليس فقط الملفات التي يتم العمل عليها)
  • تكامل البيانات
  • دعم سير العمل غير الخطي.

بوابة على منصات مختلفة

على الرغم من تطوير Git باستخدام Linux ، إلا أنه حل عبر الأنظمة الأساسية.

عادة ، تتم إدارة كل مشروع في مستودع فردي. (تذكر أن المستودع هو في الأساس مجلد ولكن مع سجل التغييرات).

تنقسم ملفات المشاريع الكبيرة أحيانًا إلى مستودعات متعددة.

عادةً ما يتم استخدام Git جنبًا إلى جنب مع نوع من خدمة الاستضافة المستندة إلى الويب.

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

جيثب

يعد GitHub من أكثر خدمات الاستضافة شيوعًا على الويب والمستخدمة لـ Git (كمسألة وجه ، يعد GitHub أكبر مضيف لشفرة المصدر في العالم).

بالإضافة إلى دعم جميع ميزات التحكم في الإصدار وإدارة شفرة المصدر لـ Git ، يقدم GitHub:

  • أدوات التحكم في الوصول
  • أدوات تتبع الأخطاء
  • إدارة طلبات الميزة
  • أدوات إدارة المهام / الإنتاجية
  • الويكي.

يمكنك أيضًا إنشاء واستضافة صفحات ويب بسيطة باستخدام GitHub.

على الرغم من أن GitHub يقدم كل من المستودعات العامة والخاصة ، باستخدام مستودع خاص يتحمل رسومًا (في حين أن المستودع العام مجاني).

هذا يتماشى مع تفاني GitHub لفتح شفرة المصدر.

Bitbucket

Bitbucket هي مساهمة Atlassian في عالم الاستضافة المستندة إلى الويب لمستخدمي Git (و Mercurial).

بالإضافة إلى حساباتها المجانية ، تقدم Bitbucket المزيد من الخطط التجارية الغنية بالميزات.

بالنسبة لبعض المستخدمين ، يعد Bitbucket خيارًا أفضل من GitHub ، نظرًا لأن Bitbucket لا يغير أي شيء إذا كنت تستخدم مستودعًا خاصًا.

تحصل الحسابات المجانية على عدد غير محدود من المستودعات الخاصة ، على الرغم من أن عدد المساهمين محدود.

عادة ما ينظر إلى Bitbucket كخيار لـ المطورين المحترفين أعمل مع كود مصدر الملكية.

استخدامه الأساسي لمراجعة التعليمات البرمجية والتعليمات البرمجية ، على الرغم من أن Bitbucket تقدم بعض الإضافات مثل:

  • توثيق
  • ويكي
  • ميزات موقع ثابت.

جيت لاب

GitLab هو مدير المستودعات التي أنشأتها Git والتي تقدم خيارًا مستضافًا ذاتيًا أو خدمة مستندة إلى الويب. يقدم GitLab ميزات وأدوات متعلقة بـ Wiki ، بالإضافة إلى وظائف تتبع المشكلات.

خطط Gitlab ذاتية الاستضافة واستضافة كاملة

يوفر GitLab أربع خطط حلول مختلفة ذاتية الاستضافة:

  • Core: بالنسبة للفرق الصغيرة أو المشاريع الشخصية (Core مجاني تمامًا للاستخدام)
  • كاتب: للمشاريع الشخصية أو الفرق الصغيرة الذين يريدون دعمًا احترافيًا.
  • مميز: للفرق التي تحتاج إلى توفر عالٍ ، أو أداء عالي ، أو دعم على مدار الساعة طوال أيام الأسبوع.
  • النهائي: بالنسبة للمؤسسات الكبيرة التي تحتاج إلى وظائف أمان وامتثال إضافية.

إذا لم تكن مهتمًا بالاستضافة الذاتية ، فيمكنك اختيار نسخة مستضافة بالكامل من Git. لكل خطة مستضافة ذاتيًا ، هناك خطة مستضافة مقابلة:

  • Core → مجاني
  • كاتب → برونزي
  • قسط → فضي
  • النهائي → الذهب

ميزة التماثل بين خطط Gitlab

يضمن GitLab تكافؤ الميزات بين خططه ذاتية الاستضافة والاستضافة الكاملة (أي أن الميزات المقدمة لأولئك الموجودين في خطة Starter هي نفسها تلك الموجودة في الخطة البرونزية).

تحتاج إلى مستودع خاص?

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

في هذه المواقف ، يعد GitLab أرخص من GitHub وأسرع من Bitbucket (على الرغم من الواضح ، قد تختلف المسافة المقطوعة وفقًا للمتغيرات الخاصة بحالتك).

زئبقي

Mercurial هو نظام التحكم في الإصدار الموزع عبر الأنظمة الأساسية وهو:

  • أداء عالي
  • قابل للتوسع بسهولة
  • قادر على التعامل مع كل من النص العادي والملفات الثنائية
  • المتقدمة في قدراتها المتفرعة والدمج.

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

على الرغم من أن سطر الأوامر هو الطريقة الأساسية التي يتفاعل من خلالها المستخدم مع Mercurial ، هناك العديد من امتدادات واجهة المستخدم الرسومية (GUI) المتاحة ، والعديد من بيئات التطوير المتكاملة (IDE) تقدم دعمًا مدمجًا للتكامل Mercurial.

خيارات التحكم في الإصدار المركزي

خيارات نظام التحكم في الإصدار المركزي

أنظمة التحكم في الإصدار التالية هي بعض من الخيارات المركزية الأكثر شيوعًا المتاحة.

نظام النسخ المتزامنة (CVS)

نظام الإصدارات المتزامنة (CVS) هو برنامج مجاني للتحكم في الإصدارات.

تعود أصول CVS إلى سلسلة من النصوص البرمجية التي تم شحنها في منتصف عام 1986.

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

عند استخدام CVS ، لاحظ أن المصطلحات التي يستخدمها تختلف قليلاً عن تلك المستخدمة من قبل أنظمة التحكم في الإصدارات الأخرى.

على سبيل المثال ، تسمى مجموعة من الملفات ذات الصلة وحدة نمطية ، بينما تسمى سلسلة الوحدات النمطية التي يديرها خادم CVS المستودع.

يستدعي CVS الملفات التي يتم سحبها من قبل المطورين وهي نسخة العمل أو وضع الحماية أو مساحة العمل.

يتم إرسال مراجعات نسخة العمل إلى المستودع عبر عمليات التنفيذ ، بينما التحديث هو عملية الحصول على التغييرات الموجودة الآن في المستودع.

التخريب (SVN)

أفتشي التخريب (SVN) هو نظام مفتوح المصدر للتحكم / المراجعة.

ذكرنا أن نظام الإصدارات المتزامنة (CVS) لا يزال لديه بعض المستخدمين ، ولكن لم يتم تحديث CVS منذ عام 2008.

على هذا النحو ، تم تصميم التخريب ليكون بمثابة وكثيرا ما يستخدم كبديل / خلف متوافق مع CVS (في الغالب).

ما الذي يجعل التخريب جدير بالاهتمام?

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

تم تطوير التخريب في الأصل في عام 2000 كبديل لـ CVS ، ولكن مع إصلاحات الأخطاء والميزات الإضافية غير الموجودة في CVS.

واحدة من أكبر مزايا Subversion هي مدمجة, أذونات دقيقة النظام.

يمكنك تقييد الوصول إلى الملفات والأدلة على أساس كل مستخدم.

علاوة على ذلك ، يعد Subversion خيارًا جيدًا لأولئك الذين يريدون تخزين الملفات الثنائية والأصول الأخرى المخزنة في نفس المستودعات مثل التعليمات البرمجية المصدر (حتى إذا كان لديك عدد كبير من الملفات الثنائية المذكورة).

سهل الاستخدام والسوق المستهدف

أخيرًا ، لا تستبعد حقيقة وجود منحنى تعليمي عندما يتعلق الأمر بأنظمة التحكم في الإصدار.

التخريب يمكن أن يكون أسهل للأشخاص (خاصةً المستخدمين غير التقنيين) للتعلم والفهم من أنظمة التحكم في الإصدارات الأخرى.

أخيرًا ، يعد التخريب خيارًا جيدًا للشركات التي تعمل في الصناعات الخاضعة للتنظيم الشديد.

بينما يمكنك بالتأكيد اختراق أي نظام للتحكم في الإصدار للحفاظ على مسارات التدقيق التي تحتاجها للتأكد من أن شركتك متوافقة مع اللوائح المناسبة.

يأتي نظام SVN ، كنظام على مستوى المؤسسة ، مع مجموعة الميزات اللازمة لتسهيل هذه العملية عليك.

خادم أساس الفريق (TFS)

خادم أساس الفريق (TFS) هو مساهمة Microsoft في عالم أنظمة التحكم في الإصدار.

يتضمن TFS أيضًا ميزات لـ:

  • إعداد التقارير
  • إدارة متطلبات
  • ادارة مشروع
  • اختبار وقدرات إدارة الإصدار.

بشكل أساسي ، يحتوي TFS على كل ما تحتاجه لإدارة جميع جوانب دورة حياة تطوير البرامج.

ما هو TFS المستخدم مع?

يمكن استخدام TFS مع العديد من بيئات التطوير المتكاملة المختلفة (IDE).

بنيت خصيصا للاستخدام مع استوديو مرئي أو كسوف.

يمكنك استضافة TFS ذاتيًا ، أو يمكنك الاشتراك في الإصدار المستضاف المسمى Visual Studio Team Services.

علاوة على ذلك ، تعد TFS واحدة من المنتجات القليلة التي تفتخر بالتمدد المدمج.

يمكنك بالتأكيد اختراق الأنظمة الأخرى لأداء الطريقة التي تريدها إذا كانت تتعارض مع الطريقة التي تم تصميم المنتج بها ، ولكن TFS يجعل هذه العملية أسهل بكثير.

ملخص

هناك العديد من أنظمة التحكم في الإصدار المختلفة ، وبينما تنفذ جميعها التحكم في الإصدار بشكل مختلف قليلاً ، فإن الشيء المهم هو أن تعتمد نظامًا واحدًا.

الفرق بين Git و CVS و SVN ليس كبيرًا مثل الفرق بين عدم وجود نظام للتحكم في الإصدار مقابل.

لا تخاطر بفقدان كارثي لكودك المصدر – تبني نظام التحكم في الإصدار اليوم!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map