طريقة حذف فرع في Git محليًا وعلى المستودع البعيد
الفرع المحلي ونسخته البعيدة شيئان منفصلان. إليك طريقة حذف كل منهما، ومعنى الأخطاء الشائعة، وتنظيف المراجع القديمة، واستعادة فرع حذفته بالخطأ.
بقلم Kodmora
شركة البرمجيات المطوّرة لـGitTree
- الفروع
- المستودعات البعيدة والدفع
- التراجع والاستعادة
في هذه الصفحة
لحذف فرع محلي، نفّذ `git branch -d branch-name`. ولحذفه من المستودع البعيد، نفّذ `git push origin --delete branch-name`. هما عمليتان منفصلتان: حذف أحدهما يترك الآخر في مكانه. يرفض Git الأمر الأول إذا كان في الفرع إيداعات غير مدموجة، وهذا يحمي عملك.
| الهدف | الأمر |
|---|---|
| حذف فرع محلي مدموج | git branch -d feature/search |
| حذف فرع محلي غير مدموج بالقوة | git branch -D feature/search |
| حذف الفرع من المستودع البعيد | git push origin --delete feature/search |
| إزالة مراجع التتبع القديمة | git fetch --prune |
كيف أحذف فرع Git محليًا؟
انتقل إلى فرع آخر أولًا، لأن Git لا يحذف الفرع الذي تقف عليه. ثم احذفه:
git switch main
git branch -d feature/searchيطبع Git آخر إيداع في الفرع. احتفظ بهذا المعرّف قليلًا، فهو أسهل طريق للعودة:
Deleted branch feature/search (was 4f2a9c1).كيف أحذف فرعًا من المستودع البعيد؟
git push origin --delete feature/searchيزيل هذا الفرع عند كل من يستخدم ذلك المستودع، فتأكد من أن أحدًا لا يحتاج إليه وأن طلب السحب الخاص به مغلق. تبقى نسختك المحلية حتى تحذفها أيضًا.
ماذا تعني أخطاء الحذف؟
| الرسالة | المعنى | الحل |
|---|---|---|
not fully merged | في الفرع إيداعات غير موجودة في فرعه البعيد أو في HEAD. | ادمجه، أو استخدم -D إن كنت متأكدًا من أنك لا تحتاج إليها. |
cannot delete branch … used by worktree | أنت تقف عليه، هنا أو في worktree آخر. | نفّذ git switch main، أو أزل الـ worktree الآخر. |
remote ref does not exist | الفرع محذوف بالفعل من المستودع البعيد. | نفّذ git fetch --prune لإزالة نسختك القديمة. |
ماذا يفعل git remote prune origin؟
عندما يحذف أحدهم فرعًا من المستودع البعيد، يحتفظ مستودعك بمرجع origin/feature/search حتى تزيله. يحذف prune هذه المراجع القديمة، ولا يمس فروعك المحلية أبدًا:
git fetch --prune
# or, without fetching anything new
git remote prune originلمعرفة الفروع المحلية التي فقدت نسختها البعيدة، ابحث عن gone في القائمة المفصلة:
git branch -vvكيف أستعيد فرعًا محذوفًا؟
الفرع مجرد اسم لإيداع، لذلك لا يحذف حذفه الإيداعات فورًا. أنشئ الاسم من جديد من المعرّف الذي طبعه Git، أو ابحث عنه في reflog:
git branch feature/search 4f2a9c1
# no hash? search the reflog
git reflogافعل ذلك قريبًا: تُنظَّف الإيداعات غير القابلة للوصول في النهاية عبر garbage collection. يغطي مقال استعادة stash أو فرع محذوف الحالات الأصعب، ويشرح درس الفروع والتنقل بينها لماذا الفرع خفيف إلى هذا الحد.
طريقة حذف فرع في GitTree
افتح قائمة الفرع
انقر على اسم الفرع في الرسم بزر الفأرة الأيمن. تذكر القائمة اسم الفرع في كل إجراء.
اختر Delete
يخبرك GitTree بما سيُحذف وبأن آخر إيداع محفوظ تحت
refs/ogt/trash. الاختيار الافتراضي هو Cancel، فاضغط Delete feature/search للتأكيد.احذف النسخة البعيدة أيضًا
يحذف Delete … and origin/… النسختين، ويؤكد ذلك Delete Both. لا يمكن استعادة فرع حُذف من المستودع البعيد من داخل GitTree.
غيّرت رأيك؟
اضغط Undo في شريط الأدوات مباشرة بعد الحذف المحلي لإعادة الفرع.
يتضمن دليل إعادة تسمية الفروع وحذفها التفاصيل، ويشرح مقال طريقة إعادة تسمية فرع تغيير الاسم بدلًا من الحذف.

الأسئلة الشائعة
هل يحذف حذف الفرع إيداعاته؟
ليس فورًا. تبقى الإيداعات الموجودة في فروع أخرى. أما الإيداعات الموجودة في ذلك الفرع وحده فتصبح غير قابلة للوصول ويمكن استعادتها حتى يزيلها garbage collection.
ما الفرق بين git branch -d و-D؟
يرفض -d حذف فرع فيه إيداعات غير مدموجة. أما -D فيحذفه رغم ذلك، فلا تستخدمه إلا إذا كنت متأكدًا.
هل يحذف حذف الفرع المحلي الفرع البعيد؟
لا، هما منفصلان. استخدم git push origin --delete branch-name للفرع البعيد.
لماذا ما زال الفرع البعيد المحذوف ظاهرًا؟
ما زال مستودعك يحتفظ بمرجع التتبع. نفّذ git fetch --prune لإزالته.
هل يمكنني حذف عدة فروع دفعة واحدة؟
نعم. يحذف git branch -d one two three كل اسم تذكره، ويفعل git push origin --delete one two الشيء نفسه على المستودع البعيد.
المصادر
تحققنا من المعلومات عن المنتجات الأخرى من صفحاتها الرسمية بتاريخ 7 نوفمبر 2026. الأسعار والميزات تتغير، وصفحات الشركات هي المرجع.