Skip to main content

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


إستراتيجية التخريب المتفرعة
واحدة من ملامح أنظمة التحكم الإصدار هو القدرة على عزل التغييرات على خط منفصل من التنمية. يعرف هذا الخط كفرع. وغالبا ما تستخدم الفروع لمحاولة الخروج من الميزات الجديدة دون إزعاج الخط الرئيسي للتنمية مع أخطاء المترجم والبق. وبمجرد أن الميزة الجديدة مستقرة بما فيه الكفاية ثم يتم دمج فرع التنمية مرة أخرى إلى الفرع الرئيسي (الجذع).
ميزة أخرى لأنظمة التحكم في الإصدار هي القدرة على وضع علامة على تنقيحات معينة (مثل إصدار الإصدار)، بحيث يمكنك في أي وقت إنشاء بنية أو بيئة معينة. تعرف هذه العملية باسم وضع العلامات.
التخريب ليس لديه أوامر خاصة للتفرع أو وضع علامات، ولكن يستخدم ما يسمى "نسخ رخيصة" بدلا من ذلك. النسخ الرخيصة تشبه الروابط الثابتة في أونيكس، مما يعني أنه بدلا من إنشاء نسخة كاملة في المستودع، يتم إنشاء وصلة داخلية، مشيرا إلى شجرة / مراجعة محددة. ونتيجة لذلك فروع والعلامات هي سريعة جدا لخلق، ولا تأخذ تقريبا أي مساحة إضافية في المستودع.
إنشاء فرع أو علامة.
إذا قمت باستيراد المشروع الخاص بك مع بنية الدليل الموصى بها، إنشاء فرع أو علامة إصدار بسيط جدا:
الشكل 4.52. فرع / علامة الحوار.
حدد المجلد الموجود في نسخة العمل التي تريد نسخها إلى فرع أو علامة، ثم حدد الأمر تورتوازيسفن → الفرع / الوسم. .
سيكون عنوان ورل المقصود الافتراضي للفرع الجديد هو عنوان ورل المصدر الذي تستند إليه نسخة العمل. ستحتاج إلى تعديل عنوان ورل هذا إلى المسار الجديد لفرعك / علامتك. لذلك بدلا من.
يمكنك الآن استخدام شيء مثل.
إذا لم تتمكن من تذكر اتفاقية التسمية التي استخدمتها آخر مرة، فانقر على الزر الموجود على اليسار لفتح مستعرض المستودع حتى تتمكن من عرض بنية مستودع التخزين الحالية.
المجلدات المتوسطة.
عند تحديد عنوان ورل الهدف، يجب أن تكون جميع المجلدات حتى آخرها موجودة بالفعل أو ستحصل على رسالة خطأ. في المثال السابق، يجب أن يكون عنوان ورل svn. collab / ريبوس / بروجكتنام / تاغس / موجود لإنشاء علامة الإصدار_1.10.
ولكن إذا كنت تريد إنشاء فرع / علامة إلى عنوان ورل يحتوي على مجلدات وسيطة غير موجودة حتى الآن، فيمكنك تحديد الخيار إنشاء مجلدات وسيطة في الجزء السفلي من مربع الحوار. إذا تم تنشيط هذا الخيار، يتم إنشاء كافة المجلدات المتوسطة تلقائيا.
لاحظ أن هذا الخيار معطل بشكل افتراضي لتجنب الأخطاء المطبعية. على سبيل المثال، إذا كتبت عنوان ورل المستهدف ك svn. collab / ريبوس / بروجكتنام / تاغس / Release_1.10 بدلا من svn. collab / ريبوس / بروجكتنام / تاغس / Release_1.10، فستحصل على خطأ مع تعطيل الخيار، ولكن مع تمكين الخيار مجلد العلامات سيتم إنشاؤها تلقائيا، وكنت في نهاية المطاف مع مجلد العلامات والعلامات مجلد.
الآن لديك لتحديد مصدر النسخة. هنا لديك ثلاثة خيارات:
يتم نسخ الفرع الجديد مباشرة في المستودع من مراجعة هيد. لا تحتاج إلى نقل البيانات من نسخة العمل الخاصة بك، ويتم إنشاء الفرع بسرعة كبيرة.
مراجعة محددة في المستودع.
يتم نسخ الفرع الجديد مباشرة في المستودع ولكن يمكنك اختيار مراجعة قديمة. وهذا مفيد إذا كنت قد نسيت أن تجعل علامة عند إطلاق المشروع الخاص بك في الأسبوع الماضي. إذا كنت لا تستطيع تذكر رقم المراجعة، انقر فوق الزر الموجود على اليمين لإظهار سجل المراجعة، وحدد رقم المراجعة من هناك. مرة أخرى لا يتم نقل أية بيانات من نسخة العمل الخاصة بك، ويتم إنشاء الفرع بسرعة كبيرة.
الفرع الجديد هو نسخة متطابقة من نسخة العمل المحلية. إذا قمت بتحديث بعض الملفات إلى مراجعة أقدم في مرحاض الخاص بك، أو إذا قمت بإجراء تغييرات محلية، وهذا هو بالضبط ما يدخل في النسخة. وبطبيعة الحال هذا النوع من العلامة المعقدة قد ينطوي على نقل البيانات من مرحاض الخاص بك مرة أخرى إلى مستودع إذا لم يكن موجودا هناك بالفعل.
إذا أردت تحويل نسخة العمل إلى الفرع الذي تم إنشاؤه حديثا تلقائيا، فاستخدم خانة الاختيار تبديل نسخة العمل إلى فرع / علامة جديدة. ولكن إذا قمت بذلك، تأكد أولا من أن نسخة العمل الخاصة بك لا تحتوي على تعديلات. إذا فعلت ذلك، سيتم دمج هذه التغييرات في مرحاض مرحاض عند التبديل.
إذا كانت نسخة العمل الخاصة بك تتضمن مشاريع أخرى مضمنة مع سفن: خصائص إكسترنالز، فسيتم إدراج تلك العناصر الخارجية أسفل حوار الفرع / العلامة. لكل مسار خارجي، يتم عرض المسار الهدف وعنوان ورل المصدر.
إذا كنت ترغب في التأكد من أن العلامة الجديدة دائما في حالة متناسقة، تحقق من جميع الخارجية لتركيب مراجعاتها. إذا لم تقم بفحص العناصر الخارجية وتلك الخارجية تشير إلى مراجعة هيد التي قد تتغير في المستقبل، سيؤدي التحقق من العلامة الجديدة إلى التحقق من أن مراجعة هيد الخارجية والعلامة قد لا يتم تجميعها بعد الآن. لذلك من الأفضل دائما تعيين المراجع الخارجية على مراجعة صريحة عند إنشاء علامة.
يتم تثبيت الخارجي تلقائيا إما مراجعة الرأس الحالية أو نسخة العمل مراجعة بيس، اعتمادا على مصدر الفرع / العلامة:
الجدول 4-1. المراجعة المثبتة.
والخارجية في الخارج.
إذا كان المشروع الذي يتم تضمينه كخارجي يتضمن نفسه خارجيا، ثم لن يتم وضع علامة على تلك! يمكن فقط الموسومة فقط الخارجية التي هي الأطفال مباشرة.
اضغط أوك لارسال النسخة الجديدة الى مستودع التخزين. لا تنسى أن توفر رسالة سجل. لاحظ أن النسخة يتم إنشاؤها داخل المستودع.
لاحظ أنه ما لم تختر تحويل نسخة العمل إلى الفرع الذي تم إنشاؤه حديثا، فإن إنشاء فرع أو علامة لا يؤثر على نسخة العمل. حتى إذا قمت بإنشاء الفرع من مرحاض الخاص بك، وتلتزم تلك التغييرات إلى الفرع الجديد، وليس إلى الجذع، لذلك قد لا يزال يتم وضع علامة على مرحاض الخاص بك كما تم تعديل فيما يتعلق الجذع.
طرق أخرى لإنشاء فرع أو علامة.
يمكنك أيضا إنشاء فرع أو علامة دون وجود نسخة عمل. للقيام بذلك، افتح مستعرض مستودع التخزين. يمكنك سحب المجلدات إلى موقع جديد. لديك لاستمرار مفتاح كترل أثناء سحب لإنشاء نسخة، وإلا يتم نقل المجلد نقلها، وليس نسخها.
يمكنك أيضا سحب مجلد باستخدام زر الفأرة الأيمن. بمجرد تحرير زر الماوس يمكنك الاختيار من قائمة السياق ما إذا كنت تريد نقل المجلد أو نسخه. وبطبيعة الحال لإنشاء فرع أو علامة يجب نسخ المجلد، وليس نقله.
طريقة أخرى هي من الحوار سجل. يمكنك عرض مربع حوار السجل على سبيل المثال. ، حدد تنقيحا (إما مراجعة هيد في أعلى الصفحة أو مراجعة سابقة)، انقر بزر الماوس الأيمن واختر إنشاء فرع / علامة من المراجعة. .
للخروج أو التبديل.
. وهذا هو (ليس حقا) السؤال. في حين أن الخروج الخروج كل شيء من الفرع المطلوب في مستودع إلى دليل العمل الخاص بك، تورتوازيسفن → التبديل. فقط نقل البيانات التي تم تغييرها إلى نسخة عملك. جيدة لتحميل الشبكة، وحسن لصبرك. :-)
لكي تتمكن من العمل مع فرعك أو علامتك التي تم إنشاؤها حديثا، لديك عدة طرق للتعامل معها. تستطيع:
تورتوازيسفن → الخروج لجعل الخروج جديدة في مجلد فارغ. يمكنك التحقق من أي مكان على القرص المحلي الخاص بك ويمكنك إنشاء العديد من نسخ العمل من المستودع الخاص بك كما تريد.
تحويل نسخة العمل الحالية إلى النسخة التي تم إنشاؤها حديثا في المستودع. مرة أخرى حدد مجلد المستوى الأعلى من المشروع الخاص بك واستخدام تورتوازيسفن → التبديل. من قائمة السياق.
في مربع الحوار التالي أدخل عنوان ورل للفرع الذي أنشأته للتو. حدد زر الاختيار مراجعة الرأس وانقر على موافق. يتم تحويل نسخة العمل إلى الفرع / العلامة الجديدة.
التبديل يعمل تماما مثل التحديث في أنه لم يتجاهل التغييرات المحلية الخاصة بك. سيتم دمج أية تغييرات أجريتها على نسخة العمل التي لم يتم ارتكابها بعد عند إجراء التبديل. إذا كنت لا تريد أن يحدث ذلك، يجب عليك إما إجراء التغييرات قبل التبديل، أو العودة نسخة العمل إلى مراجعة ملتزمة بالفعل (عادة الرأس).
إذا كنت ترغب في العمل على الجذع والفرع، ولكن لا تريد حساب الخروج جديدة، يمكنك استخدام مستكشف ويندوز لجعل نسخة من الخروج الجذع الخاص بك في مجلد آخر، ثم تورتوازيسفن → التبديل. تلك النسخة إلى الفرع الجديد.
الشكل 4.53. الحوار الحوار.
على الرغم من أن التخريب نفسه لا يميز بين العلامات والفروع، والطريقة التي يتم استخدامها عادة يختلف قليلا.
وعادة ما تستخدم العلامات لإنشاء لقطة ثابتة للمشروع في مرحلة معينة. على هذا النحو أنها لا تستخدم عادة للتنمية - وهذا ما فروع هي ل، وهذا هو السبب نوصي / الجذع / فروع / به بنية مستودع في المقام الأول. العمل على مراجعة علامة ليست فكرة جيدة، ولكن لأن الملفات المحلية الخاصة بك ليست محمية الكتابة لا يوجد شيء لوقف لكم القيام بذلك عن طريق الخطأ. ومع ذلك، إذا حاولت الالتزام بمسار في المستودع الذي يحتوي على / علامات /، سوف تورتوزيسفن تحذيرك.
قد تحتاج إلى إجراء المزيد من التغييرات على إصدار تم وضع علامة عليه من قبل. الطريقة الصحيحة للتعامل مع هذا هو إنشاء فرع جديد من العلامة أولا وتثبيت الفرع. إجراء التغييرات في هذا الفرع ثم إنشاء علامة جديدة من هذا الفرع الجديد، على سبيل المثال. الإصدار_1.0.1.
إذا قمت بتعديل نسخة عمل تم إنشاؤها من فرع والالتزام، ثم كل التغييرات تذهب إلى الفرع الجديد وليس الجذع. يتم تخزين التعديلات فقط. والبقية تبقى نسخة رخيصة.

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

