Suppression des branches mergées

Linux

Fetch pour mettre à jour les branches

1git fetch -p

Suppression des branches locales

1git branch --merged | grep -v '\*\|master\|main\|develop' | xargs -n 1 git branch -d

Suppression des branches distantes

1git branch -r --merged | grep -v '\*\|master\|main\|develop' | sed 's/origin\///' | xargs -n 1 git push --delete origin

Windows

Suppression des branches locales mergées

1git branch --format "%(refname:short)" --merged develop | Select-String "develop|master|HEAD" -notMatch | where{$_ -ne ""} | Out-GridView -PassThru | % { git branch -d $_ }

Suppression des branches distantes mergées

1git branch --format "%(refname:short)" -r --merged develop | Select-String "develop|master|HEAD" -notMatch | Out-String -Stream | where{$_ -ne ""} | Out-GridView -PassThru | Foreach-Object { ($_) -replace "origin\/","" } | where{$_ -ne ""} | % {  git push origin --delete $_  }

cf : StackOverflow PowerShell