DreamKell佬们,预发布环境和生产环境用一个分支还是两个分支比较好? 中发帖

现在项目内是预发布环境和生产都是用的master分支,然后tag也是公用的。 
两个环境是独立部署的,问了下说是为了保证环境一致,才这么搞。
这个情况就会出现某一些需要在预发布环境验证的功能,需要发预发布就得合并到master,但是最终由于一些原因导致又不能发prod。
现在在考虑要不要把预生产重新拉出一个分支来,跟生产的分支分开,功能和修复分支往test合并,测试过了后往预生产合并,预生产验收后再往master合并然后发prod。
求问佬们有没有比较好的能兼顾环境一致又能避免这种要回退的麻烦的好法子