I have introduced GitFlow to my Team and right now we are working using the following branch structure, which blend perfectly well with our internal workflows:
Current Structure
We have master
which makes a pull request from dev
every end of Sprint using a TAG with the name of the Sprint.
We have dev
which is the source of our code and then we have a branch
for each plugin we are working on.
Workflow
If you are going to work on a new plugin/feature we are using this approach:
git checkout dev
git pull
git branch -b "your plugin"
...
git commit
git push origin "your plugin"
...
pull request from "your plugin" into dev
The questions that I have are the following:
- When
dev
need to issue apull request
from one of our plugin branches? Every time there is apush
into "my plugin" branch? - If a Developer is working on
plugin02
and merge intodev
, how can I get the changes also intoplugin04
branch? - Final, if someone works straight on
master
, like for an emergency bug, how can we re-sync all sub branches? Does this happen when we issuepull request
?