إستراتيجية التخريب المتفرعة
إذا كنت لا "ريباس" (الشكل أ) سوف ينتهي بك الأمر مع تقديم التغيير بأكمله تعيين في كل مرة، ودمج على نحو فعال التغييرات التي تم دمجها بالفعل. ولكن إذا كنت تفعل ريباس (الشكل B) - وهذا هو دمج الجذع إلى فرع التطورات إميدياتيلي، ثم التخريب هو قادرة على معرفة الفرق.
سفن سويتش سفن: // سيرفر / ترونك سفن: // سيرفر / برانشس / ترونك / dev1.
جعل أتشانج وارتكابه.
سفن كوميت - m "أدد a b غايد"
التبديل مرة أخرى إلى الجذع وسحب التغييرات من فرع ديف.
سفن ميرج سفن: // سيرفر / ترونك سفن: // سيرفر / برانشس / ترونك / dev1.
سفن ارتكاب - m "دفع dev1 على الجذع"
الآن التبديل مرة أخرى لمواصلة العمل على فرع التنمية.
هنا يأتي الحل مهم جدا لفرع التنمية عدم وعي لما حدث. يمكنك ببساطة دمج الجذع في فرع التنمية قبل أن تستمر في العمل.
والآن انها آمنة لمواصلة استخدام فرع التنمية - كما تفعل في جيت، ميركوريال أو كليركيس.

