حذف فرع SVN
-
26-09-2019 - |
سؤال
لقد قمت بإنشاء فرع من مشروع 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
لأولئك الذين يستخدمون السلاحف, ، يمكنك إنجاز ذلك باستخدام متصفح المستودع (تم تصنيفه "متصفح ريبو" في قائمة السياق.)
ابحث عن مجلد الفرع الذي تريد حذفه ، وانقر بزر الماوس الأيمن فوقه ، وحدد "حذف".
أدخل رسالة الالتزام الخاصة بك ، وأنت تنتهي.
يمكنك أيضًا حذف الفرع على جهاز التحكم عن بُعد مباشرة. بعد القيام بذلك ، سيقوم التحديث التالي بإزالته من نسخة العمل الخاصة بك.
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>
ستحصل الخطوات المذكورة أعلاه على الملفات داخل مجلد الفرع وليس المجلد بأكمله.