SVN نسخة العمل إلى دمج فرع مختلف دون الالتزام بفرع نسخ العمل

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

  •  04-10-2019
  •  | 
  •  

سؤال

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

Trunk -> Branch A.

   I checked out branch A and made changes.
   Branch A was closed to commits.

فرع جديد تم إنشاؤه من الفرع A. الفرع A -> الفرع ب.

   I would like to commit my working copy changes (currently pointing at Branch A into branch B without commiting to Branch A)
هل كانت مفيدة؟

المحلول

  1. قم بعمل نسخة احتياطية من نسخة العمل الخاصة بك.
  2. svn switch لفرع B
  3. تغييرات المراجعة (قد تختلف المراجعة الأساسية ، و SVN يقوم بالدمج النصية الغبية فقط) ، وحل النزاعات ، إن وجدت
  4. ارتكب

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

تذكر تعويذة SVN: الالتزام في وقت مبكر ، والالتزام في كثير من الأحيان. إذا كان لدي تغييرات غير ملتزم بها لأكثر من يوم عمل ، أشعر بالتوتر. عادة ، أقوم بإنشاء فرع ميزة لأي تطور يدوم أطول من بضع ساعات. والالتزام بانتظام بذلك. عندما انتهيت ، أقوم بدمجها في أي مكان جاءت منه وحذفه بعد ذلك.

نصائح أخرى

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

  1. cd إلى دليل العمل مع التغييرات التي تريد الالتزام بها
  2. svn copy . C
  3. cd .. إلى مجلد مساحة العمل مع الخروج
  4. svn co B
  5. cd في دليل ب
  6. svn merge المراجعة من الخطوة 2.
  7. مراجعة التغييرات.
  8. ارتكب!
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top