هل لديك خبرة في التحكم في الإصدار المحلي لنسخة عمل SVN؟

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

  •  03-07-2019
  •  | 
  •  

سؤال

في مكان عملي، نستخدم SVN وTortoiseSVN (Windows XP) كعميل.لدي رحلة طويلة وأعمل دون اتصال بالإنترنت خلال ذلك.
الآن، أود الحصول على نوع من "التراجع الموسع" محليًا؛أي.أرغب في التحكم في الإصدار المحلي لنسخة عمل SVN الخاصة بي، لكي أجرؤ على إعادة البناء على سبيل المثال.
التحول تماما إلى على سبيل المثال.بوابة، زئبقي الخليس خيارًا لأن الشركة تستخدم SVN.

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

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

المحلول

عادة ما أفعل مثل هذا:

  1. احصل على مستودع SVN كنسخة عمل.
  2. قم بتهيئة مستودع Git في نسخة العمل هذه.
  3. هاك هاك هاك;
  4. الالتزام بـ Git repo الخاص بي.
  5. تحديث من شركة SVN.
  6. حل النزاعات.
  7. الالتزام بشركة SVN repo بميزة كاملة.

نصائح أخرى

ويمكنني استخدام بوابة كعميل التخريب المحلي للعمل ويعمل كبيرة. عند القيام git svn clone من مستودع التخريب والخروج تحصل ليس لديها أدلة .svn خفية، ولكن بدلا من ذلك هو مستودع جيت الكامل في حد ذاتها. القدرة على استخدام المحلية والفروع خفيفة الوزن لتنظيم تطوير بلدي هي ميزة القاتل بالنسبة لي.

وميزات أخرى يمكنني استخدام كل مرة يتم git stash، نظم يرتكب، وgit add -p.

يمكنك إنشاء لقطة من العمل باستخدام تصدير إس ثم خلق لكم التخريب مستودع الخاصة واستخدام لقطة من مستودع عمل مثل الإيداع الأولي.

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

وهذا هو النفط الخام قليلا ولكن هذا هو السبيل الوحيد لإدارة هذا النوع من تدفق العمل.

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

وأنت قد ترغب في محاولة SVK فيه VCS اللامركزية على أساس التخريب. ويمكن استخدامه لتعكس المستودع الرسمي على الكمبيوتر المحمول ومزامنة يرتكب الخاص بك مع جذع الرسمي.

وآخر مرة راجعت مركز SVN، كان لا يزال الدعم الإيداع المحلي خطة ميزة على المدى الطويل. بوابة، من ناحية أخرى، هو بالتأكيد الخيار، مع بوابة-إس. وهذا هو، إذا العمارة الخاص بك هو يونيكس، AFAIK، بوابة-إس غير معتمد حتى الآن على منصة ويندوز.

وليس هناك ما يمنع من يشغل ملقم SVN المحلي. أنا استخدامه بهذه الطريقة.

سيكون Git حلاً جيدًا (لأنه يمكنك إنشاء العديد من الفروع ودمجها بسهولة شديدة) ولكن:

  • عند إعادة استيراد تعديلك إلى svn، يجب عليك أولاً تنظيف العديد من الفروع الوسيطة التي قمت بإنشائها ضمن git؛
  • لا يعمل git-svn مع توزيعة Git لنظام التشغيل Windows، لذا قد ترغب في استخدام صورة Linux الافتراضية إذا كنت تعمل على نظام Windows
  • إذا كان بإمكانك تشغيل git-svn، فاستخدم البرامج النصية git2svn وsvn2git Ruby، كما هو موضح في هذا السؤال
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top