If commits 3-6 do not depend on commits 1-2, you can clone the branch and then use interactive rebasing to split the develop branches into two branches, so that the histories look like:
develop1: master commit1 commit2 develop2: master commit3 commit4 commit5 commit6
Then you can merge the two different branches in using merge. Otherwise, you'll have to use cherry-picking as the other answer says. This will work, but you'll lose the history of the branch relationships.
In general it makes sense to create a new branch for each specific topic that you're working on, being more on the finely grained side. Local branches are cheap, and even remote branches aren't that bad. It's a lot easier to organize your trains of thought if you're keeping things on separate branches. It also encourages you to work in a way that has you dividing your problems into independent modular pieces whenever possible, which encourages better system design, improves testability, etc.