Search code examples
gitbash

Delete multiple remote branches in git


I have a team member who inadvertently pushed over 150 of his local branches to our central repo. Thankfully, they all have the same prefix.

Using that prefix, is there a git command or cool little shell script I can use that will delete all of those at once?


Solution

  • Use the following command to remove all branches with PREFIX prefix on remote server.

    git branch -r | awk -F/ '/\/PREFIX/{print $2}' | xargs -I {} git push origin :{}
    

    You may want to do a dry-run first to see if it is the branches that you want to remove:

    git branch -r | awk -F/ '/\/PREFIX/{print $2}'