Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Delete multiple remote branches in git

Tags:

git

bash

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?

like image 510
Jake A. Smith Avatar asked Oct 02 '22 08:10

Jake A. Smith


2 Answers

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}'
like image 79
neevek Avatar answered Nov 16 '22 01:11

neevek


If you like a simpler approach, for instance delete 3 or 4 branches:

git push origin --delete <branch1> <branch2> <branch3>

Important: Only works on Git v1.7.0 and above.

like image 35
jfeston Avatar answered Nov 16 '22 00:11

jfeston