لماذا بوابة إس dcommit تفقد تاريخ دمج يرتكب لفروع المحلية؟

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

  •  06-07-2019
  •  | 
  •  

سؤال

ولدي بوابة مستودع المحلية التي تم إنشاؤها باستخدام git svn clone. I جعل الفرع المحلي، وجعل بعض التغييرات، يعود مرة أخرى لسيده، git svn rebase وإذا كان كل شيء جيد، وأنا دمج فرع ظهري إلى سيد. ثم شجرة تبدو شيئا مثل هذا:

بديل النص http://img.skitch.com/20090108-cjguu3hcci9x2k17mcftamw8f1.jpg

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

بديل النص http://img.skitch.com/20090108-kn3bn1qgi5ijw8ja5ijkd75pa3.jpg

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

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

المحلول

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

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

نصائح أخرى

ولأنك تمر إس. وأنت تسير لتفقد الكثير من المعلومات عندما كنت تفعل ذلك (تفقد أيضا مؤلف، على سبيل المثال).

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