It's also useful that PRs come from branches where each of the commits builds. And, these days, to be able to certify that, you need to push each commit one by one (otherwise GitHubCI and GitLabCI at least, will only run a CI job for the single push even if the push included many commits).
To prevent this problem, I wrote this push script: https://github.com/nblockchain/fsx/blob/master/Tools/gitPush...