سؤال

دعونا نقول كنت قد ارتكبت بعض التغييرات السيئة إلى التخريب مستودع.ثم ارتكاب تغييرات جيدة أن كنت تريد الاحتفاظ بها.

ماذا سيكون أسهل طريقة استرجاع تلك التغييرات السيئة في الكسوف ، والحفاظ على الخير التغييرات ؟ على افتراض أن الملفات المتعلقة سيئة التغييرات ليست نفس تلك المتعلقة تغييرات جيدة.كيف تتغير الأمور جيدة إذا تم إجراء تغييرات على نفس الملفات سيئة التغييرات ؟

أنا في الغالب تبحث عن طريقة للقيام بذلك عن طريق الكسوف الإضافات (Subclipse أو تخريبية) ولكن فلكس الأوامر هي أيضا مثيرة للاهتمام.

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

المحلول

لديك خياران للقيام بذلك.

سريعة وقذرة هو اختيار الملفات الخاصة بك (باستخدام ctrl) في "مستكشف المشاريع" عرض, انقر بزر الماوس الأيمن عليها واختيار Replace with... ومن ثم يمكنك اختيار الخيار الأفضل بالنسبة لك ، Latest from Repository, أو بعض Branch الإصدار.بعد الحصول على هذه الملفات يمكنك تعديلها (مع الفضاء أو إصلاح شيء ما ، مكالمتك والالتزام بها لإنشاء أحدث تنقيح.

أكثر نظيفة طريقة اختيار Merge في القائمة فريق والتنقل من خلال المعالج الذي سوف تساعدك على استعادة النسخة القديمة في تنقيح فعلي.

كل الأوامر يكون سطر الأوامر في حكمه: svn revert و svn merge.

نصائح أخرى

في الكسوف جانيميد (Subclipse)

حدد المشروع/ملف يحتوي على التغيير سيئة, و من القائمة المنبثقة اختر:

فريق -> عرض التاريخ

التنقيحات المتعلقة بهذا المشروع/الملف سيظهر في التبويب التاريخ.

العثور على تنقيح حيث "التغييرات السيئة" ارتكبت و من القائمة المنبثقة اختر:

تعود التغييرات من مراجعة X

هذا دمج التغييرات في الملف(ق) تعديل في سوء المراجعة مع مراجعة قبل مذاكرة سيئة.

هناك اثنين من السيناريوهات من هنا:

  1. إذا ارتكبت أية تغييرات على هذا الملف (سيئة مراجعة آخر مراجعة لهذا الملف) ، وسوف ببساطة إزالة التغييرات التي تم إجراؤها في مذاكرة سيئة.هذه التغييرات هي دمج نسخة العمل الخاص بك حتى يكون لديك على ارتكابها.

  2. إذا كنت ارتكبت بعض التغييرات على هذا الملف (سيئة تنقيح ليست آخر مراجعة لهذا الملف) ، سيكون لديك يدويا حل الصراع.دعونا نقول أن لديك ملف readme.txt مع سوء تنقيح رقم 33.أيضا, كنت قد قدمت آخر لارتكاب لهذا الملف في التنقيح 34.بعد اختيار تعود التغييرات من مراجعة 33 سيكون لديك التالية في نسخة العمل الخاص بك:

التمهيدي.txt.دمج اليسرى.r33 - مراجعة سيئة

التمهيدي.txt.دمج اليمين.r32 - قبل مذاكرة سيئة

التمهيدي.txt.العمل - عمل نسخ الإصدار (كما في r34 إذا لم يكن لديك أي غير ملتزم التغييرات)

الأصلي readme.txt سيتم وضع علامة تتعارض و سوف تحتوي النسخة المدمجة (حيث يتغير من سيء مراجعة تتم إزالة) مع بعض علامات (<<<<<<< .العامل إلخ).إذا كنت ترغب فقط في إزالة التغييرات من سوء مراجعة والحفاظ على التغييرات التي تمت بعد ذلك ، ثم كل ما عليك القيام به هو إزالة علامات.وإلا, يمكنك نسخ المحتويات من واحد من 3 الملفات المذكورة أعلاه إلى الملف الأصلي.كل ما اخترت ، عندما كنت فعلت مارك الصراع حل

فريق مارك حل

الملفات المؤقتة سيتم إزالة الملفات الخاصة بك سوف تكون علامة على تغير.كما في 1 ، عليك أن تنفيذ التغييرات.

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

إذا كنت تريد أن تفعل 1 الملف في كل مرة يمكنك الذهاب إلى تاريخ عرض الملف على افتراض لديك الكسوف إس تثبيت البرنامج المساعد."فريق->عرض التاريخ"

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

في الكسوف باستخدام تخريبية:

انقر بزر الماوس الأيمن فوق المشروع > فريق > دمج

في دمج نافذة حدد التنقيحات تريد أن تعود كما عادة ولكن أيضا تمكين خانة الاختيار "عكس دمج".

دمج كما عادة.

كنت قد كتبت بضع بلوق وظيفة حول هذا الموضوع.واحد هو أن Subclipse تتمحور حول: http://markphip.blogspot.com/2007/01/how-to-undo-commit-in-subversion.html واحد هو أن سطر الأوامر التي تركز على: http://blogs.collab.net/subversion/2007/07/second-chances/

على svnbook يحتوي القسم على كيفية التخريب يسمح لك أن تعود التغييرات من معين تنقيح دون التأثير على التغيرات التي حدثت في التنقيحات اللاحقة:

http://svnbook.red-bean.com/en/1.4/svn.branchmerge.commonuses.html#svn.branchmerge.commonuses.undo

أنا لا استخدام الكسوف في TortoiseSVN يمكنك القيام بذلك من من سجل الحوار ؛ ببساطة انقر بزر الماوس الأيمن على تنقيح تريد أن تعود واختر "العودة يغير من هذا النظر".

في حالة أن الملفات التي تريد العودة "التغييرات السيئة" قد "تغييرات جيدة" في التنقيحات اللاحقة ، ثم عملية هو نفسه.التغييرات من "سيئة" تنقيح سيتم عادت ترك التغييرات من "جيد" التنقيحات لم يمسها ، ومع ذلك قد تحصل على الصراعات.

لدي نفس المشكلة ولكن تنظيف الكسوف الخيار لا يعمل بالنسبة لي.

1) تثبيت TortoiseSVN
2) انتقل إلى مستكشف windows ثم انقر بزر الماوس الأيمن على المشروع الخاص بك دليل
3 خيار تنظيف الخيار (عن طريق التحقق من كسر قفل الخيار)

إنه يعمل.

نأمل أن يكون هذا يساعد شخص ما.

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