What to protect
Protect main at minimum. Require reviews and passing tests, and block direct pushes so all work is forced through a PR. The branches that hold real data deserve the strongest rules.
Link the checks
Connect your CI to the protected branch. main can only merge when tests pass, which keeps every version shippable and gives everyone a clear signal that something's wrong.