|
Download plugins/commit-commands/commands/clean_gone.md from SaylorTwift/claude-code: direct link, hf CLI and curl.
- Browser
- Download file 1.87 kB
-
https://huggingface.co/SaylorTwift/claude-code/resolve/main/plugins/commit-commands/commands/clean_gone.md
- Command line
-
hf download hf://SaylorTwift/claude-code/plugins/commit-commands/commands/clean_gone.md
-
curl -L -o clean_gone.md https://huggingface.co/SaylorTwift/claude-code/resolve/main/plugins/commit-commands/commands/clean_gone.md
1.87 kB
| description: Cleans up all git branches marked as [gone] (branches that have been deleted on the remote but still exist locally), including removing associated worktrees. | |
| ## Your Task | |
| You need to execute the following bash commands to clean up stale local branches that have been deleted from the remote repository. | |
| ## Commands to Execute | |
| 1. **First, list branches to identify any with [gone] status** | |
| Execute this command: | |
| ```bash | |
| git branch -v | |
| ``` | |
| Note: Branches with a '+' prefix have associated worktrees and must have their worktrees removed before deletion. | |
| 2. **Next, identify worktrees that need to be removed for [gone] branches** | |
| Execute this command: | |
| ```bash | |
| git worktree list | |
| ``` | |
| 3. **Finally, remove worktrees and delete [gone] branches (handles both regular and worktree branches)** | |
| Execute this command: | |
| ```bash | |
| # Process all [gone] branches, removing '+' prefix if present | |
| git branch -v | grep '\[gone\]' | sed 's/^[+* ]//' | awk '{print $1}' | while read branch; do | |
| echo "Processing branch: $branch" | |
| # Find and remove worktree if it exists | |
| 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 | |
| # Delete the branch | |
| echo " Deleting branch: $branch" | |
| git branch -D "$branch" | |
| done | |
| ``` | |
| ## Expected Behavior | |
| After executing these commands, you will: | |
| - See a list of all local branches with their status | |
| - Identify and remove any worktrees associated with [gone] branches | |
| - Delete all branches marked as [gone] | |
| - Provide feedback on which worktrees and branches were removed | |
| If no branches are marked as [gone], report that no cleanup was needed. | |