Git-flow explainsthe pecking order of branches and a concord for combining codes, which also comprises of tagging important milestones alongside.
To start, here are some of the limitations of the Git:
• Git itself has significant limitations that aren’t easily overcome
• Git-flow imposes a high knowledge burden with a fragile process
• Git-flow’s process destroys history, which is unacceptable in many cases
• Git-flow is better suited to a traditional release program than CD
Continuous and delivery are two separate things
Git-flow explains various different branches for release and development. Thus, developers can freely do anything as they did in their local groups whilst providing official destination or the finished work.
The main problem is that it is one step behind from CD, which effectively ensures that every new incremental bit of work which passes through various validations, testing, verifications and other processes is deployed immediately. So it lacks the main point of CS altogether.
High complexity will lead to easy mistakes
Whilst Git-flow’s model works indeed, adapting the previous old ways of Git to the new ways will cost a very high knowledge burden. Worst part is, not only every developer will have to learn the very complex Git-flow model, but any mistakes can cause significant confusing.
Destroying history is not an option
Git-flow’s approach, which its extension forces is to delete hotfix branches and features as soon as the work is delivered to appropriate branches, this is alright but it cannot be tolerated by every project. Any process whatsoever which fundamentally destroys history cannot be accepted.
It does not really matter the definition of protocols and branching structures because you can’t ignore the limitations of this tool itself. Gift is very well suited for a wide variety of projects on which it can impose welcome structure. But as soon as your project goes large sale you will probably opt for CD. Most companies use Git training from external companies to determine the best needs for their teams.
So, to summarize everything, the end goal of CD is to ensure quality, delivering better products and that too cheaply. Git can lead to branching chaos. There are various other number of solutions and approaches that efficiently cover the variety of use causes and solve the relevant problems of stakeholders properly.