currently, we are using the GitHub flow (feature branching) strategy. However, with that, the problem is sometimes features are queues in for releases i.e.
- I have my featured merged in development (or master, we have only) branch and deployed to Test Environment for testing.
- Meanwhile, we want to develop or fix some high priority bugs/features. I can't do that without reverting earlier code from develop branch.
To solve this issue, I am trying to implement GitFlow Branching Strategy. However, I am thinking that very similar problem as above may arise as mentioned below.
- I created a new feature branch, done my development and merged to develop
- we merged few more feature to develop
- Cut out a new release branch (let's called release-A) and then deploy it to Test Environment for testing.
- meanwhile this feature is being tested, new feature request came which has a high priority
- Now if I branch out of latest develop, it has other features (release-A) which I don' t want to deploy to prod. (or merge with the master)
Questions:
- Rather, than branching of lastest, develop branch, should I branch from the commit has which is in PROD?
- if so, should I create a release from the feature branch?
- how to deploy this in Test so that testing or both (release-A and this new feature can happen in parallel). The latter point is no so important.
Note: I am using Microsoft Azure Data Factory, and so I need to merge some changes to develop branch ( related to Azure Data Factory) otherwise I won't be able to publish those changes (won't be able to create ARM template to deploy to other environments)