git/Remove-MergedRemoteBranches.ps1
function Remove-MergedRemoteBranches { <# .SYNOPSIS Helper script for removing merged remote branches .DESCRIPTION This script will remove all remote branches which were already merged to the current branch .PARAMETER Branches Collection of excluded from removing branches .EXAMPLE .\Remove-MergedRemoteBranches.ps1 Removes all merged remote branches except default branches: master, develop, HEAD .EXAMPLE .\Remove-MergedRemoteBranches.ps1 -Branches naster,feature1 Removes all merged remote branches except specified branches: master, feature1 #> [CmdletBinding()] param( [Parameter(Mandatory = $false)] [string[]]$Branches = @("master", "develop", "HEAD") ) process { . $PSScriptRoot\Get-MergedRemoteBranchces.ps1 -Branches $Branches | % { $i = $_.IndexOf("/") $origin = $_.Substring(0, $i) $branch = $_.Substring($i + 1) Write-Host "$origin -> $branch" git push $origin --delete $branch } } } |