Deleting Branches
Keep your repository clean by deleting merged branches.
Why Delete Branches?
- Keep branch list manageable
- Reduce confusion
- Branches are cheap to recreate
- Merged branches are no longer needed
Deleting Local Branches
Delete Commands
Safe Delete
git branch -d feature
Only works if branch is fully merged.
Force Delete
git branch -D feature
Deletes even if not merged (use with caution).
Deleting Remote Branches
git push origin --delete feature
# or
git push origin :feature
Cannot Delete Current Branch
You must switch to a different branch first:
git checkout main
git branch -d feature
Checking Merge Status
Before deleting, check if branch is merged:
# Show merged branches
git branch --merged
# Show unmerged branches
git branch --no-merged
Recovering Deleted Branches
If you accidentally delete a branch:
# Find the commit hash in reflog
git reflog
# Recreate the branch
git checkout -b recovered-branch abc1234
Cleanup Commands
Delete All Merged Branches
git branch --merged | grep -v main | xargs git branch -d
Prune Remote-Tracking Branches
git fetch --prune
Exercise: Delete a Branch
Create a branch, then delete it:

