It seems Git-Flow as implemented below is quite popular.

Now imagine the master branch is gone : the feature branch is created from develop and then merged back to develop... Just like the good old Git-Flow.
When you need to release your code, you just create the release branch from develop and then merge back to develop only and of course, you do not forget to create a tag.
So unlike standard Git-Flow, no merge from release branch to master and the tag is created on develop.
If you decide to create a hotfix, you can just create your hotfix branch from the tag on develop. Creating a hotfix from master may not be a good idea : if the actual prod version is 0.1 but another release 0.2 has been build and sent to user-acceptance environment then master will be equal to version 0.2 and not the actual prod version (0.1)
It think it is a common confusion with Git-Flow, master is production-ready code not necessarily THE production code.
My question is : Why do we need to maintain master branch ? What is the added value ?
Thank you
Why do we need to maintain master branch ? What is the added value?
Let me re-use the already linked article (thanks to VLAZ!):
There is a discussion going on about --no-ff helping the readability or not.
Using this option leads to the develop branch only consisting of merge commits of features and therefore being an ordered list of all features implemented in integrated into the product.
Your master branch is nothing else: an ordered list of all releases ever made.
Do you necessarily need it? Definitely not.
Is it maybe helpful anyway for some projects / teams? Sure!
It's up to your team to adjust this framework to whatever your needs are.
Maybe something more lightweight - like Github flow - is a better approach for you.
Both ways are perfectly acceptable and there is - like always - no one-size-fits-all. ;)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With