سؤال

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

o  changeset:   134:7f81764aa03a
|  tag:         tip
|  parent:      128:451d8a19edea
|  summary:     Backed out changeset 451d8a19edea
|
| @  changeset:   133:5eefa40e2a29
| |  summary:     (Change I need to keep keep)
| |
*snip 3 commits*
| o  changeset:   129:5f6182a97d40
|/   summary:     (Change I need to keep keep)
|
o  changeset:   128:451d8a19edea
|  summary:     (Change that introduced a major problem)
|
o  changeset:   127:4f26dc55455d
|  summary:     (summary doesn't matter for this question)

إذا فهمت هذا بشكل صحيح ، فإن R127 و R134 متماثلان تمامًا. عندما hg up -C -r 133 ثم ركض hg merge, ، يظهر Meld بثلاثة أشكال من أحد ملفاتي: المحلية والقاعدة وغيرها. يبدو أن المحلي هو R133 ولكني أواجه صعوبة في لف رأسي حول ما يعنيه "قاعدة" و "أخرى".

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

المحلول

محلي هو R133

آخر هو R134

يتمركز هو R128 (الجد المشترك لكل من R133 و R 134)

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

نصائح أخرى

سؤالك مربك حقًا ، ولكن إليك بعض المعلومات التي قد تساعدك.

  • ما هي القاعدة؟

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

  • ما هو الرأس؟

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

  • ما هو محلي؟

المحلي هو نسختك المعدلة (في حالتك R133)

  • ما هو الآخر؟

الآخر هو بعض الشوكة/الفرع الذي يحتوي أيضًا على قاعدتك كوالد (في حالتك R134)

  • كيف يعمل دمج 3 اتجاهات؟

3 Way Merge Works (على الأقل في MELD) بشكل هرمي. عادة من اليسار إلى اليمين هكذا:

محلي> قاعدة> أخرى / رأس

المحلية/القاعدة تافهة في الغالب لأن ما قمت بتعديله فقط

ثم يمكنك دمج التغييرات الخاصة بك في مراجعة الرأس أو أحد العمال المشترك الخاص بك أو أي شيء آخر.

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

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