Cleanup Merged Branches
This skill safely deletes git branches that have been merged into the main branch.
Procedure
1. Fetch and Prune Remote
git fetch --prune
2. List Merged Branches (Preview)
# Local branches merged into main (excluding main itself)
git branch --merged main | grep -v "main" | grep -v "^\*"
# Remote branches merged into main
git branch -r --merged main | grep -v "main" | grep -v "HEAD"
3. Delete Local Branches
git branch --merged main | grep -v "main" | grep -v "^\*" | xargs -r git branch -d
4. Delete Remote Branches
# For each remote branch (e.g., origin/feature-branch)
git push origin --delete <branch-name>
Safety Notes
- Always preview before deleting (
-dis safe,-Dforce deletes) - Never delete
main- the grep filters exclude it - Confirm with user before deleting remote branches (destructive action)
- Protected branches - some branches may be protected on GitHub
Converted and distributed by TomeVault — claim your Tome and manage your conversions.