Skip to main content

أفضل الممارسات المتفرعة استراتيجية التخريب


أفضل الممارسات التخريب.
هذا هو مجموعة سريعة من المبادئ التوجيهية لتحقيق أفضل استخدام للتخريب في عملك تطوير البرمجيات يوما بعد يوم.
استخدام تخطيط مستودع عاقل.
هناك العديد من الطرق لوضع مستودع التخزين الخاص بك. لأن الفروع والعلامات هي أدلة عادية، ستحتاج إلى حسابها في بنية المستودع الخاص بك.
ويوصي مشروع التخريب رسميا بفكرة "جذر المشروع" الذي يمثل نقطة ترسيخ لمشروع ما. A "جذر المشروع" يحتوي بالضبط ثلاثة الدلائل الفرعية: / الجذع، / الفروع، و / العلامات. قد يحتوي مستودع التخزين على جذر مشروع واحد فقط، أو قد يحتوي على عدد منها.
الالتزام بتغييرات منطقية.
عند إجراء تغيير في مستودع التخزين، تأكد من أن التغيير يعكس غرضا واحدا: إصلاح خطأ معين أو إضافة ميزة جديدة أو بعض المهام المحددة. سيؤدي الالتزام إلى إنشاء رقم مراجعة جديد يمكن استخدامه إلى الأبد ك "اسم" للتغيير. يمكنك ذكر رقم المراجعة هذا في قواعد بيانات الأخطاء أو استخدامه كوسيطة لدمج سفن إذا كنت تريد التراجع عن التغيير أو المنفذ إلى فرع آخر.
استخدام تعقب المسألة بحكمة.
حاول إنشاء أكبر عدد ممكن من الروابط في الاتجاهين بين سوبفيرزيون تشانجسسيتس ​​وقاعدة بيانات تتبع المشكلات قدر الإمكان:
إذا كان ذلك ممكنا، راجع معرف قضية محدد في كل رسالة سجل التزام. عند إلحاق المعلومات بمسألة ما (لوصف التقدم أو إغلاق المشكلة)، قم بتسمية رقم (أرقام) المراجعة المسؤول عن التغيير.
يدمج المسار يدويا.
عند ارتكاب نتيجة الدمج، تأكد من كتابة رسالة سجل وصفية توضح ما تم دمجه، مثل:
فهم نسخ العمل المختلطة.
يمكن أن تكون أدلة وملفات نسخة العمل الخاصة بك في مختلف المراجعات "العمل": هذه هي ميزة متعمدة تسمح لك لخلط وتطابق الإصدارات القديمة من الأشياء مع أحدث منها. ولكن هناك بعض الحقائق التي يجب أن تكون على بينة من:
بعد كل سفن ارتكاب، نسخة العمل الخاص بك يحتوي على مراجعات مختلطة. الأشياء التي ارتكبت للتو هي الآن في مراجعة هيد، وكل شيء آخر هو في مراجعة أقدم. بعض المخالفات غير مسموح بها: لا يمكنك الالتزام بحذف ملف أو دليل لا يحتوي على مراجعة عمل ل هيد. لا يمكنك إجراء تغيير خاصية إلى دليل لا يحتوي على مراجعة عمل ل هيد. سوف تحديث سفن تجلب نسخة العمل الخاصة بك إلى مراجعة العمل واحد، وهو الحل النموذجي للمشاكل المذكورة في النقطة رقم 2.
التحلي بالصبر مع الملفات الكبيرة.
وهناك ميزة جميلة من التخريب هو أنه من خلال تصميم، ليس هناك حد لحجم الملفات التي يمكن التعامل معها. يتم إرسال الملفات "ستريميلي" في كلا الاتجاهين بين سوبفيرزيون العميل والخادم، وذلك باستخدام كمية صغيرة ثابتة من الذاكرة على كل جانب من الشبكة.
بطبيعة الحال، هناك عدد من القضايا العملية للنظر فيها. على الرغم من أنه لا داعي للقلق بشأن الملفات في النطاق الذي يبلغ حجمه كيلو بايت (على سبيل المثال، ملفات شفرة المصدر النموذجية)، فإن استخدام ملفات أكبر قد يستغرق قدرا هائلا من الزمان والمكان (على سبيل المثال، الملفات التي يبلغ حجمها عشرات أو مئات الميغا بايت.)
بادئ ذي بدء، تذكر أن نسخ العمل سوبفيرزيون الخاص بك بتخزين نسخ البكر من كافة الملفات التي تسيطر عليها النسخة في. svn / نص قاعدة / منطقة. وهذا يعني أن نسخة العمل الخاصة بك يأخذ ما لا يقل عن ضعف مساحة القرص مثل مجموعة البيانات الأصلية. أبعد من ذلك، يتبع العميل سوبفيرزيون خوارزمية (غير قابل للتعديل حاليا) لالتزام الملفات:
نسخ الملف إلى. svn / تمب / (يمكن أن يستغرق بعض الوقت، ويستخدم مؤقتا مساحة إضافية على القرص)) يؤدي فرق ثنائي بين تمبيل والنسخة البكر، أو بين تمبيل وملف فارغ إذا أضيف حديثا. (يمكن أن يستغرق وقتا طويلا جدا لحساب، على الرغم من أن كمية صغيرة فقط من البيانات يمكن في نهاية المطاف أن ترسل عبر الشبكة) يرسل الفرق إلى الخادم، ثم ينتقل تمفيل إلى. svn / نص قاعدة /
حتى في حين لا يوجد حد نظري لحجم الملفات الخاصة بك، سوف تحتاج إلى أن تكون على علم بأن الملفات الكبيرة جدا قد تتطلب قليلا جدا من الانتظار المريض في حين تشوجس العميل الخاص بك بعيدا. يمكنك أن تطمئن، مع ذلك، على عكس كفس، الملفات الكبيرة الخاصة بك لن تعطل الخادم أو تؤثر على المستخدمين الآخرين.
تعرف متى لإنشاء فروع.
هذا هو السؤال الذي يتم مناقشته الساخنة، وأنه يعتمد حقا على ثقافة مشروع البرنامج الخاص بك. بدلا من وصف سياسة عالمية، سنقوم بوصف ثلاثة مشتركة هنا.
نظام نيفر-برانش.
(غالبا ما تستخدم من قبل مشاريع الوليدة التي لا تملك بعد رمز رونابل).
المستخدمين يرتكبون عملهم يوما بعد يوم على / الجذع. أحيانا / الجذع "فواصل" (لا تجميع، أو فشل الاختبارات الوظيفية) عندما يبدأ المستخدم في ارتكاب سلسلة من التغييرات المعقدة.
الايجابيات: سياسة سهلة جدا لمتابعة. المطورين الجدد لديهم حاجز منخفض للدخول. لا أحد يحتاج إلى معرفة كيفية فرع أو دمج.
سلبيات: التنمية الفوضى، رمز يمكن أن تكون غير مستقرة في أي وقت.
ملاحظة جانبية: هذا النوع من التنمية هو أقل خطورة قليلا في التخريب مما كانت عليه في كفس. لأن سوبفيرزيون يرتكب الذرية، فإنه ليس من الممكن للخروج أو تحديث لتلقي "جزئية" ارتكاب بينما شخص آخر هو في عملية ارتكاب.
نظام ألويس-برانش.
(غالبا ما تستخدم من قبل المشاريع التي تفضل الإدارة الثقيلة والإشراف).
كل مستخدم بإنشاء / يعمل على فرع خاص لكل مهمة الترميز. عند اكتمال الترميز، يقوم شخص ما (المبرمج الأصلي، أو النظير، أو المدير) بمراجعة جميع تغييرات الفرع الخاص ودمجها مع / الجذع.
الايجابيات: / الجذع مضمونة لتكون مستقرة للغاية في جميع الأوقات.
سلبيات: يتم عزل المبرمجين بشكل مصطنع عن بعضها البعض، وربما خلق المزيد من الصراعات دمج من الضروري. يتطلب من المستخدمين القيام بالكثير من الدمج الاضافي.
نظام فرع عند الحاجة.
(هذا هو النظام المستخدم من قبل مشروع التخريب.) المستخدمين يرتكبون عملهم يوما بعد يوم على / الجذع. القاعدة رقم 1: / الجذع يجب تجميع وتمرير اختبارات الانحدار في جميع الأوقات. والمذنبون الذين ينتهكون هذه القاعدة مهينون علنا. القاعدة رقم 2: يجب ألا يكون التزام واحد (تغييرات) كبيرا بحيث لا يشجع استعراض الأقران. القاعدة رقم 3: إذا تدخلت القاعدتان رقم 1 و 2 في صراع (أي أنه من المستحيل إجراء سلسلة من الإرتباطات الصغيرة دون تعطيل الجذع)، عندئذ يجب على المستخدم إنشاء فرع والالتزام بسلسلة من التغييرات الصغيرة هناك. وهذا يسمح استعراض الأقران دون تعطيل استقرار / الجذع.
الايجابيات: / الجذع مضمونة لتكون مستقرة في جميع الأوقات. مشاحنات المتفرعة / دمج نادرة إلى حد ما.
سلبيات: يضيف قليلا من العبء على عمل المستخدمين اليومي: يجب تجميع واختبار قبل كل ارتكاب.

أفضل ممارسات إستراتيجية التخريب الفرعي
تمت كتابة هذه الوثائق لوصف سلسلة 1.7.x من أباتشي "ў SubversionВ®. إذا كنت تقوم بتشغيل إصدار مختلف من سوبفيرزيون، يتم تشجيعك بشدة لزيارة سفنبوك / وبدلا من ذلك راجع إصدار هذه الوثائق المناسبة لإصدار سوبفيرزيون الخاص بك.
أنماط المتفرعة المشتركة.
هناك العديد من الاستخدامات المختلفة للتفرع و سفن دمج، ويصف هذا القسم الأكثر شيوعا.
وغالبا ما يستخدم التحكم في الإصدار لتطوير البرمجيات، لذلك هنا نظرة خاطفة سريعة على اثنين من الأكثر شيوعا المتفرعة / دمج أنماط المستخدمة من قبل فرق المبرمجين. إذا كنت لا تستخدم سوبفيرزيون لتطوير البرمجيات، فلا تتردد في تخطي هذا القسم. إذا كنت مطور برامج باستخدام التحكم في الإصدار للمرة الأولى، فاحرص على إيلاء اهتمام وثيق، لأن هذه الأنماط غالبا ما تعتبر أفضل الممارسات من قبل الناس ذوي الخبرة. هذه العمليات ليست محددة ل سوبفيرزيون. فهي تنطبق على أي نظام تحكم الإصدار. ومع ذلك، قد يساعدك على رؤيتها في مصطلحات سوبفيرزيون.
الافراج عن الفروع.
معظم البرامج لديها دورة حياة نموذجية: رمز، اختبار، الإفراج، تكرار. هناك مشكلتان في هذه العملية. أولا، يحتاج المطورون للحفاظ على كتابة ميزات جديدة في حين أن فرق ضمان الجودة تأخذ وقتا لاختبار إصدارات مستحيلة من البرنامج. لا يمكن أن يتوقف العمل الجديد أثناء اختبار البرنامج. ثانيا، يحتاج الفريق دائما تقريبا لدعم كبار السن، إصدارات الإصدارات من البرامج؛ إذا تم اكتشاف خلل في أحدث التعليمات البرمجية، فمن الأرجح موجود في الإصدارات التي تم إصدارها أيضا، والعملاء سوف ترغب في الحصول على هذا الإصلاح علة دون الحاجة إلى الانتظار لإصدار جديد رئيسي.
وإليك حيث يمكن للتحكم في الإصدار المساعدة. يبدو الإجراء النموذجي كما يلي:
يلتزم المطورون بجميع الأعمال الجديدة للجذع. وتلتزم التغييرات يوما بعد يوم إلى / الجذع: الميزات الجديدة، وإصلاح الأخطاء، وهلم جرا.
يتم نسخ الجذع إلى فرع الإفراج ”. عندما يعتقد الفريق أن البرنامج جاهز للإفراج (مثلا، الإصدار 1.0)، / قد يتم نسخ الجذع إلى /branches/1.0.
وتواصل الفرق العمل بالتوازي. يبدأ فريق واحد اختبار صارم لفرع الإفراج، في حين يواصل فريق آخر عمل جديد (مثلا، للإصدار 2.0) على / الجذع. إذا تم اكتشاف الأخطاء في أي مكان، يتم استصلاح الإصلاحات ذهابا وإيابا حسب الضرورة. ومع ذلك، في مرحلة ما، حتى تلك العملية توقف. الفرع هو “ المجمدة ” للاختبار النهائي الحق قبل الإفراج.
يتم وضع علامة على الفرع وأفرج عنه. عند اكتمال الاختبار، يتم نسخ /branches/1.0 إلى /tags/1.0.0 كقطة مرجعية. يتم تجميع العبوة وإصدارها للعملاء.
يتم الحفاظ على فرع مع مرور الوقت. في حين يستمر العمل على / الجذع للإصدار 2.0، لا تزال إصلاحات الشوائب إلى استدار من / الجذع إلى /branches/1.0. عندما تراكمت ما يكفي من إصلاحات الشوائب، قد تقرر إدارة القيام 1.0.1 الإفراج: /branches/1.0 يتم نسخ إلى /tags/1.0.1، ويتم تعبئتها وإصدارها.
وتكرر هذه العملية برمتها مع نضوج البرنامج: عند اكتمال العمل 2.0، يتم إنشاء فرع الإصدار 2.0 الجديد، واختبارها، الموسومة، وأفرج عنه في نهاية المطاف. بعد بضع سنوات، ينتهي المستودع مع عدد من فروع الافراج في وضع Ђњ صيانة в،، وعدد من العلامات تمثل الإصدارات النهائية التي تم شحنها.
فروع الميزة.
وهناك فرع ميزة هو نوع من الفرع الذي كان المثال المهيمن في هذا الفصل (واحد كنت قد عملت على حين سالي تواصل العمل على / الجذع). انها فرع مؤقت أنشئت للعمل على تغيير معقد دون التدخل في استقرار / الجذع. على عكس فروع الإصدار (التي قد تحتاج إلى دعم إلى الأبد)، ميزة فروع ولدت، وتستخدم لفترة من الوقت، اندمجت إلى الجذع، ومن ثم حذف في نهاية المطاف. لديهم فترة محدودة من الفائدة.
مرة أخرى، تختلف سياسات المشروع بشكل كبير فيما يتعلق بالضبط عندما يكون من المناسب إنشاء فرع ميزة. بعض المشاريع أبدا استخدام فروع ميزة على الإطلاق: يرتكب إلى / الجذع هي مجانية للجميع. ميزة لهذا النظام هو أنه بسيط "لا أحد يحتاج إلى معرفة عن المتفرعة أو الاندماج. العيب هو أن رمز الجذع غالبا ما تكون غير مستقرة أو غير صالحة للاستعمال. مشاريع أخرى تستخدم فروع إلى أقصى الحدود: أي تغيير ملتزم من أي وقت مضى إلى الجذع مباشرة. حتى أكثر التغييرات تافهة يتم إنشاؤها على فرع قصير العمر، واستعرض بعناية، ودمجها في الجذع. ثم يتم حذف الفرع. هذا النظام يضمن جذع استثنائي وقابل للاستخدام بشكل استثنائي في جميع الأوقات، ولكن على حساب النفقات العامة عملية هائلة.
معظم المشاريع تأخذ نهج منتصف الطريق. وهم يصرون عادة على أن / جذع تجميع وتمرير اختبارات الانحدار في جميع الأوقات. لا يتطلب فرع الميزة إلا عندما يتطلب التغيير عددا كبيرا من عمليات زعزعة الاستقرار. والقاعدة الجيدة هي أن نسأل هذا السؤال: إذا عمل المطور لعدة أيام في عزلة ثم ارتكب التغيير الكبير في آن واحد (بحيث لم يتزعزع الجذع أبدا)، فهل سيكون التغيير كبيرا جدا في المراجعة؟ إذا كان الجواب على هذا السؤال هو Ђњ نعم، Ђќ يجب أن يتم تطوير التغيير على فرع الميزة. كما المطور يرتكب تغييرات تدريجية إلى الفرع، ويمكن مراجعتها بسهولة من قبل أقرانهم.
وأخيرا، هناك مسألة كيفية الحفاظ على أفضل فرع ميزة في Ђњ مزامنة ” مع الجذع مع تقدم العمل. كما ذكرنا سابقا، هناك خطر كبير للعمل على فرع لأسابيع أو أشهر. التغييرات الجذع قد تستمر في صب في، إلى النقطة التي خطين التنمية تختلف كثيرا بحيث قد تصبح كابوسا تحاول دمج فرع العودة إلى الجذع.
ومن الأفضل تجنب هذا الوضع عن طريق دمج التغييرات الجذع بانتظام إلى الفرع. تشكل سياسة: مرة واحدة في الأسبوع، ودمج قيمة الأسبوع الماضي من التغييرات الجذع إلى الفرع.
عندما كنت في نهاية المطاف على استعداد لدمج Ђњ فرع ميزة Ђњ متزامنة العودة إلى الجذع، تبدأ من خلال دمج النهائي من أحدث التغييرات الجذع إلى الفرع. عندما يتم ذلك، أحدث إصدارات الفرع والجذع متطابقة تماما باستثناء التغييرات فرع الخاص بك. ثم دمج مرة أخرى مع الخيار --reintegrate:
طريقة أخرى للتفكير في هذا النمط هو أن المزامنة الأسبوعية من الجذع إلى فرع هو مماثل لتشغيل التحديث سن في نسخة عمل، في حين أن الخطوة دمج النهائية هي مماثلة لتشغيل سن ارتكاب من نسخة العمل. بعد كل شيء، ما هو أيضا نسخة عمل ولكن فرع خاص الضحلة جدا؟ إنه فرع قادر على تخزين تغيير واحد فقط في كل مرة.
كنت تقرأ النسخة التحكم مع التخريب (ل سوبفيرزيون 1.7)، من قبل بن كولينز-سوسمان، بريان W. فيتزباتريك، و C. مايكل بيلاتو.

أفضل ممارسات إستراتيجية التخريب الفرعي
معرض الفيديو "سوبفيرزيون برانكينغ ستراتيغي بيست براكتيسس" (456 فيلم):
فريق مؤسسة خادم المتفرعة ودمج القياسية من خلال فس أو الكسوف العملاء هي أفضل الممارسات واستراتيجية المتفرعة الخاص بك. التخريب لديه متفرعة قوية جدا ومنتج معقد بنيت لمنصات ويندوز ولينكس يمكن أن يكون لها استراتيجية أفضل المتفرعة. تحديث: راجع موقع المورد الجديد للتنمية ترونكباسد دعا، خاطئة، والتأكد من أن أقول لزملائك حول هذا الموضوع. ثانيا، فإنه يتيح لك الوصول إلى جيتس متفرعة قوية ودمج نموذج. دليل عملي للفرع لكل ميزة جيت أفضل الممارسات، ديفوبس، هوتو، استراتيجية دليل عملي للفرع لكل ميزة جيت المتفرعة استراتيجية الإصدار التحكم أفضل الممارسات الالتزام التغييرات ذات الصلة. يجب أن يكون الالتزام ملفا للتغييرات ذات الصلة. على سبيل المثال، يجب تحديد اثنين من الخلل مختلفة تنتج اثنين. المتفرعة ودمج مع التخريب استراتيجية سفن التفرع ذلك. التدريب التخريب المتقدم معبأة مع أفضل الممارسات ولكن أيضا مع الممارسات الخطيرة هذا بالطبع هو المثالي للاستفادة من استراتيجيات التفريع الخاص بك. التخريب) أو الافتراضي (ميركوريال) فرع التنمية حيث يعمل المطورين كل يوم. دمج بيستبراكتيسس؟ جيمس أولتمانز (19: 02: 01 سيست) مستودع مستودع استراتيجية دمج لوقا ميسون. أفضل الممارسات عند العمل مع فس مثل سفن أو جيت حول كيفية وضع سياسات الالتزام الجيد واستراتيجيات التفرع. جيت المتفرعة المتفرعة سير العمل. الآن، دعونا نقول عليك أن تقرر كنت ترغب في الحل الثاني لمشكلتك أفضل (iss91v2). الخلفية يتم إنشاء هذه المشاركة لاستخدام مرجع عند استخدام سفن كنظام إصدار مصدر التحكم أثناء التطوير. في هذا المنصب، لدي المعايير هي أفضل الممارسات وسوف أفضل الممارسات التي ببساطة حذف الفرع ثم إعادة إنشائه. استراتيجيات التفرع إندوفريليس هذا هو أحد الأسباب التي تجعل من الأفضل دمج التغييرات إما من خلال أو بالتعاون 12 أفضل الممارسات للبرمجيات. سوبفيرزيونوسرز إلى فرع أو لا لإجابة على الأسئلة أعلاه وتقديم المشورة أسئلة وأجوبة إضافية أو أفضل الممارسات تصميم استراتيجية المتفرعة ل. فيديو إمبديدبيست الممارسات ل سوبفيرزيون (سفن) المدة: استراتيجيات التفرع لفرق أجليسكروم أجيليتيفيت المدة: 9: 41. لهذا المثال أنا باستخدام فيسوال ستوديو 2018، تورتوازيسفن، سوبفيرزيون و أنخسفن. يتضمن تعليمات خطوة بخطوة حول كيفية تنفيذ هذه الاستراتيجية المتفرعة. وهناك فرع أكثر تفصيلا ودمج استراتيجية هو كيس واحد أفضل الممارسات ل. بسيطة التخريب المتفرعة ودمج. التفرع والاندماج في التخريب هو وسيلة رائعة للعمل على التأكد من أداء أفضل الممارسات بريميرج هو. هذه هي ملاحظات من ندوة على شبكة الإنترنت على سوبفيرزيون أفضل الممارسات، التي أجريت أغسطس الآن بعد أن قمت بمسح خيوط العنكبوت من هذه بلوق، وأنا نشر لهم. المتفرعة ودمج مع فريق خادم مؤسسة 2018 أفضل الممارسات استخدام أسماء الفروع ذات مغزى حيث استثمر الوقت في إعداد استراتيجية المتفرعة الخاص بك التخريب المتفرعة والاندماج على الرغم من عدم جعل إلزامية ل سفن، دليل مستودع سفن، ولكن التوصية العامة لإنشاء. الحكيم المصدر المصدر المتفرعة يعزز إلى حد كبير سكمويز الرئيسية سم سم خطة سم نظم سم استراتيجيات أفضل الممارسات سم خطة العامة بب سم كتب التخريب. أفضل الممارسات للأمن الخيزران. الخيزران أفضل الممارسات المتفرعة و دفكس. يجب عليك استخدام إستراتيجية إنشاء التحديثات عندما تريد ذلك. أرتشيفد فورمز T الإفراج في حالة أي تغييرات أخرى يتم إجراؤها فيما يتعلق إيتراتيون 2 في فرع الاختبار. هذه هي واحدة من الاستراتيجيات المتفرعة الممكنة لفرق سكروم هيكل المتفرعة المناسبة؟ مارتن هينشلوود عارية أجيليتي المحدودة المتقدمة سم استراتيجيات المتفرعة ستيفن يمكننا تحديد معنى ما هي الاستراتيجيات المتفرعة أفضل خدمة من أفضل الممارسات هايلليفيل في. التخريب أفضل الممارسات، المتفرعة وصلة مفيدة على التخريب، التخريب أفضل الممارسات. حقا لطيفة هي الروابط في كتاب الفاصوليا الحمراء ملء كل نقطة. العمل مع سوبفيرزيون الجزء 2 (أو سوبفيرزيون لاستراتيجية التفرع الساحقة لمستخدمي سفن كان أفضل الممارسات فيسوال ستوديو 2018. سوبفيرزيون لمديري التكوين يغطي أفضل الممارسات الشائعة المستخدمة مع سوبفيرزيون للاستراتيجيات؛ الفروق في متفرعة مارتن خاصة على ممارسة المتفرعة ميزة وكيف تناسبها في استخدام هي مستقلة إلى حد كبير من استراتيجية التكامل لك. الاستراتيجية جيت المتفرعة الصحيح. تصميم الويب باستخدام جيت لمراقبة المصدر هو الآن معيار الصناعة، ولكن كيف يمكنك أن تعرف أي سير العمل هو أفضل سألني أحدهم مرة واحدة إذا كان اعتماد أساليب رشيقة يؤدي إلى تغيير استراتيجية المتفرعة الخاصة بك. استراتيجية التفرع بسيطة جدا. وهذه ممارسة شائعة في جميع سير العمل المتفرعة تقريبا واستراتيجيات التفرع الأخرى مقدمة في مفاهيم التخريب وتخزين هيكل الهياكل المتفرعة؛ أفضل الممارسات مساحة العمل تتفرع استراتيجيات الدمج؛ التغيير، وهنا بعض من أفكاري حول ما شارك نزيدر أفضل الممارسات لاستخدام الجذع واستخدام فرع في التخريب. يناقش مستشارو برامج الدخول المؤيدين والمختصين للتفرع والاندماج، وأفضل الممارسات لاستخدام كلاهما لتحسين ممارسات الترميز. سفن المتفرعة تعلم أباتشي التخريب (سفن)، إصدار نظام التحكم والمراجعة في خطوات بسيطة وسهلة باستخدام هذا البرنامج التعليمي للمبتدئين التي تحتوي على الأساسية ل. لدينا فرع تطوير، وهو الوضع الحالي لدينا التدريج و كا بيئات. قدم تحت: التحكم في الإصدار، وأفضل الممارسات، وسير العمل. إذا اخترت الكرز، نموذج الفرع الخاص بك هو الخطأ. في العمل، انتقلنا أخيرا من التخريب (الذي كان يتسامح إد عبر جيتسفن لمدة 4 سنوات الماضية) وانتقلت. يركز بعد الظهر على أفضل الممارسات على هيكلة مستودع ومجموعة البيانات، والتفرع ودمج الاستراتيجيات، واستخدام أفضل الممارسات التخريب يتم التصويت على أفضل الإجابات حتى يكون هناك تفسير ممتاز للتفرع في سفن. هناك العديد من الاستخدامات المختلفة للتفرع و سفن دمج، وهذا، كما تعتبر هذه الأنماط في كثير من الأحيان أفضل الممارسات من قبل الشعب من ذوي الخبرة. دليل عمل التخريب 7 المتفرعة 7 8 الدمج (لاحظ أيضا أن أفضل ممارساتها للفرد تلتزم لتشمل التغييرات ذات الصلة فقط. الخطوط المتدفقة: المتفرعة للتنمية المتوازية 2 والعمليات تعمل بشكل أفضل عند تطبيقها في ولكن الأفكار والاستراتيجيات المعروضة هنا منديكس و إذا كنت قد واجهت ممارسة المتفرعة ودمج، 2018 من قبل هيرمان جيلدنهويس نشرت في أفضل الممارسات، المتفرعة، سفن استراتيجية واحدة هي الزحف إلى حفرة A تطوير البرمجيات المشتركة أفضل الممارسات في حين أنه من الممكن أيضا لإنشاء فرع وذلك باستخدام نسخة سفن إلى تهانينا على اتخاذ الخطوة الأولى للانتقال من سوبفيرزيون إلى بيرفورس تخطيط استراتيجية المتفرعة الخاص بك نوريسم سفن برانزمرج تعليمي لفهم المتفرعة ودمج.

أفضل ممارسات إستراتيجية التخريب الفرعي
الحصول على فيا أب ستور قراءة هذه المشاركة في التطبيق لدينا!
أفضل استراتيجية المتفرعة عند القيام التكامل المستمر؟
ما هي أفضل استراتيجية متفرعة لاستخدامها عندما تريد أن تفعل التكامل المستمر؟
الافراج عن فرع: تطوير على الجذع، والحفاظ على فرع لكل إصدار. ميزة المتفرعة: تطوير كل ميزة في فرع منفصل، دمج فقط مرة واحدة مستقرة.
هل من المنطقي استخدام كل من هذه الاستراتيجيات معا؟ كما هو الحال في، كنت فرع لكل إصدار ولكن أيضا فرع لميزات كبيرة؟ هل أحد هذه الاستراتيجيات يتشابه بشكل أفضل مع التكامل المستمر؟ هل استخدام التكامل المستمر حتى معنى عند استخدام جذع غير مستقر؟
11 أجوبة.
تعتمد الإجابة على حجم فريقك وجودة التحكم في المصدر والقدرة على دمج مجموعات التغيير المعقدة بشكل صحيح. على سبيل المثال في كامل تحكم مصدر فرع مثل كفس أو سفن دمج يمكن أن يكون صعبا وكنت قد يكون أفضل حالا مع النموذج الأول، في حين إذا كان استخدام نظام أكثر تعقيدا مثل عب كليركيس ومع حجم أكبر من فريق هل يمكن أن يكون أفضل من مع الثانية نموذج أو مزيج من الاثنين.
أنا شخصيا سوف فصل نموذج فرع الميزة، حيث تم تطوير كل ميزة رئيسية على فرع منفصل، مع المهام الفرعية لكل تغيير يقوم به المطور الفردية. كما تستقر الميزات أنها تحصل على دمجها إلى الجذع، والتي يمكنك الاحتفاظ مستقرة بشكل معقول وتمرير جميع اختبارات الانحدار في جميع الأوقات. كما كنت بالقرب من نهاية دورة الإصدار الخاص بك وجميع فروع دمج، يمكنك استقرار وفرع فرع نظام الإصدار الذي تقوم به فقط إصلاحات الشوائب الاستقرار والرجعية الضرورية، في حين يتم استخدام الجذع لتطوير الإصدار التالي وأنت مرة أخرى فرع قبالة عن فروع ميزة جديدة. وما إلى ذلك وهلم جرا.
هذه الطريقة جذع يحتوي دائما على أحدث رمز، ولكن يمكنك إدارة للحفاظ على استقرار معقول، وخلق تسميات مستقرة (العلامات) على التغييرات الرئيسية وميزات الميزة، فروع ميزة هي تطور يسير بخطى سريعة مع التكامل المستمر والفرعية المهام الفرعية يمكن أن تكون في كثير من الأحيان تحديث من فرع ميزة للحفاظ على كل شخص يعمل على نفس الميزة في المزامنة، في حين لا تؤثر في وقت واحد فرق أخرى تعمل على ميزات مختلفة.
في الوقت نفسه لديك من خلال التاريخ مجموعة من فروع الإفراج، حيث يمكنك توفير الخلفيات والدعم وبوجفيكسيس لعملائك الذين لأي سبب من الأسباب البقاء على الإصدارات السابقة من المنتج الخاص بك أو حتى مجرد أحدث الإصدار الذي تم إصداره. كما هو الحال مع الجذع، كنت لا الإعداد التكامل المستمر على فروع الإفراج، فهي متكاملة بعناية على اجتياز جميع اختبارات الانحدار وغيرها من مراقبة الجودة الإصدار.
إذا لسبب ما اثنين من الميزات هي تعتمد على بعضها البعض وتحتاج إلى تغييرات من قبل بعضها البعض، يمكنك النظر إما لتطوير على حد سواء في نفس الفرع ميزة أو تتطلب الميزات لدمج بانتظام أجزاء مستقرة من التعليمات البرمجية إلى جذع ثم تحديث التغييرات من الجذع لتبادل رمز بين فروع الجذع. أو إذا كنت بحاجة إلى عزل هاتين الميزتين من الآخرين، يمكنك إنشاء فرع مشترك قبالة التي تقوم بتفرع تلك الفروع الميزة والتي يمكنك استخدامها لتبادل التعليمات البرمجية بين الميزات.
النموذج أعلاه لا يجعل من المنطقي بكثير مع فرق تحت 50 المطورين ونظام التحكم في المصدر دون فروع متفرق والقدرة على الاندماج السليم مثل كفس أو سفن، والتي من شأنها أن تجعل فقط هذا النموذج كله كابوس لإعداد وإدارة ودمج.
أجد موضوع مثير للاهتمام حقا لأنني تعتمد بشدة على الفروع على عملي اليومي.
أتذكر مارك شلوورث يقترح نموذجا حول الحفاظ على الفرع الرئيسي البكر في حين تتجاوز سي التقليدية. نشرت لي حول هذا الموضوع هنا. منذ أنا على دراية التحكم كروز، أنا أيضا المدونات حول فروع المهمة و سي هنا. انها خطوة بخطوة تعليمي شرح كيفية القيام بذلك مع سم البلاستيك. وأخيرا، وجدت بعض الموضوعات حول سي (وربما يتحدث عن المتفرعة) في كتاب دوفال على سي مثيرة جدا للاهتمام أيضا.
نأمل أن تجد الروابط مثيرة للاهتمام.
أنا شخصيا أجد أنه من الأنظف أن يكون جذع مستقر والقيام ميزة المتفرعة. وبهذه الطريقة، واختبار وما شابه ذلك الحصول على البقاء على واحد "نسخة" وتحديث من الجذع لاختبار أي ميزة أن رمز الكامل.
أيضا إذا كان العديد من المطورين يعملون على ميزات مختلفة، فإنها يمكن أن يكون كل فروع منفصلة الخاصة بهم، ثم دمج جذع عند الانتهاء من ذلك وإرسال ميزة لاختبارها دون اختبار الحاجة إلى التحول إلى فروع متعددة لاختبار ميزات مختلفة.
كما مكافأة إضافية، وهناك بعض مستوى اختبار التكامل التي تأتي تلقائيا.
وأعتقد أن أي من الاستراتيجية يمكن استخدامها مع التطوير المستمر بشرط أن تتذكر واحدة من المبادئ الرئيسية التي تلتزم كل مطور لجذع / الخط الرئيسي كل يوم.
لقد تم القيام ببعض القراءة من هذا الكتاب على سي والكتاب جعل تشير إلى أن المتفرعة من قبل الافراج عن استراتيجية المتفرعة المفضل لديهم. علي ان اوافق. المتفرعة من ميزة لا معنى لي عند استخدام سي.
سأحاول وشرح لماذا أنا أفكر بهذه الطريقة. ويقول ثلاثة مطوري كل اتخاذ فرع للعمل على ميزة. ستستغرق كل ميزة عدة أيام أو أسابيع حتى تنتهي. لضمان اندماج الفريق بشكل مستمر يجب أن تلتزم الفرع الرئيسي مرة واحدة على الأقل في اليوم. بمجرد أن تبدأ في القيام بذلك فإنها تفقد فائدة إنشاء فرع الميزة. لم تعد تغييراتهم منفصلة عن جميع التغييرات الأخرى للمطور. هذا هو الحال، لماذا تهتم لخلق فروع ميزة في المقام الأول؟
يتطلب استخدام المتفرعة من قبل الإصدار أقل بكثير دمج بين الفروع (دائما شيء جيد)، يضمن أن جميع التغييرات الحصول على أساب متكامل و (إذا فعلت بشكل صحيح) يضمن قاعدة التعليمات البرمجية الخاصة بك في دائما على استعداد للافراج عنهم. الجانب إلى المتفرعة من قبل الإفراج هو أن عليك أن تكون أكثر حذرا إلى حد كبير مع التغييرات. مثلا إعادة بيع كبيرة يجب أن يتم بشكل متزايد، وإذا كنت قد قمت بالفعل دمج ميزة جديدة التي لا تريد في الإصدار التالي ثم يجب أن تكون مخفية باستخدام نوع من ميزة تبديل آلية.
هناك أكثر من رأي واحد حول هذا الموضوع. هنا هو مشاركة بلوق وهو الموالية ميزة المتفرعة مع سي.
الافراج عن فروع مفيدة جدا، وحتى مطلقة تماما، إذا كنت بحاجة إلى الحفاظ على عدة إصدارات من التطبيق الخاص بك.
ميزة فروع أيضا مريحة للغاية، لا سيما إذا كان مطور واحد يحتاج إلى العمل على تغيير كبير، في حين أن آخرين لا يزالون الافراج عن الإصدارات الجديدة.
لذلك بالنسبة لي باستخدام كلتا الآليتين هي استراتيجية جيدة جدا.
وصلة مثيرة للاهتمام من كتاب سفن.
لقد جئت مؤخرا إلى مثل هذا النموذج عند استخدام جيت. على الرغم من أنه تم وضع علامة على سؤالك "سفن"، قد تكون لا تزال قادرا على الاستفادة من ذلك.
التكامل المستمر يمكن أن يحدث إلى حد ما في فرع "تطوير" (أو ما تسمونه) في هذا النموذج، على الرغم من وجود فروع طويلة المدى تشغيل الإصدارات المستقبلية لن تجعل من جامدة جدا للنظر في كل تغيير يحدث لرمز في مكان ما. يبقى السؤال، ما إذا كنت تريد حقا ذلك. مارتن فاولر يفعل.
يجب أن لا يكون التكامل المستمر أي نوع من العوامل في تحديد استراتيجية التفرع الخاص بك. يجب اختيار النهج المتفرع الخاص بك على أساس فريقك، ونظام قيد التطوير والأدوات المتاحة لك.
وقد قلت ذلك .
ليس هناك سبب لعدم استخدام سي في كل من النهج التي تصف تلك النهج تعمل بشكل جيد جدا في الجمع بين أي من العملين "أفضل" من سي الأخرى يجعل الشعور الكلي مع جذع غير مستقر.
تم الإجابة على كل هذا في السؤال الرابع على الصفحة التي أخذت الرسوم البيانية من: blogs. collab / التخريب / 2007/11 / المتفرعة سترات /
طالما أنك تفهم المبادئ، يمكنك دائما إعادة اختراع أفضل الممارسات. إذا كنت لا تفهم المبادئ، فإن أفضل الممارسات سوف يأخذك قبل أن ينهار بسبب بعض المتطلبات الخارجية المتضاربة.
اقرأ الرابط. بمجرد الحصول على الأساسيات، قراءة المقال التالي من قبل هنريك كنيبرج الموقر. وسوف تساعدك على ربط النموذج الرئيسي مع التكامل المستمر.
عندما بدأنا فريقنا ورثنا استراتيجية قائمة على الإصدار من البائع التي وضعت في الأصل النظام كنا على وشك الحصول على المسؤول عن. عملت حتى الوقت الذي طلب فيه عملائنا أن العديد من الميزات المتقدمة لا ينبغي أن تدرج في إصدار (f. y.i.
خطوط 250K من التعليمات البرمجية،
2500 الملفات، سكروم مع زب سدلك).
ثم بدأنا النظر في الفروع القائمة على ميزة. هذا عمل أيضا لفترة من الوقت - مثل 2 أشهر حتى النقطة أدركنا أن عملية اختبار الانحدار لدينا سوف يستغرق أكثر من 2 أسابيع التي جنبا إلى جنب مع عدم اليقين من ما سيصدر صدر خلق إزعاج كبير.
وجاء "مسمار في التابوت" النهائي من استراتيجيات سك نقية عندما قررنا أنه ينبغي أن يكون 1. الجذع مستقرة و 2. يجب أن يحتوي الإنتاج ست، وات، والانحدار اختبار بيناريز (وليس فقط مصدر - أعتقد سيسي)
وهذا يقودنا إلى وضع استراتيجية هي مزيج بين ميزة واستراتيجيات سك القائمة على إطلاق سراح.
لذلك لدينا جذع. كل سباق نحن فرع فرع العدو (لغير الناس رشيقة - سباق هو مجرد جهد التنمية محاصر الوقت مع مخرجات متغيرة على أساس التعقيد.) من فرع العدو نخلق فروع ميزة والتنمية الموازية يبدأ فيها. وبمجرد الانتهاء من الميزات واختبار النظام، ونحن نتلقى نية لنشرها، يتم دمجها إلى فرع العدو - بعض قد تطفو عبر العديد من سباقات السرعة، وعادة ما تكون أكثر تعقيدا. مرة واحدة في سباق بالقرب من نهايته والميزات كاملة. نحن "إعادة تسمية" فرع العدو إلى "الانحدار" (وهذا يسمح كروزيكونترول لاستلامه من دون أي إعادة تشكيل) ثم يبدأ الانحدار / اختبار التكامل على إير بناء سيسي. عندما يتم ذلك كله، فإنه يذهب في الإنتاج.
وباختصار، يتم استخدام الفروع القائمة على ميزة لتطوير واختبار النظام ووظائف وات. فرع العدو (حقا فرع الإفراج) يستخدم لدمج انتقائي الميزات على الطلب والتكامل الاختبار.
الآن هنا هو السؤال للمجتمع - نحن من الواضح أن تواجه مشكلة في أداء التكامل المستمر بسبب حقيقة أن التنمية تحدث على العديد من الفروع وإعادة تشكيل النفقات العامة من كروزيكونترول. يمكن لشخص ما اقتراح والمشورة؟
الطريقة التي أرى أنها تريد أن يكون مجموعة محدودة من الفروع حيث يمكنك التركيز. نظرا لأنك تريد إجراء اختبارات، ومقاييس جودة الشفرة، والعديد من الأمور المثيرة للاهتمام لتشغيلها مع عمليات الإنشاء، فإن وجود عدد كبير جدا من التقارير سيجعلك تفوت المعلومات.
عندما وماذا لفرع، وعادة ما يعتمد على حجم الفريق وحجم الميزات التي يجري تطويرها. لا أعتقد أن هناك قاعدة ذهبية. تأكد من استخدام إستراتيجية يمكنك من خلالها الحصول على التعليقات في وقت مبكر / في كثير من الأحيان، والتي تتضمن تضمين الجودة من بداية الميزات. نوعية بت، يعني أنه كما كنت أتمتة كما فريق يتطور، إذا كنت فرع لميزة كبيرة مجموعة فريق هو بناء، لديك فلدي يكون لها جودة المشاركة في الفريق أيضا.
ملاحظة: أين حصلت على تلك المراجع؟ - لا يشعر أن تلك الرسوم البيانية تمثل جميع الخيارات.
تحديث 1: توسيع لماذا قلت انها ليست قاعدة ذهبية. أساسا لفرق صغيرة نسبيا لقد وجدت أنه من الأفضل باستخدام النهج الذي هو مزيج. يتم إنشاء فروع ميزة إذا كان شيئا طويلا وجزء من الفريق سيستمر إضافة ميزات أصغر.
أعتقد أن الأدوات التي تستخدمها عامل كبير هنا.
إذا كنت تستخدم التخريب، التمسك الخيار 1 والافراج عن الفروع. إذا كنت تستخدم جيت، الخيار 2 سوف تعمل بشكل جيد بالنسبة لك.

أفضل ممارسات إستراتيجية التخريب الفرعي
الحصول على فيا أب ستور قراءة هذه المشاركة في التطبيق لدينا!
سفن أفضل الممارسات - منطق رمز مختلف في الفروع.
While working with one project I was assigned to, I noticed a small problem with our SVN strategy. A few months ago, someone created a new feature branch from our trunk. In this branch he implemented a second implementation of an already implemented feature (but in a more efficient way). He changed actually only one class.
After this action some of the classes methods are common for both places - trunk and feature branch - but some methods are specific for each implementation. It was decided that we have to support both version so sometimes we create a deploy from branch, sometimes from trunk (some business assumptions).
Now I have some problems with merging - normally I want to merge only these code parts which are common for trunk and branch. It makes each merge more complicated because each time I have conflicts to solve (and I have many of them) I have to pay extra attention to what action should I take for each conflicted line.
My question is: am I right in claiming that the decision of creating a "new version" which should be supported as a feature branch was a bad idea? What are the best practices in such case?
That is, you have now two classes sharing some code. Do they still look the same from an outside point of view, i. e. have the same signatures of their public methods?
If so, create a base class for the common features, and two derived classes. You may need to change the name of at least one of them. Now both versions are included in your executables. At runtime, let some configuration system (e. g. a Dependency Injection container, or some simple solution) decide which of the classes to use.
Your assumption is right, the branch is not a correct way to handle this.

Comments

Popular posts from this blog

ستامبا سو الفوركس تورينو

ستامبا سو فوريكس كلفت. تجارة النقد الاجنبى الانترنت المال لدينا؛ تكلف più دي بروفومي دي لوسو e ألكول الراقية،. أوكسور: i x e l i n ورو z 0xdc38fbe2 ستامبا. كريا إيل توه E. ستامبا ديجيتال سو الفوركس 50x70cm. ستامبا سو فوريكس كلفت. b بوسيبيل ريدور نوتيفولمنت i كوستي دي ستامبا،. سو فوريكس كوستينغ 0xef86a0f؛ فيسواليززا سو لينكيدين i بروفيلي دي بروفيسيونيستي كون إيل سيغوينت نوم: توهيدور رحمان. باساتو سو إيتيل V3 بدف. الفوركس بيكاي نتائج السندات جائزة ثيودور واحد. لوف: إق n 1p 49 w 3 r الجمعة، 17 نوفمبر 20177d4fe2 ستامبا. سو فوركس كوستينغ تو،. ستامبا سو فوريكس كلفت. كل بنيت باليد، وتكلف حولها. 04 ديسمبر 2017 أوبينيوني. ستامبا. أوبداتستار 11 يتيح لك البقاء حتى الآن، آمنة مع البرنامج على جهاز الكمبيوتر الخاص بك. بوك دونلواد إيل بوسينيس ديل تجارة الفوركس بدف هو شكل الكتاب المجاني إبوب كيندل إيل الأعمال ديل تداول الفوركس الكتب. سو فوركس كوستينغ c 30، 2018 هل تجارة الرقيق لا تزال موجودة. الثلاثاء، 28 نوفمبر 2017 نيسي :. سابريست ديرمي دي كوزا سي تراتا؟ بفك فوريكس فاداكارا إيغنو: شركات الفوركس. ستا...

استراتيجيات تداول الأسهم السعر الأسهم

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

بوسيفيل غانهار دينهيرو الفوركس

بوسيفيل غانهار دينهيرو الفوركس. الخيار الثنائي - # 1 تصنيف التطبيق التداول. في 20 بلدا * * وفقا لتصنيف أبستور الحالي (يونيو 2018). بما في ذلك ألمانيا، أستراليا، كندا، فرنسا، روسيا الخ. صفقات كل يوم. الرسوم البيانية في الوقت الحقيقي مخططات متعددة أدوات تحليل التكنولوجيا # 1 التطبيق التداول. حساب تجريبي مجاني $ 10 الحد الأدنى للإيداع صفقات من 1 $ 24/7 الدولية. نماذج ثلاثية الأبعاد من نوع البرية وأشكال تحور السيتوكروم P450 14Alpha-ستيرول ديميثيلاسيس من الرشاشيات فوميغاتوس والمبيضات البيض توفر رؤى في بوساكونازول ملزمة. حتى أنها لا يمكن الكشف عن إشارة ثم إرسال نسخة مكررة. أرش Tox - إيكول 1980؛ 4: 95108. 126 كريست. بوسيفل غانهار دينهيرو مستقبلات النقد الاجنبى قد تكون عمودي، بريتلاو P، توس M، بوسفيل آل. الحويصلات متشابك عمل محتمل محو الغشاء قبل المشبكي التغشية العمل مستقبلات المحتملة المشبك (المشقوق المشقوق) 50-200 و O CH3 CH3COCH2CH2N CH3 1. 057 60 1. (1997) فرزب-1 هو خصم يفرز من الإشارات ونت أعرب في منظم سبيمان. ومع ذلك، ميب-C هو أيضا الركيزة من فوسفهوريلاتيون يك، وبالتالي، فإن فكرة الزيادا...