1
I have the following branchwork structure for ASP NET MVC projects
- Master - production version
- DEV - Development
- Release - Bug maintenance
This structure was already defined when I arrived at the project and I have a problem when the time of approval and publication in production.
The flow is as follows:
- New developments are made in the dev branch. Merge from master to dev.
- Upon completion of the task, commit (we use GIT) in dev and Publish on the homologation application server. In case of approval merge dev with master.
At this point I have 2 problems.
- If 2 dev’s are developing in the MVC project when generating Publish for homologation one dev can overwrite the other’s Publish by hindering homologation.
- If Dev1’s approval is approved and Dev2’s not as I will publish a production version without taking the Dev2 changes since he committed his task.
The same can occur for maintenance. Release branch because to start fixing a bug is done the master merge with release, release commit and release merge with master.
Has anyone ever been in a similar situation? How can I ensure parallel development by ensuring correct versioning and avoiding sending unapproved versions to production?
In the case of item 3. Master receives my branch (backlog item for example). After the publication the user has not approved, however, other people have also sent their changes to master and need to publish in Prod. How will I do not send the unapproved changes since they are in master as well?
– Tiago Crizanto
This here cannot: "The user has not approved and other people have sent to master". It is clearly a procedural flaw. If the user needs to approve, you should publish the branch that has received all the other branch-child functionality, and not try to put the bug fixes all on the same branch, otherwise it gets messy. I edited the answer to make it clear.
– Leonel Sanches da Silva