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

💖 هل يعجبك؟شارك الرابط مع أصدقائك

دعونا نكتشف ذلك،" ما هو نظام التحكم في الإصدار"(VCS)، ولماذا هو مهم جدًا. وأيضا، دعونا ننظر مقارنة أنظمة التحكم في الإصدار.

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

اختلافات كبيرة عن أنظمة التحكم في الإصدار الأخرى

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

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

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

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

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

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

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

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

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

مثال على نظام التحكم في الإصدار المحلي - آر سي إس..

نظام مركزي للتحكم في الإصدار SVN (Subversion)، وCVS، وPerforce

عند التفاعل مع المطورين الآخرين، لم يعد استخدام نظام التحكم في الإصدار المحلي مناسبًا. لهذه الأغراض، تم اختراع نوع جديد مرض الذئبة الحمراءنظام مركزي للتحكم في الإصدار (CSKV). تحتوي هذه الأنظمة على خادم واحد يحتوي على جميع إصدارات الملفات، ويتلقى العملاء هذه الملفات. أمثلة على CSCVs هي نظام التحكم في إصدار SVN (التخريب), CVSو بحكم الأمر.

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

ما هو التحكم في الإصدار ولماذا تحتاجه؟

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





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





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


يطلق على نفسه اسم "التحكم في الإصدار للأشخاص".


جميع المطورين CSKVسيكون قادرًا (إلى حد ما) على معرفة ما يفعله المطورون الآخرون. يتمتع المسؤولون بالسيطرة الكاملة على المشروع: لديهم القدرة على التحكم في من يمكنه فعل ماذا.

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

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

فلماذا نحتاج إلى نظام التحكم في الإصدار؟

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

نظام التحكم في الإصدار اللامركزي Git، Mercurial، Bazaar، Darcs

لحل مشكلة شبكات SVN المركزية، استخدم نوعًا آخر مرض الذئبة الحمراء. VCS اللامركزية (DSKV)- يقوم العملاء بنسخ المستودع بأكمله، بدلاً من مجرد تنزيل لقطة لجميع الملفات (حالة الملفات في وقت معين). في هذه الحالة، في حالة فشل الخادم، يمكن نسخ مستودع العميل إلى خادم آخر يعمل، لأن هذا المستودع عبارة عن نسخة احتياطية كاملة لجميع البيانات.

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

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

هل ترغب في العمل على مشاريع تطوير تكنولوجيا المعلومات الجماعية في نصف الوقت؟ شارك في دورة المؤلف الجديدة وتعلم كيفية استخدام جميع مزايا Git!

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

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

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

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

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

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

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

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

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

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

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

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

التفرع يبدو بسيطا، أليس كذلك؟ حسنًا، هذا ليس صحيحًا: معرفة كيفية دمج التغييرات من فرع إلى آخر قد يكون أمرًا صعبًا. لنفترض أننا نريد دفع ميزة الأرز من فرعنا التجريبي إلى صندوق السيارة. نريد تطبيق التغييرات التي حدثت في الفرع! هذه نقطة دقيقة - تخيل تغييرات "تقشير" من فرع تجريبي وإضافته إلى الفرع الرئيسي. داخل الصندوق الرئيسي، قم بتشغيل الأمر. على هذه اللحظةإنه سباق: إذا قام جو بالتحقق أولاً، فهذا تغيير يحدث.



أخبر الأصدقاء