إستراتيجية التخريب المتفرعة
الحصول على فيا أب ستور قراءة هذه المشاركة في التطبيق لدينا!
استراتيجيات التفرع [مغلق]
الشركة التي أعمل لها بدأت في الحصول على مشاكل مع نموذج المتفرعة الحالي وكنت أتساءل ما هي أنواع مختلفة من الاستراتيجيات المتفرعة المجتمع قد تعرضت ل؟
هل هناك أي منها جيدة لحالات مختلفة؟ ماذا تستخدم شركتك؟ ما هي مزايا وعيوب لهم ؟؟
مغلقة كما غير بناءة من قبل كاسبيرون 24 فبراير '12 في 19:53.
كما هو الحال حاليا، هذه المسألة ليست مناسبة ل Q & أمبير؛ A شكل. ونتوقع أن تكون الإجابات مدعومة بوقائع أو مراجع أو خبرات، ولكن من المرجح أن تستجوب هذه المسألة النقاش أو الحجج أو الاقتراع أو المناقشة الموسعة. إذا كنت تشعر أن هذا السؤال يمكن تحسينه وربما إعادة فتحه، زيارة مركز المساعدة للحصول على التوجيه. إذا كان يمكن إعادة صياغة هذا السؤال لتناسب القواعد في مركز المساعدة، يرجى تعديل السؤال.
17 أجوبة.
إليك الطريقة التي استخدمتها في الماضي بنجاح جيد:
/ الجذع - نزيف الحافة. الإصدار الرئيسي التالي من التعليمات البرمجية. قد أو قد لا تعمل في أي وقت من الأوقات.
/branches/1.0، 1.1، الخ فروع صيانة مستقرة من التعليمات البرمجية. تستخدم لإصلاح الخلل، وتحقيق الاستقرار الإصدارات الجديدة. إذا كان فرع الصيانة، فإنه يجب تجميع (إن وجدت) وتكون جاهزة ل كا / الشحن في أي وقت من الأوقات. إذا كان فرع الاستقرار، فإنه يجب تجميع وتكون ميزة كاملة. لا ينبغي إضافة ميزات جديدة، لا إعادة بيع، ولا تنظيف رمز. يمكنك إضافة بادئة سابقة للإشارة إلى فروع الاستقرار مقابل فروع الصيانة.
/ الفروع / cool_feature. تستخدم للعمل التجريبي للغاية أو المدمرة التي قد أو قد لا تجعل من الجذع (أو فرع الصيانة). لا توجد ضمانات حول تجميع التعليمات البرمجية أو العمل أو التصرف بطريقة أخرى. يجب أن تستمر الحد الأدنى من الوقت ممكن قبل الاندماج في فرع الخط الرئيسي.
/tags/1.0.1، 1.0.2، 1.1.3a، etc. تستخدم لوضع علامات على حزم & أمب؛ شحن الإفراج. أبدا إيفر التغييرات. جعل العديد من العلامات كما تريد، لكنها غير قابلة للتغيير.
سأشجع بشدة رأي اريك سينك حول هذه المسألة:
أنا، مثل اريك، يفضل "المجلد" أسلوب المتفرعة التي يتحدث عنها.
لعقدة الأم على أنماط المتفرعة انظر براد أبليتون خطوط جريئة: أنماط المتفرعة لتطوير البرمجيات المتوازية. انها ثقيلة واجب ولكن لم أر أي شيء لتجاوز ذلك من حيث اتساع وعمق المعرفة حول المتفرعة.
يبدو مستودعنا كما يلي:
/ الجذع هو معيار، نزيف حافة التنمية. نحن نستخدم سي لذلك يجب دائما بناء وتمرير الاختبارات.
/ الفروع هذا هو المكان الذي وضعنا فيه تغييرات كبيرة "مصادق عليها"، أي شيء نعرفه سيجعله في جذع ولكن قد تحتاج إلى بعض العمل وكسر سي. أيضا حيث نعمل على إصدارات الصيانة، والتي لديها مشاريع سي الخاصة بها.
/ رمل كل المطور لديه رمل الخاصة بهم، بالإضافة إلى رمل المشتركة. هذا هو لأشياء مثل "يتيح إضافة لينق مزود لمنتجنا" نوع من المهام التي تقوم بها عندما كنت لا تفعل عملك الحقيقي. قد تذهب في نهاية المطاف إلى جذع، فإنه قد لا، ولكن هناك وتحت السيطرة الإصدار. لا سي هنا.
/ بائع بائع فرع القياسية للمشاريع حيث نقوم بتجميع ولكن ليس رمز أن نحافظ عليه.
/ كنيت هذا هو لدينا علامات سي، إلا أن الخادم سي يمكن أن يكتب هنا. ربما كان علينا أن نعيد تسمية هذا الأمر إلى شيء أكثر عمومية مثل سي، بيلدز، الخ.
فرع واحد للتنمية النشطة (/ الرئيسية أو الماجستير، اعتمادا على المصطلحات) فرع واحد لكل الإفراج الصيانة -> سوف تتلقى فقط إصلاحات صغيرة حقا، في حين أن جميع التنمية الرئيسية يذهب إلى / رئيسي فرع واحد لكل مهمة جديدة: إنشاء فرع جديد للعمل على كل إدخال جديد على بوجزيلا / جيرا / رالي. الالتزام في كثير من الأحيان، وثيقة النفس التغيير باستخدام الشيكات حصاة بوصة، ودمجها مرة أخرى إلى فرع "الأم" فقط عندما انها الانتهاء واختبارها بشكل جيد.
أول شيء: كيس (يبقيه غبي بسيط!)
* 1) الحفاظ على نسخة قابلة للصيانة - على سبيل المثال. حزم الخدمة، الإصلاحات العاجلة، إصلاح الأخطاء التي قد تكون مدمجة إلى الجذع إذا لزم الأمر و / أو الحاجة) * 2) main. minor. build. revision.
مجلد العلامات لا تحتاج إلى أن يتم سحبها سوى عدد قليل من الترميز في الافراج عن فروع (يجعل دمج أبسط) - لا تنظيف رمز الخ أبدا لترميز في مجلد العلامات أبدا وضع معلومات الإصدار ملموسة في ملفات المصدر. استخدام أصحاب مكان أو 0.0.0.0 التي سيتم استبدال آلية بناء من رقم الإصدار الذي تقوم ببناء أبدا وضع مكتبات طرف ثالث في عنصر تحكم المصدر الخاص بك (أيضا لا أحد سوف يضيف ستل، مفك الخ المكتبات ل سفن ؛-)) فقط يرتكز شفرة تقوم بتجميع المتغيرات المفضلة باستخدام البيئة بدلا من المسيرات الثابتة المشفرة (المسيرات المطلقة والنسبية)
نحن فرع عند إصدار جاهز ل كا النهائي. إذا تم اكتشاف أي مشاكل أثناء عملية ضمان الجودة، يتم إصلاح الخلل في الفرع، التحقق من صحة ومن ثم دمجها إلى الجذع. وبمجرد أن يمر فرع كا نحن علامة عليه كإصدار. أي إصلاحات عاجلة لهذا الإصدار يتم أيضا إلى الفرع، التحقق من صحة، ودمجها إلى الجذع ثم الموسومة كإصدار منفصل.
هيكل المجلد سوف تبدو مثل هذا (1 خط كا، 2 إصدارات الإصلاح العاجل، والجذع):
نحن نستخدم البرية، البرية، غرب نمط من فروع جيت. لدينا بعض الفروع التي لها أسماء معروفة من قبل الاتفاقية، ولكن في حالتنا، والعلامات هي في الواقع أكثر أهمية بالنسبة لنا لتلبية متطلبات سياسة العمليات المؤسسية لدينا.
رأيت أدناه أن كنت تستخدم التخريب، لذلك أنا أفكر أنك ربما يجب التحقق من القسم على المتفرعة في كتاب التخريب. على وجه التحديد، انظر إلى قسم "تخطيط مستودع" في فرع الصيانة وأنماط فرع المشتركة.
البديل الذي لا أراه هنا هو "فرع على التغيير" الفلسفة.
بدلا من وجود الجذع الخاص بك "الغرب المتوحش"، ماذا لو كان الجذع هو "الإصدار الحالي"؟ هذا يعمل بشكل جيد عندما يكون هناك نسخة واحدة فقط من التطبيق الذي صدر في وقت واحد - مثل موقع على شبكة الإنترنت. عند وجود ميزة جديدة أو علة الإصلاح ضروري يتم إجراء فرع لعقد هذا التغيير. في كثير من الأحيان هذا يسمح الإصلاحات التي سيتم ترحيلها إلى الإفراج بشكل فردي ويمنع المبرمجين رعاة البقر الخاص بك من إضافة بطريق الخطأ ميزة لاطلاق سراح أنك لم تنوي. (في كثير من الأحيان انها مستتر - "فقط للتنمية / اختبار")
المؤشرات من بن كولينز مفيدة جدا في تحديد ما النمط الذي سيعمل بشكل جيد لموقفك.
هنريك كنيبرغ في النسخة التحكم لفرق رشيقة متعددة لديها أيضا بعض النقاط الجيدة لتأخذ بعين الاعتبار.
لدينا حاليا فرع واحد للصيانة المستمرة، فرع واحد ل "مبادرات جديدة" وهو ما يعني فقط "الاشياء التي سوف تخرج في وقت ما في المستقبل، ونحن لسنا متأكدين متى." لدينا أيضا في بعض الأحيان اثنين من فروع الصيانة مستمرة: واحد لتقديم إصلاحات لما هو حاليا في الإنتاج واحد لا يزال في ضمان الجودة.
والميزة الرئيسية التي رأيناها هي القدرة على الاستجابة لطلبات المستخدمين وحالات الطوارئ بسرعة أكبر. يمكننا أن نفعل الإصلاح على الفرع الذي هو في الإنتاج والافراج عنه دون الإفراج عن أي شيء إضافي التي قد تم بالفعل التحقق في.
العيب الرئيسي هو أننا في نهاية المطاف القيام الكثير من الاندماج بين الفروع، مما يزيد من فرصة أن شيء سوف تحصل على غاب أو دمجها بشكل غير صحيح. وحتى الآن، لم يكن هذا مشكلة، ولكن من المؤكد أن هناك شيئا ينبغي أن نأخذ في الاعتبار.
قبل وضعنا هذه السياسة، ونحن عموما فعلت كل التنمية في الجذع وتشعبت فقط عندما أصدرنا التعليمات البرمجية. ثم قمنا بإصلاحات ضد هذا الفرع حسب الحاجة. كان ذلك أبسط، ولكن ليس مرنا.
كتب جيف أتوود عن هذا في مشاركة مدونة جيدة؛ هذا المنصب قد حصلت على بعض الروابط الهامة في ذلك.
وقد كتبت غنات هذا كسر ممتازة على مختلف بت المشورة يمكن أن تجد على استراتيجيات المتفرعة.
ليس هناك استراتيجية واحدة المتفرعة، انها ما يعمل ل:
حجم فريقك منتجك وفترات دورة حياتك التقنية التي تستخدمها (الويب، المضمنة، تطبيقات ويندوز) تحكم المصدر الخاص بك، على سبيل المثال. جيت، تفس، زئبق.
جيف أتوود آخر ينهار الكثير من الاحتمالات. آخر لإضافة هو مفهوم الترقية (من الرابط ريان دوفيلد). في هذا الإعداد لديك فرع ديف، اختبار براكنه والافراج عن فرع. يمكنك تعزيز التعليمات البرمجية الخاصة بك حتى يصل إلى فرع الإفراج ويتم نشرها.
الفلسفة التي نتبعها في العمل هي الحفاظ على الجذع في حالة حيث يمكنك دفع في أي وقت دون ضرر شديد للموقع. هذا لا يعني أن الجذع سيكون دائما في حالة مثالية. سيكون هناك بالطبع البق في ذلك. ولكن النقطة هي أبدا، أبدا تركه كسر بشكل كبير.
إذا كان لديك ميزة لإضافة فرع. تغيير تصميم، فرع. كانت هناك مرات كثيرة حيث فكرت، "أوه يمكنني أن أفعل ذلك في الجذع لن يستغرق ذلك طويلا"، ثم بعد 5 ساعات عندما لا أستطيع معرفة الخطأ الذي يكسر الأشياء أنا تمنى حقا أن كنت قد تشعبت.
عندما تبقي جذع نظيفة يمكنك السماح الفرصة لتطبيق بسرعة ودفع إصلاحات الشوائب. لم يكن لديك ما يدعو للقلق حول كسر رمز لديك أن تشعبت بسهولة قبالة.
وهذا يعتمد على نظام التحكم في الإصدار الذي تستخدمه. كل فس لديها نهج مختلفة للتفرع.
ما هي فسك التي تستخدمها؟
ل سوبفيرزيون، وأنا أتفق مع تعليق ريان دوفيلد. والفصل الذي يشير إليه يقدم تحليلا جيدا بشأن النظام الذي ينبغي استخدامه.
السبب الذي سألته هو أن بيرفورس يوفر طريقة مختلفة تماما لإنشاء فروع من سفن أو كفس. بالإضافة إلى ذلك، هناك جميع دفس التي تعطيها فلسفة خاصة على المتفرعة. سوف تملي استراتيجية المتفرعة الخاصة بك عن طريق أي أداة (ق) كنت تستخدم.
في، Svnmerge. py هو أداة للمساعدة في دمج الفروع في سفن. يعمل بشكل جيد جدا طالما كنت تستخدم في كثير من الأحيان (كل 10-30) يرتكب، وإلا فإن الأداة يمكن الحصول على الخلط.
بغض النظر عن نمط المتفرعة المختار، يجب أن تحاول إبقاء فروعك في شكل شجرة ثنائية مثل هذا:
يجب أن يتم دمج العقد الفرعية مع الوالد المباشر فقط. محاولة أور أفضل لدمج فقط فرع كامل مع الفرع الأم. أبدا دمج المجلدات الفرعية داخل فرع. يمكنك اختيار الكرز تلتزم عند الحاجة طالما كنت دمج فقط واختيار من فرع كامل. الفرع التالي في الشكل أعلاه هو فقط للتوضيح، قد لا تحتاج إليها.

