I work in a small team of developers (there are 3 of us). in the research that I have done, the workflow that most teams seem to follow seems to be as follows a branch is created for a feature and then the branch is merged into master when coding on the feature is complete.
That seems to work well with mature projects where most of the code is already in place and a feature that one person work is separate from another, but with a new project developer really need to see each others changes as they are made and much of the work that needs to be done initially is "laying the foundations".
Are there any established patterns on how to manage the git workflow in this case? Would it make more sense for us to all work on the same branch and call it something like "initial_implementation" and then merge it into master when it reaches a reasonable level of maturity, and start working on feature branches?