A development team is utilizing AWS CodeCommit for their source control and they wish to implement a workflow strategy that allows parallel development while ensuring that new features can be developed independently from the hotfixes to the production code. Which of the following branching strategies would best facilitate this requirement?
Creating different repositories for features and hotfixes
Using a feature branching strategy and creating a separate branch for hotfixes
Using a single 'development' branch for both new features and hotfixes and merging to main for releases
Applying all changes directly to the main branch and using tags to differentiate feature changes from hotfixes