We want to setup proper development workflow. We have two main branches: master(release branch) and develop(working branch). We want to use pull requests properly. We see two ways how to do this:
The first one:
- Create new branch for feature.
- Implement feature.
- Merge to develop branch.
- Test develop branch.
- Confirm that everything works.
- Create pull request onto master branch.
- Merge pull request.
Steps 4 and 7 can return to step 1.
The second one:
- Create new branch for feature.
- Implement feature.
- Create pull request onto develop branch.
- Merge pull request.
- Test develop branch.
- Confirm that everything works.
- Merge develop into master.
Steps 4 and 6 can return to step 1.
Which one is better? Or there is better way that I described?
We have 3 team members: developer, tester and reviewer.