سؤال

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

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

المحلول

بالتأكيد: svn rm المجلد غير المرغوب فيه ، والالتزام.

لتجنب هذا الموقف في المستقبل ، أود اتباع تخطيط موصى به لمشاريع SVN:

  • ضع الكود الخاص بك في/someproject/trunk المجلد (أو فقط/trunk إذا كنت تريد وضع مشروع واحد فقط في المستودع)
  • خلقت الفروع كما /someproject/branches/somebranch
  • ضع العلامات تحت /someproject/tags

الآن عندما تقوم بمراجعة نسخة عمل ، تأكد من مراجعة فقط trunk أو بعض الفرع الفردي. لا تحقق من كل شيء في نسخة عمل ضخمة تحتوي على جميع الفروع.1

1ما لم تكن تعرف ما تفعله ، وفي هذه الحالة تعرف كيفية إنشاء نسخ عمل ضحلة.

نصائح أخرى

على افتراض أن هذا الفرع ليس خارجيًا أو ارتباطًا ، يجب أن تكون إزالة الفرع بسيطة مثل:

svn rm branches/< mybranch >

svn ci -m "message"

إذا كنت ترغب في القيام بذلك في المستودع ، فقم بتحديثه لإزالته من نسخة العمل الخاصة بك ، يمكنك القيام بشيء مثل:

svn rm http://< myurl >/< myrepo >/branches/< mybranch >

ثم اركض:

svn update

لأولئك الذين يستخدمون السلاحف, ، يمكنك إنجاز ذلك باستخدام متصفح المستودع (تم تصنيفه "متصفح ريبو" في قائمة السياق.)

context menu

ابحث عن مجلد الفرع الذي تريد حذفه ، وانقر بزر الماوس الأيمن فوقه ، وحدد "حذف".

deleting the folder

أدخل رسالة الالتزام الخاصة بك ، وأنت تنتهي.

committing

يمكنك أيضًا حذف الفرع على جهاز التحكم عن بُعد مباشرة. بعد القيام بذلك ، سيقوم التحديث التالي بإزالته من نسخة العمل الخاصة بك.

svn rm "^/reponame/branches/name_of_branch" -m "cleaning up old branch name_of_branch"

ال ^ قصير لعنوان URL لجهاز التحكم عن بُعد ، كما يظهر في "معلومات SVN". الاقتباسات المزدوجة ضرورية على سطر أوامر Windows ، لأن ^ هي شخصية خاصة.

سيعمل هذا الأمر أيضًا إذا لم تقم مطلقًا بفحص الفرع.

يمكنك حذف مجلد الميزات تمامًا مثل أي شيء آخر في الخروج ثم ارتكب التغيير.

لمنع ذلك في المستقبل ، أقترح عليك اتباع اتفاقيات التسمية لتخطيط SVN.

إما إعطاء كل مشروع صندوقًا ، فروعًا ، مجلد علامات عند إنشاؤه.

svn
+ project1
  + trunk
    + src
    + etc...
  + branches
    + features
      + src
      + etc...
  + tags
+ project2
  + trunk
  + branches
  + tags

من نسخة العمل:

svn rm branches/features
svn commit -m "delete stale feature branch"

أمر لحذف الفرع كما يلي:

SVN DELETE -M "u003Cyour message> "u003Cbranch url>

إذا كنت ترغب في عدم إحضار/الخروج من الريبو بأكمله ، قم بتنفيذ الأمر التالي على المحطة الخاصة بك:

1) احصل على المسار المطلق للدليل الذي سيحتوي على نسخة العمل الخاصة بك
> PWD
2) ابدأ الخروج من رمز SVN
> SVN Checkoutu003Cbranch url>u003Cabsolute path from point 1>

ستحصل الخطوات المذكورة أعلاه على الملفات داخل مجلد الفرع وليس المجلد بأكمله.

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