Comments

Popular posts from this blog

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

تعلم تداول العملات الأجنبية للمبتدئين يوتيوب دليل المبتدئين لتداول العملات الأجنبية. أهم 5 مواضيع دفعت فوركس أكشن في عام 2017. منذ 2 ساعة بواسطة فوريكس غومب. ومثل ذلك، ونحن على وشك أن توديع عام 2017! قبل أن نقول أديو إلى العام الذي كان، دعونا نلقي المشي السريع أسفل حارة الذاكرة لمراجعة أكبر المواضيع التي هزت سوق الفوركس ثم. دليلك القصير والبسيط لاتخاذ قرارات التداول لعام 2018. منذ 12 ساعة بي Dr. انها تقريبا بداية العام العلامة التجارية الجديدة، وأنت تعرف ما يعني ذلك - حان الوقت للتوصل إلى دفعة جديدة من قرارات التداول الفوركس! مراجعة بلدي Q4 الفوركس مدونة الأداء. قبل 12 ساعة. ذي أوسي رود ذي ريس إن غولد & أمب؛ أسعار خام الحديد في عام 2017. أعلى صناعة الفوركس التغييرات في عام 2017. أعلى دروس علم النفس التجارية في عام 2017. Q4 2017 فكس كومدولز بلوق ريفيو. و بوك مودلز و لوني's السعر العمل في عام 2017. Q4 2017 مراجعة: سما كروس نظام سحب. 5 أشياء الفوركس نيوبي عادة ما يقول في منتديات التداول. المساهمون المميزون. اليومية 12/30. دليلك إلى ما يهم اليوم في فكس. الذهب يرتفع 1-شهر عالية كما

