When an issue moves from "Todo" to "In Progress" on the Kanban project board, it is important to use a Git branching strategy that prevents merge conflicts and allows for hotfixes and bugs to be deployed independent of feature development work.
For these reasons the DE (Digital Engagement) team has adopted Gitflow for moving development work through "In Progress" to "Done".
Prefix | Function |
---|---|
main |
The branch that is currently deployed. Only merge fromrelease and bug branches. |
dev |
The branch that all development work goes through. |
Prefix | Function |
---|---|
feature/* |
Most work tied to an issue in GitHub. |
release/* |
Created off of dev in preparation for deployment. |
bug/* |
Usually called hotfix this branch is created only from main . |
The overall flow of Gitflow (taken from Atlassian docs):
- A
dev
branch is created frommain
. - A
release
branch is created fromdev
. feature/
branches are created from develop when an issue is assigned and marked "In Progress".- When a
feature/
is complete it is merged into thedev
branch. - When the
release
branch is done it is merged intodev
andmain
. - If an issue in
main
is detected abug/
branch is created frommain
. - Once the
bug/
is fixed it is merged to bothdev
andmain
.