We’ve settled for some time for the git workflow and everything went really well since. We’re using production (master) branches, development, feature, individual, etc. branches and there are a lot of advantages. Git is really a tool developed by a developer.
However, I always feel the pain in the following situation: I branch to implement a feature. I finish the feature, I send a pull request to the team and then I start working on another feature. Which means, in turn, creating another branch. But, until the initial pull request is approved, all changes in that branch are not available when I create the second feature branch. And it’s a pain – I often find out that I’ve implemented some reusable code in the initial branch and I cannot use it in the second branch until the PR is approved 😐