clean-branches

Solid

Delete local branches whose remote has been deleted ([gone]), including their worktrees. Use for branch cleanup after merging PRs.

AI & Automation 502 stars 69 forks Updated today AGPL-3.0

Install

View on GitHub

Quality Score: 84/100

Stars 20%
90
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
57
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Clean Branches Remove local branches that have been deleted on the remote (marked `[gone]`), including any associated git worktrees. ## Steps 1. **Fetch and prune remote refs:** ```bash git fetch --prune ``` 2. **List branches to identify [gone] status:** ```bash git branch -v ``` Branches with a `+` prefix have associated worktrees that must be removed before deletion. 3. **List worktrees for reference:** ```bash git worktree list ``` 4. **Remove worktrees and delete [gone] branches:** ```bash git branch -v | grep '\[gone\]' | sed 's/^[+* ]//' | awk '{print $1}' | while read branch; do echo "Processing branch: $branch" worktree=$(git worktree list | grep "\\[$branch\\]" | awk '{print $1}') if [ ! -z "$worktree" ] && [ "$worktree" != "$(git rev-parse --show-toplevel)" ]; then echo " Removing worktree: $worktree" git worktree remove --force "$worktree" fi echo " Deleting branch: $branch" git branch -D "$branch" done ``` 5. **Report** which branches and worktrees were removed. If none were `[gone]`, say no cleanup was needed.

Details

Author
kdlbs
Repository
kdlbs/kandev
Created
6 months ago
Last Updated
today
Language
Go
License
AGPL-3.0

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category