Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save shiftkey/2715136 to your computer and use it in GitHub Desktop.
Save shiftkey/2715136 to your computer and use it in GitHub Desktop.
$dontcare = git fetch origin --prune
$branches = git branch -a --merged |
?{$_ -match "remotes\/origin"} |
?{$_ -notmatch "\/master"} |
%{$_.Replace("remotes/origin/", "").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 remote 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 push origin ":$_" }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment