ответвление фильтра в этом случае не является необходимым, IMHO, и, как сказал Джефроми, не усложняя жизнь всем остальным, это невозможно. Первое правило Git - не переписывать опубликованную историю.
Если вы действительно хотите очистить испорченную ветвь, то вам следует перебазировать ее локально, переставить коммиты и принудительно перенести ее на основную линию, если необходимо.
для этого (представьте, что ветвь проверяется локально, а последнее известное исправное состояние, после которого вы начали получать эти дубликаты, - 20 коммитов назад)
git checkout yourPublicBranch
git rebase -i HEAD~20
Это запустит редактор, в котором вы сможете управлять коммитами. Затем вам нужно будет сохранить файл и выйти для перезагрузки, чтобы начать работать. Это может привести к конфликтам.