ماذا تعني كلمة "فرع" و"علامة" و"جذع" في مستودعات التخريب؟

StackOverflow https://stackoverflow.com/questions/16142

سؤال

لقد رأيت هذه الكلمات كثيرًا حول مناقشات Subversion (وأعتقد المستودع العام).لقد كنت أستخدم SVN لمشاريعي في السنوات القليلة الماضية، لكنني لم أفهم أبدًا المفهوم الكامل لهذه الدلائل.

ماذا يقصدون؟

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

المحلول

حسنًا، لست متأكدًا من أنني أتفق مع كون علامة Nick re مشابهة للفرع.العلامة هي مجرد علامة

  • صُندُوق سيكون الجزء الرئيسي من التطوير، بدءًا من بداية المشروع حتى الوقت الحاضر.

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

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

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

يتم تمييز الشجرة الفرعية للفرع والعلامة عن الجذع بالطرق التالية:

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

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

نصائح أخرى

أولاً، كما أشار @AndrewFinnell و@KenLiu، في SVN، لا تعني أسماء الدليل نفسها شيئًا - "الجذع والفروع والعلامات" هي مجرد اتفاقية شائعة تستخدمها معظم المستودعات.لا تستخدم جميع المشاريع جميع الأدلة (من الشائع إلى حد معقول عدم استخدام "العلامات" على الإطلاق)، وفي الواقع، لا شيء يمنعك من تسميتها بأي شيء تريده، على الرغم من أن كسر التقاليد غالبًا ما يكون مربكًا.

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

  • صُندُوق:منطقة التطوير الرئيسية.هذا هو المكان الذي يعيش فيه الإصدار الرئيسي التالي من الكود، ويحتوي عمومًا على أحدث الميزات.

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

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


على سبيل المثال، لنفترض أنك بدأت مشروعًا جديدًا.تبدأ العمل في "الجذع"، على ما سيتم إصداره في النهاية كإصدار 1.0.

  • Trunk/ - نسخة التطوير، قريبًا ستكون 1.0
  • الفروع/ - فارغة

بمجرد الانتهاء من 1.0.0، يمكنك تفرع الجذع إلى فرع "1.0" جديد وإنشاء علامة "1.0.0".اعمل الآن على ما سيكون في النهاية 1.1 ويستمر في صندوق السيارة.

  • الجذع/ - نسخة التطوير، قريبا سيكون 1.1
  • الفروع/1.0 - 1.0.0 نسخة الإصدار
  • العلامات/1.0.0 - 1.0.0 نسخة الإصدار

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

  • Trunk/ - إصدار التطوير، سيكون قريبًا 1.1
  • الفروع/1.0 - الإصدار القادم 1.0.1
  • العلامات/1.0.0 - 1.0.0 نسخة الإصدار

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

  • Trunk/ - إصدار التطوير، سيكون قريبًا 1.1
  • الفروع/1.0 - الإصدار القادم 1.0.2
  • العلامات/1.0.0 - 1.0.0 نسخة الإصدار
  • العلامات/1.0.1 - 1.0.1 نسخة الإصدار

في النهاية، أنت تقريبًا على استعداد لإصدار 1.1، لكنك تريد إنشاء نسخة تجريبية أولاً.في هذه الحالة، من المحتمل أن تقوم بإنشاء فرع "1.1" وعلامة "1.1beta1".الآن، يستمر العمل على ما سيكون 1.2 (أو ربما 2.0) في صندوق السيارة، لكن العمل على 1.1 يستمر في الفرع "1.1".

  • الجذع/ - نسخة التطوير، قريبا سيكون 1.2
  • الفروع/1.0 - الإصدار القادم 1.0.2
  • الفروع/1.1 - الإصدار القادم 1.1.0
  • العلامات/1.0.0 - 1.0.0 نسخة الإصدار
  • العلامات/1.0.1 - 1.0.1 نسخة الإصدار
  • العلامات/1.1beta1 - إصدار الإصدار 1.1 بيتا 1

بمجرد إصدار 1.1 نهائي، يمكنك إنشاء علامة "1.1" من الفرع "1.1".

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


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

  • Trunk/ - إصدار التطوير، سيكون قريبًا 1.2
  • الفروع/1.1 - الإصدار القادم 1.1.0
  • الفروع/إعادة كتابة واجهة المستخدم - فرع الميزات التجريبية

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


لاحظ أيضًا أن نظام الإصدار الذي استخدمته هنا هو مجرد واحد من العديد.قد تقوم بعض الفرق بإصلاح الأخطاء/إصدارات الصيانة مثل 1.1 و1.2 وما إلى ذلك، وتغييرات كبيرة مثل 1.x و2.x وما إلى ذلك.الاستخدام هنا هو نفسه، ولكن يمكنك تسمية الفرع "1" أو "1.x" بدلاً من "1.0" أو "1.0.x".(جانبا، الإصدار الدلالي هو دليل جيد حول كيفية عمل أرقام الإصدارات).

