Recently I’ve spent time to study a good way to manage a software projects with GIT. I really read a lots of blog post to check different points of view and to find out which is the best technique to use in different situations.
The principals ways to manage a software in GIT are: the Git Flow and the Github Flow. These 2 methods can really help you to manage your project and optimise your workflow in the team. Let’s see the differences between them.
Git Flow
Git flow works with different branches to manage easily each phase of the software development, it’s suggested to be used when your software has the concept of “release” because, as you can see in the scheme above, it’s not the best decision when you work in Continuous Delivery or Continuos Deployment environment where this concept is missing. Another good point of this flow is that fits perfectly when you work in team and one or more developers have to collaborate to the same feature. But let’s take a look closer to this model.
The main branches in this flow are:
- master
- develop
- features