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