Script to cleanup merged branches locally
$branches = git branch --merged | ?{$_ -notmatch "\* master"} | ?{$_ -notmatch "master"} | ?{$_ -notmatch "\* *"} | %{$_.Trim() } | |
if (-not $branches) { | |
echo "No merged branches detected" | |
exit 0 | |
} | |
echo $branches | |
$title = "Delete Merged Branches" | |
$message = "Do you want to delete the already-merged local branches displayed above??" | |
$yes = New-Object System.Management.Automation.Host.ChoiceDescription "&Yes", ` | |
"Delete the remote branches listed." | |
$no = New-Object System.Management.Automation.Host.ChoiceDescription "&No", ` | |
"Leave the branches alone." | |
$options = [System.Management.Automation.Host.ChoiceDescription[]]($yes, $no) | |
$result = $host.ui.PromptForChoice($title, $message, $options, 1) | |
if ($result -eq 1) { | |
exit 0 | |
} | |
$branches | %{ git branch -d "$_" } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment