Think of it as everyone submitting pull requests into master-ignore instead of master, we just simply rename master-ignore to master-staging since they no longer ignore it. They start their feature branch on master (always on master), but then they submit a PR into master-staging, and then we click the green button if its good. If there is a conflict we either send it back, submit a new pull on their behalf, or do the merge offline (that part needs sorting).