Similar to GitFlow and OneFlow, SwatFlow follows the Feature Branch Workflow, which entails doing any active development (new features, improvements, bugfixes, ...) on separate, independent 'feature/' branches.
Feature branches are created from develop and allow developers to work on their tasks, independent of one another.
Once the feature has been finished and has been approved by QA, a Pull-Request should be done to merge it into develop.
After the merge, the feature branch should be deleted as the branch is relevant during the development process, it is a short-lived branch.
To improve the model even further, the following actions are recommended:
With these improvements, the diagram above will look like this:
It can be seen that now, by rebasing and squashing, the history is considerably cleaner.
git fetch --tags --force git push origin <FEATURE> ------------ <SOURCE> - source branch/tag of feature branch |
git fetch git pull ------------ |