Skip to main content

clean-branches

Clean up unnecessary local branches and prune stale remote-tracking branches

Source facts

Repository
dyoshikawa/rulesync
Last source activity
July 22, 2026 at 05:39
Detected SKILL.md language
English
Stars
1,566
Forks
167

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
clean-branches
description
Clean up unnecessary local branches and prune stale remote-tracking branches
targets
["*"]
# Clean Branches Clean up unnecessary local branches and prune stale remote-tracking branches. ## Step 1: Inspect Current State Run the following: - `git branch --show-current` - `git branch --format='%(refname:short)'` - `git remote show origin` - `git branch -vv` Identify: - The current branch - The default branch (for example `main` or `master`) - Branches whose upstream has been deleted After identifying the default branch, list branches already merged into it: - `git branch --merged <default-branch>` If you want to use the remote-tracking branch as the source of truth, use: - `git branch --merged origin/<default-branch>` ## Step 2: Refresh Remote State Update remote refs and prune deleted remote branches: ```bash git fetch --prune ``` If needed, also run: ```bash git remote prune origin ``` ## Step 3: Select Branches to Delete Delete only branches that are clearly unnecessary. Safe candidates include: - Local branches already merged into the default branch you identified above - Local branches whose upstream branch is gone and are no longer needed Never delete: - The current branch - The default branch - Branches that are not fully merged unless the user explicitly asks for force deletion If there is any ambiguity, show the candidate branches to the user and ask for confirmation. ## Step 4: Delete Branches For merged branches, delete them safely: ```bash git branch -d <branch-name> ``` Only if the user explicitly approves force deletion for unmerged branches, use: ```bash git branch -D <branch-name> ``` Delete branches one by one, not with a broad wildcard command. ## Step 5: Report Result Summarize: - Which branches were deleted - Which branches were skipped and why - Whether stale remote-tracking branches were pruned
View on GitHub