سؤال

لدي نسختان عاملين من نفس المشروع ، تم تحويل كل منهما إلى فرع مختلف. هل من الممكن دمج التغييرات المحلية في مشروع واحد إلى نسخة العمل الأخرى؟

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

المحلول

لا يمكنك دمج نسختين عاملين منفصلين ، ولكن هناك بعض الأشياء التي يمكنك القيام بها.

إذا تم إجراء التغييرات على الملفات الموجودة ، فإن أسهل طريقة هي إنشاء تصحيح مع svn diff, ، ثم فقط قم بتطبيق هذا التصحيح على نسخة العمل الأخرى. على سبيل المثال. في نسخة العمل الأولى التي تقوم بها:

svn diff > patch

ثم تقوم بتطبيقه في الآخر:

patch -p0 < patch

وكالعادة تريد الجري patch مع ال --dry-run خيار للتأكد من أنه يعمل أولاً.

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

نصائح أخرى

يمكنك إنشاء تصحيح على نسخة عمل واحدة (svn diff) وتطبيقه على الآخر (patch). http://ariejan.net/2007/07/03/how-to-create-and-apply-a-patch-with-subversion/

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

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