Предположим, у меня есть

Филиалы (локальные и удаленные)

владелец

источник/мастер

происхождение/исправление-ошибки-а

происхождение/исправление-b

происхождение / исправление ошибок-c

Локально у меня есть только основная ветка.

Теперь мне нужно поработать над исправлением ошибок, поэтому я проверяю это, работаю над этим и отправляю изменения на пульт.

Затем я делаю то же самое с bug-fix-b.

Филиалы (локальные и удаленные)

master
исправление-ошибки-a
исправление-ошибки-b
источник/мастер
происхождение/исправление-ошибки-a
происхождение/исправление-ошибки-b
происхождение/исправление-с

Теперь у меня есть локальные ветки master, bug-fix-a, bug-fix-b. Сопровождающий ветки Master объединит мои изменения в master и удалит все ветки, которые он уже объединил.

Итак, текущее состояние сейчас:

Филиалы (локальные и удаленные)

master
исправление-ошибки-a
исправление-ошибки-b
источник/мастер
происхождение/исправление-ошибки-c

Теперь я хотел бы вызвать какую-нибудь команду для удаления веток (в данном случае bug-fix-a, bug-fix-b), которые больше не представлены в удаленном репозитории.

Используйте grep для исключения мастера при удалении ненужных веток!

git branch --merged | grep -v "master" >/tmp/merged-branches && vi /tmp/merged-branches && xargs git branch -d </tmp/merged-branches