I am thinking of a way to do collaboration between coders in a company, suppose we have 2 type of servers: Production and Staging. Now we want to review all changes going to Production via pull-request, at the same time, we want coders to be able to push experimental changes whenever they want to Staging. The objective here is make sure our guys can do experimental stuff and can't (accidentally) mess up with Production.
My idea is to just create 2 separate repository for Production (read-only) and Staging (read-write). Will this be the ideal setup?