I’m assuming you want to start the new user_story_2 branch on top of the work you’ve done in user_story_1. Here’s the workflow I use in this sort of scenario:
-
Open Pull Request for
user_story_1:* (user_story_1) * / * (master) * * -
Create new branch
user_story_2based onuser_story_1:$ git checkout -b user_story_2 user_story_1
* (user_story_1, user_story_2) * / * (master) * * -
Work on the new branch:
* (user_story_2) * * (user_story_1) * / * (master) * * -
Pull Request gets merged:
* (user_story_2) * * | (master) |\| | * (user_story_1) | * |/ * * * -
Delete old branch:
* (user_story_2) * * | (master) |\| | * | * |/ * * * -
Rebase new branch onto
master:* (user_story_2) * / * (master) |\ | * | * |/ * * *