سؤال

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

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

كيف يمكنني جلب 3 مصادر مختلفة معا بحيث يمكن:

  1. إيجاد قاعدة مشتركة للعمل مع ؛
  2. معرفة التغييرات التي هي الاصلاحات التي ينبغي أن تطبق في جميع 3 النظم ؛ و
  3. الحفاظ على 3 أنظمة بطريقة عاقلة حتى لا يكون هناك واحد فقط فرع منفصل من التخصيصات المطلوبة 3 أنظمة مختلفة ؟
هل كانت مفيدة؟

المحلول

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

جيد التصور أداة مثل بوابة العمر, gitnub, gitx, قهقه يمكن أن تعمل العجائب ، ولكن المهمة الخاصة بك سوف ربما تكون مملة نوعا ما إلا إذا يمكنك العثور على المتفرعة نقطة.إذا كان هناك بقع مماثلة على جميع فروع يمكنك استخدام (التفاعلية) ريبس إلى إعادة ترتيب يرتكب مثل هذه أنهم في نفس الترتيب.ثم يمكنك البدء في 'فتح سوستة حتى' الخاص بك الفروع تحريك فرع نقطة صعودا من خلال وضع يرتكب في الماجستير.وصف جميل على كيفية ترتيب يرتكب باستخدام ريبس يمكن العثور عليها هنا.

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

جيد أن يكون الروابط: بوابة السحر, بوابة جاهزة و SourceMage بوابة دليل

وآمل أن كل اتفاقيات إعادة الشراء كان جيد ارتكاب الرسائل التي توضح الغرض من كل تصحيح أو مراجعة التعليمات البرمجية :)

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

بدأنا فصل (أو حفظ منفصلة) مخصصة رمز من عام رمز.ثم حاولنا اثنين النهج ؛ سواء التي عملت بشكل جيد:

  1. كل ما نشر حصلت مستودعات خاصة بهم حيث التخصيص أبقى.
  2. جميع عمليات النشر الخاصة فرع في 'التخصيص'-مستودع.

بعد نشر أول ورؤية أن الثانية كانت حقيقة قضينا بعض الوقت في محاولة استشراف المستقبل التخصيص/قطع نقاط للحد من الازدواجية عبر تخصيص اتفاقيات إعادة الشراء (alt.1 ، وهو النهج نستخدمها حاليا) في قاعدة/core الريبو.

و نعم, نحن لا نحاول أن ريفاكتور بلا رحمة عندما نلاحظ الأساسية/التخصيص تقسيم الانزلاق :)

نصائح أخرى

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

git rebase

الأوامر و عندما فشلت:

git reflog

تليها

git reset --hard HEAD@{ref}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top