Replies: 1 comment 3 replies
-
Why would the release branch have several commits after branching out from develop? For example to remove DualQuaternions? If the answer to that is yes, why would we want to squash and rebase that onto develop? Wouldn't that mean that we lose DualQuaternions on develop as well? |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I want to propose a modified GitFlow workflow to keep our
develop
branch completely linear and make releases easier to deal with.The regular GitFlow workflow has release branches that are created from development, then merged into main, and also merged into development. Hotfixes are created from main, then merged into main, and also merged into development.
My problem with this is that we will have multiple histories on development from the re-merging of release branches. Even worse, merging hotfixes stemming from main into development creates an upstream association, so that development cannot be said to be always ahead of main.
The adjusted workflow is similar, and illustrated in the sketch attached. The develop branch stays strictly linear. All feature, release and hotfix/bugfix branches stem from development. Feature branches are squashed and rebased onto develop through PRs. Release branches are merged into main, and then squashed and rebased onto develop.
The only consequential difference, apart from the rebasing strategy, is that no branches (including hotfixes) can ever be stemmed from main. I think we do not expect to have frequent releases, and releases are also not being automatically deployed (compared to a web development application). Therefore the rapidity of a hotfix release is not so crucial, and we can fix it in develop and release it from there instead.
Let me know what you think to this.
Beta Was this translation helpful? Give feedback.
All reactions