بالإضافة إلى ما قاله نيك يمكنك معرفة المزيد على الخطوط المتدفقة:أنماط المتفرعة لتطوير البرمجيات الموازية

enter image description here

في هذا الشكل main هو الجذع، rel1-maint هو فرع و 1.0 هي علامة.

على العموم (عرض حيادي للأداة)، الفرع هو الآلية المستخدمة للتطوير الموازي.يمكن أن يحتوي SCM على فروع من 0 إلى n.التخريب لديه 0.

  • صُندُوق هو فرع رئيسي مُستَحسَن بواسطة التخريب, ، لكنك لست مضطرًا بأي حال من الأحوال إلى إنشائه.يمكنك أن تسميها "رئيسية" أو "إصدارات"، أو لا تملك واحدة على الإطلاق!

  • فرع يمثل جهدا تنمويا.لا ينبغي أبدًا تسميته باسم أحد الموارد (مثل "vonc_branch") ولكن بعد:

    • غرض "myProject_dev" أو "myProject_Merge"
    • محيط الإصدار "myProjetc1.0_dev" أو myProject2.3_Merge أو "myProject6..2_Patch1"...
  • بطاقة شعار عبارة عن لقطة من الملفات من أجل العودة بسهولة إلى تلك الحالة.المشكلة هي أن العلامة والفرع متماثلان في Subversion.وأود بالتأكيد أن أوصي بالنهج المصاب بجنون العظمة:

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

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

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

وفقًا للاتفاقية، يمكن أن يمثل فرع الجذع الحالة الحالية لتطورك، ولكن هذا بالنسبة لمشروع متسلسل بسيط، وهو مشروع يحتوي على:

  • لا يوجد تطوير "مسبقًا" (لإعداد الإصدار التالي التالي الذي يتضمن مثل هذه التغييرات التي لا تتوافق مع تطوير "الجذع" الحالي)
  • لا توجد إعادة هيكلة ضخمة (لاختبار خيار فني جديد)
  • لا توجد صيانة طويلة المدى للإصدار السابق

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

في SVN، العلامة والفرع متشابهان حقًا.

بطاقة شعار = شريحة زمنية محددة، تُستخدم عادةً للإصدارات

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

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

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

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

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

  • ومجلد العلامات مخصص لإنشاء نسخ ذات علامات من مستودعك، عادةً عند نقاط تفتيش الإصدار.

ولكن كما قلت، بالنسبة إلى SVN، المجلد هو مجلد. branch, trunk والعلامة مجرد اتفاقية.

أنا أستخدم كلمة "نسخ" بحرية.لا يقوم SVN فعليًا بعمل نسخ كاملة للأشياء الموجودة في المستودع.

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

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

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

فيما يلي رابط لدليل جيد جدًا للمستودعات:

المقالات الموجودة في ويكيبيديا تستحق القراءة أيضًا.

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

ها هي طريقتي البسيطة

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

في وقت ما عندما يبدو الصندوق جاهزًا للتحرير، يتم وضع علامة عليه وتحريره.

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

على سبيل المثال:يمكنني الحصول على التكرار-5 فرع للجولة الخامسة من التطوير على المنتج، ربما أ النموذج الأولي-9 فرع للجولة التاسعة من التجارب، وهكذا.

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

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

لقد وجدت هذا البرنامج التعليمي الرائع بخصوص SVN عندما كنت أبحث عن موقع الويب الخاص بـ مؤلف التابع OpenCV 2 كتاب طبخ برمجة تطبيقات رؤية الكمبيوتر واعتقدت أنني يجب أن أشاركه.

لديه برنامج تعليمي حول كيفية استخدام SVN وما تعنيه العبارات "الجذع" و"العلامة" و"الفرع".

مقتبس مباشرة من البرنامج التعليمي له:

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

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

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

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

دليل الفروع مخصص لاحتواء فروعك مهما كانت.

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

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

العلامة = شريحة زمنية محددة، تُستخدم عادةً للإصدارات

أعتقد أن هذا هو ما يعنيه المرء عادة بكلمة "علامة".لكن في التخريب:

ليس لديهم حقا أي معنى رسمي.المجلد هو مجلد لـ SVN.

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

أو ربما كنت أستخدمه للتو CVS فترة طويلة جدا.

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

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

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

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

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

هنا دخول ويكيبيديا على الفروع, ، لأنهم ربما يفسرون الأمور بشكل أفضل مما أستطيع.:)

بالنسبة للأشخاص المطلعين على GIT، فإن الماجستير في GIT يعادل الجذع في SVN.

الفرع والعلامة لهما نفس المصطلحات في كل من GIT وSVN.

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

الفروع :يتم الاحتفاظ بجميع رموز التطوير الموازية لكل سباق مستمر في الفروع.

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

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