Q:

Bitbucket Server Pull Request

So here is my situation and hopefully someone can clarify my thought process:

I have a private bitbucket server
I have a user who has only read-access
He makes a new local branch, does his work, now he is ready for a pull request
Error: Bitbucket create pull request needs two branches on the same repo to do its pull request but the "dev" cannot push his branch since
  he has only read-access not write access

My question, how can I create a pull request using Bitbucket to
A, send this local branch to be reviewed by my team
B, and I want to have this "dev" to only have read-access?

A:

Solution 1 Handle branches permissions
I suggest you create the branch in the bitbucket server first, with writing permissions (this is normally done using Jira, so you can assign a task ID to the branch). 
To handle branches and permissions check this guide. You can define a pattern with associated permissions so certain branches automatically adopt those properties.
Then the user would do
$ git fetch origin
$ git checkout feature/taskID-whatever

After developing he would be able to push the branch, and perform a pull request to develop.
$ git push origin feature/taskID-whatever

Develop must be only read, but branches not.
Solution 2 Use fork
In the same tutorial you are following you will find how to do a fork. This way your developer will have a clone in his own bitbucket repository.

