Git: Удаление множества веток локально и remote

Команды для массового удаления веток из репозитория локального или удаленного.

1. Смотрим список веток на удаленном сервере:

git ls-remote --heads <remote-name>

https://stackoverflow.com/questions/3471827/how-do...

1.1 Смотрим список remote-tracking веток:

git branch -r

1.2 Удаляем одну ветку на remote:

git push [remotename] :[branch]

1.3 Удаляем одну ветку локально:

git branch -d <branch_name>

https://stackoverflow.com/questions/2003505/how-do...

2. Массово удаляем ветки с названием, которое соответствует шаблону PATTERN (например: _nr_), полученные через git branch -r на remote:

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

https://stackoverflow.com/questions/10555136/delet...

3. После удаления веток на удаленном сервере запускаем команду для синхронизации и удаления этих же веток локально:

git fetch --all --prune
git
comments powered by Disqus