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
devbranch is created frommain. - A
releasebranch 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 thedevbranch. - When the
releasebranch is done it is merged intodevandmain. - If an issue in
mainis detected abug/branch is created frommain. - Once the
bug/is fixed it is merged to bothdevandmain.