I would like to suggest the idea of running applications on service studio using a localhost server before a merge and publish. This can help in a case where one is working on a big task that can take up to days while there is a daily deployment that takes places .
In most cases a developer has to hide changes that they have made or feature that they have introduced to avoid deploying unfinished tasks , mistakes can happen , a developer can forget to remove for example a button that is there for a purpose of testing and it end up into the next environment through the deployment.
There is also a case where by two developer are working on one app , and say developer_1 makes changes on module_1 and they introduces errors on dependent module_2 , then until those errors have been handled it might affect the ability for developer_2 to publish module_2 .
Regards,
Thizwilondi