Solforex

تجارة بيتكوين على منصات متعددة. Forex4you الآن تقدم التداول كريبتوكيرنسي على جميع المنصات: MT4، Forex4you المحمول، ويبترادر، وسطح المكتب. متوفرة على كلاسيكية ند و برو ستب الحسابات. حساب واحد - منصات التداول متعددة. سيكون لديك الوصول إلى منصات التداول متعددة المتاحة مع حساب واحد فقط، في أي وقت وفي أي مكان. مساعدة حية باللغة الإنجليزية. متاح الآن 24/7. ونحن ملتزمون بتوفير مستوى عال من الخدمة لجميع عملائنا في كل مناسبة 24/7. إدخال التطبيق التداول. الفوركس، السلع، المؤشرات، الأسهم، كريبتوكيرنسي التداول وتحليلات †"الكل في واحد سهلة الاستخدام والتطبيق. التداول يذهب الاجتماعية. مضاعفة دخلك من خلال تبادل الصفقات في Share4you †"خدمة الاستثمار الاجتماعي سريعة النمو التي يقدمها لك Forex4you. التجارة مع تنفيذ النظام بسرعة فائقة. لدينا مجمع السيولة الخاصة وتنفيذ البرمجيات برنامج السوق يجعل تنفيذ النظام حتى أسرع وأكثر استقرارا وأكثر أمنا. السماح للأرقام تفعل الحديث. إجمالي الحسابات المفتوحة. تم تنفيذ إجمالي الطلبات. أوامر مفتوحة في السوق. الرافعة المالية تصل إلى 1: 1000. ينتشر ضيق. نسخ

الفجوة في ملء استراتيجية التداول

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