I have two feature branches which cannot me merged into master yet. Now I need to work on a third feature which depends on two previous features. How could I work on that feature without requiring the branches to be merged on master and but keep them split, so they could be code-reviewed separately?
A more direct question: If I merge feature1 into feature2, I still can make a pull-request of feature1 and later of feature2?
On your first question, you could create a new branch for feature 3 and then merge the two branches into it.
On your second question, yes you could merge feature 1 into feature 2 and then when you are ready, merge feature 1 into master and after that feature2.
You would need to make sure you keep the branches up to date.
The other way you could manage this, and keep things a bit tidier is to create a staging branch and merge feature 1 and feature 2 into it and then create feature 3 off the staging branch and merge it back in when the work is finished. Then when you are ready merge the whole staging branch into master. It depends on your reasons for delaying the merge of feature 1 and feature 2 into master.