Yeah, we just do main and production branches as protected. Any feature branches are unprotected. This allows developers to code anything they want push as much as they want and only when they make their MR into the "staging" branch is the protection needed so they don't do git push origin main --force and wipe out everything.