У нас тоже GitLab и git flow, для рабочих веток добавляем превикс [WIP], такую ветку нельзя слить (GitLab ее по другому помечает). master, testing у нас protected. Все что не protected, WIP или merge удаляется.
Добавление кода происходит через merge-request, при принятии merge-request ставим галку 'удалить ветку после слияния' и все.