I'm setting up a development environment with Git in some of my projects, my initial idea for simple projects is:
The master branch is blocked, when someone needs to make a change, a new branch is created (same as the master), the change is made and the person opens a pull request to move to the master. So far, okay.
The case that I am having doubts is when there are two development environments, for example: master and develop.
My idea was to develop a copy of the master, when someone needs to make a change, a develop branch is created and when it is finished from a branch merge in develop .
At the time of merge from develop to master, if I have merge multiple branches to develop, can I specify which branch I'm going to upload to master?
Are there any commonly used streams? Or good practices?
I do not know if it's clear but I can improve the explanation!
Updating:
I came to a stream that I believe is workable:
Three environments built for two development environments
-Master-
-Dev -
-Tests -
At first all are the same, if someone needs to perform some feature / hotfix, they always create a branch from Dev , make the change, and merge with the / strong>, if the tests are ok, the person merge your branch with Dev , the Test branch would always test something and Dev would be all that is ready to go to (master ) production.