We work as small team, 3-5 people max.
We just keep it simple like:
- No one pushes to master.
- For every feature (or update on a feature), create new branch.
- Send pull request for reviewing (one of us is the reviewer).
- Merge pull request into master.
---
You could try git workflow, but it's just too complicated for small team (and for large teams too?).