I have three branches master, stage and dev. We create feature branches from dev( which serves as our integration env when deployed ). I have locked master and stage so that only merge can be done from lower branches( dev to stage/ stage to master ).
But some times when I create pull request from dev to stage it shows conflicts, even when there is no commit on stage. only way to move code to stage is pull request from dev.