Git Workflow

I was reading about using git and good git workflows and I think this may workout a little better for us but I wanted a second opinion.
Basically its the same as we talked about before except for pulling changes. So on a per user basis, each developer has their own branch. They would commit to that branch and push to the corresponding remote branch. Rinse and repeat.
After some amount of commits and pushes from a single developer, when they feel their changes should be incorporated into the current dev branch, that user would then submit a 'Pull Request'. To do this, you would go to github, switch to your branch (with the drop down menu), then click 'Pull request'. From there you can describe the changes and submit the pull request. This creates an environment where each user can review the changes made and discuss them before the actual 'merge' is made. It is also a notification that your changes need to be pulled into dev.
At some point in time, whenever we feel like we have hit a milestone in developement, all of each individuals changes will be merged into dev and then dev will be pushed to master. Master can then be tagged as a 'release' with appropriate changelog.
After a release is made, each developer would then pull from master (instead of periodically, pseudo-randomly, pulling from dev like before), ensuring that we all begin work again with a copy of the code that contains all of the changes made by each developer.
Let me know what you think of this kind of workflow.
Git Workflow
I was reading about using git and good git workflows and I think this may workout a little better for us but I wanted a second opinion.
Basically its the same as we talked about before except for pulling changes. So on a per user basis, each developer has their own branch. They would commit to that branch and push to the corresponding remote branch. Rinse and repeat.
After some amount of commits and pushes from a single developer, when they feel their changes should be incorporated into the current
devbranch, that user would then submit a 'Pull Request'. To do this, you would go to github, switch to your branch (with the drop down menu), then click 'Pull request'. From there you can describe the changes and submit the pull request. This creates an environment where each user can review the changes made and discuss them before the actual 'merge' is made. It is also a notification that your changes need to be pulled intodev.At some point in time, whenever we feel like we have hit a milestone in developement, all of each individuals changes will be merged into
devand thendevwill be pushed to master. Master can then be tagged as a 'release' with appropriate changelog.After a release is made, each developer would then pull from
master(instead of periodically, pseudo-randomly, pulling fromdevlike before), ensuring that we all begin work again with a copy of the code that contains all of the changes made by each developer.Let me know what you think of this kind of workflow.