Git workflows pros and cons
There are many different Git workflows that we could integrate into our development process. Many times these decisions are based on a lack of knowledge. “We used this at the previous company.” => But does that mean this approach will be a good fit here if it worked there? Of course not! And few people take the time and effort to explore the options even though discovering the pros and cons and deciding based on the input information would be essential.
Git is the number one distributed version control system among developers. It replaced SVN in many development teams.
A workflow should not connect to companies in any way, but unfortunately, they connect. Giant corporations provide different web-based tools. But their software work with their own applications only. Due to this, one Git Flow approach in a different environment will not necessarily work.
The most common Git workflows
There are four common git-low:
- One Flow
- Git Flow
- Git Lab Flow
- Git Hub Flow
Git Lab Flow
- Ideal when it needs to maintain a single version in production.
- It advocates the Feature Driven Development.
- It can become complex as Git Flow when it needs to maintain multiple version in production.
- Ideal when it needs to maintain multiple version in production.
- It isn’t recommended when it need to maintain single version in production.
- The git history will be cleaner, less messy and more readable.
- It is ideal when it needs to maintain a single version in production.
- Drop-in replacement for GitFlow
- It isn’t that useful for projects with Continuous Delivery or Continuous Deploy.
Git Hub Flow
- A simpler alternative to Git Flow.
- It is ideal when we need to maintain single version in production.
- It isn’t recommended when multiple versions in production are needed.
See the differences of these GitFlows in depth why and when we should use them:
Conclusion & Closing
In this topic, I have tried to collect the pros and cons of the different Git Flows. If you have checked the attached mindmap, you should know which one you should use when. By the way, here you can read about the GIT vs. SVN comparison if you like.