I am trying to figure out the best git branch model and workflow for our case. We have a pretty special setting: developers don't have a local environment, all use the same shared environment.
Since our environment difficult to replicate, we use a shared environment for development. Modifications are uploaded to this shared environment to be executed and evaluated.
However, sometimes developers step on other's toes by updating the same file separately and causing other people's work being overwritten.
We have also an staging and production environment used for our testing and release process.
Does anybody know a git branching model that could fit our setting?