An option you can try is:
(I) Once you have done 5 commits to branch1, push it to remote for code review.
(II) Checkout to branch2, if you enter git log you should see the previous 5 commits to branch1. Do a git reset --hard HEAD~5, which will turn your local repo 5 commits back. You need not worry about permanently losing those 5 commits, since they are available on the remote repo's branch1 - you can pull it whenever necessary.
(III) Make the changes on your branch2, create a new pull request for your branch2 and push those 3 commits to remote branch2 for code review. Now, the previous 5 commits will not be included in your new pull request.
Note: This option can be used when the two branches are working on separate features and do not depend on each other's updates to work. I hope this answers your question. Let me know if you have any issue.
Also, when you want the branches to be separate, right when you are creating the new branch, do a git checkout master and then git checkout -b branch2 so thatbranch2 is created from master's history, and not branch1 or your working branch. Then the branch commits will not overlap with each other, and will follow from master. So in your case, you will then have 5 commits following branch1 and 3 commits following branch2 respectively.
branch1was created from a base commit, 5 new commits were made,branch2was created from the tip ofbranch1, 3 more new commits were made. If so,branch2should have been created from the base commit too. You could rebase the 3 new commits onto the base commit, or createbranch3from the base now and then cherry-pick the 3 commits. At last create a new pull request frombranch3.