Delete multiple git branches matching a prefix

Important: this is a potentially destructive command. Please proceed cautiously and at your own risk.

I'll sometimes leave local git branches around a bit longer than I should. And, depending on your workflow, you may occasionally have a handful of ephemeral branches that need to be cleaned up.

In this example, we exclude the active branch with grep invert match (not) * and filter out any additional branches with an escaped \| pipe (master, staging); this is only necessary if your match pattern includes branches you want to keep. Then we match the prefix feature- for the branches we intend to delete.