Skip to content

Instantly share code, notes, and snippets.

@shiftkey
Created May 21, 2012 01:27
Show Gist options
  • Save shiftkey/2760209 to your computer and use it in GitHub Desktop.
Save shiftkey/2760209 to your computer and use it in GitHub Desktop.
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