Один простой, неавтоматизированный способ справиться с этим - периодически запускать команду очистки ветки в вашем локальном репо, например
# to be executed with your "main" stable branch checked out
git branch -d $(git branch --merged)
. Она удалит все уже объединенные локальные ветви (т. Е. Те, которые делают НЕ "еще не объединены" коммиты). Таким образом, все эти ветви, которые были объединены посредством запросов на удаление, будут удалены, но не те, которые недавно (не проверены / не объединены) зафиксированы.
Примечание: если ваша политика коммиты squa sh по запросу извлечения, это не будет подходящим решением, так как ваши местные филиалы все еще имеют исходные коммиты (pre-squa sh), поэтому они не будут рассматриваться как объединенные и не будут быть удаленным.