SVN نسخة العمل إلى دمج فرع مختلف دون الالتزام بفرع نسخ العمل
-
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)
المحلول
- قم بعمل نسخة احتياطية من نسخة العمل الخاصة بك.
svn switch
لفرعB
- تغييرات المراجعة (قد تختلف المراجعة الأساسية ، و SVN يقوم بالدمج النصية الغبية فقط) ، وحل النزاعات ، إن وجدت
- ارتكب
إن القيام بأشياء مثل هذه مع نسخة عمل مع تغييرات غير ملتزم بها أمر محفوف بالمخاطر. إذا حدث أي شيء خاطئ أو إذا كان هناك الكثير من التغييرات المتضاربة ، فقم بتراجع إلى إصدار احتياطي ، قم بإنشاء فرع مؤقت من مراجعة قاعدة عملك A
, ، قم بالتبديل إلى ذلك ، وارتكاب تغييراتك ، بحيث تكون آمنة في مكان ما. ثم دمج هذا الفرع في B
أيًا كان الطريقة التي تريدها وحذفها بعد ذلك.
تذكر تعويذة SVN: الالتزام في وقت مبكر ، والالتزام في كثير من الأحيان. إذا كان لدي تغييرات غير ملتزم بها لأكثر من يوم عمل ، أشعر بالتوتر. عادة ، أقوم بإنشاء فرع ميزة لأي تطور يدوم أطول من بضع ساعات. والالتزام بانتظام بذلك. عندما انتهيت ، أقوم بدمجها في أي مكان جاءت منه وحذفه بعد ذلك.
نصائح أخرى
لكي أكون حذرا للغاية ، سألتزم بتغييراتي على فرع خاص (دعنا نسميها C
) ، ثم دمج C
فرع إلى الفرع الجديد المفتوح مقابل الالتزام B
.
cd
إلى دليل العمل مع التغييرات التي تريد الالتزام بهاsvn copy . C
cd ..
إلى مجلد مساحة العمل مع الخروجsvn co B
cd
في دليل بsvn merge
المراجعة من الخطوة 2.- مراجعة التغييرات.
- ارتكب!