سؤال

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

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

ما هي بعض اختبارها ميدانيا المتفرعة أنماط رأيتم في بيئة الإنتاج التي عملت بشكل جيد أيالمتفرعة في الافراج عنهم.ما هي السياسات التي تم وضعها لضمان أن المتفرعة بسلاسة.

شكرا

هل كانت مفيدة؟

المحلول

ذلك يعتمد على أي نوع من البرامج التي يتم تطويرها.

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

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

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

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

للعلم نحن نستخدم التخريب.

نصائح أخرى

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

و3 أشياء عند النظر المتفرعة.

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

ثانيا: تأكيد احتياجاتك. رأيت شجرة من جميع الأحجام وفقا لحجم الدائرة، وعدد من العملاء، الخ ...

ثالثا: تحقق جيدا كيف التحكم بالمصادر الخاصة بك هو لالمتفرعة ودمجها. على سبيل المثال، CVS هو المعروف سيئة للغاية لهذا النوع من العمليات. SVN، "CVS الحق في القيام به" كما يزعمون، هو أفضل إلى حد ما. ولكن لينوس تورفالدس الذي خلق بوابة (وهو أمر جيد خاصة لهذا النوع من العمليات) سوف اقول لكم لا يمكن أن يتم CVS الحق (قال ذلك في عرض مثير جدا للاهتمام على بوابة). حتى إذا كان لديك حاجة حقيقية لالمتفرعة ودمجها، على الأقل الحصول على SVN لا CVS.

إلقاء نظرة على الأنماط المتفرعة:

http://www.cmcrossroads.com/bradapp/acme/branching/

ويصف عدد من أنماط العمل مع الأنماط.لقد عموما يعمل بطريقتين:

  • مستقرة تلقي خط التنمية تتم في فروع دمجها في الجذع فقط عند الحاجة.هذا يعني أن لديك دائما واحدة مستقرة نقطة الإطلاق.

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

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

Project
   |
   +--01-Development
   |  |
   |  +--Release1.0
   |  |  |
   |  |  +--Solution Files
   |  |   
   |  +--Release2.0
   |     |
   |     +--Solution Files
   |
   +--02-Integration
   |  |
   |  +--Release1.0
   |  |  |
   |  |  +--Solution Files
   |  |   
   |  +--Release2.0
   |     |
   |     +--Solution Files
   |
   +--03-Staging
   |
   +--04-Production

كذلك يمكنك الحصول على فكرة...

ملاحظة: هذا هو الدليل هيكل في "ملقم Foundation فريق" الفروع موجودة فقط بين 01-التنمية/Release1.0 ، 02-التكامل/Release1.0, 02-التكامل/Release1.0 ، 03-التدريج/Release1.0, 03-التدريج/Release1.0 04-إنتاج/Release1.0

وبعبارة أخرى لن تكون قادرة على دمج 03-التدريج/Release1.0 إلى 04-إنتاج/Release2.0, الخ...

ماذا يفعل هذا بالنسبة لنا هو لدينا 4 بيئات منفصلة التنمية والتكامل (ألفا server) ، تنظيم (بيتا server) الإنتاج.

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

الميزات/التغييرات التي تم جمعها و تصنيفها في النشرات التي أكور كل بضعة أشهر.

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

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top