We where testing the Gitflow feature inside of Sourcetree yesterday and we discovered something strange.
When we finished a hotfix branch while having a release branch active, the back-merge would only merge the hotfix to master and develop.
That seems strange to us. It would make a lot of sense to merge the hotfix to master and the active release branch. The release branch would eventually merge back into the develop.
We would like to know if this is a known issue and if you have a workaround for this?
The standard git-flow workflow suggests merging the hotfix into an active release branch:
"As soon as the fix is complete, it should be merged into both master
and develop
(or the current release
branch), and master
should be tagged with an updated version number."
https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow
The article that spawned git-flow is more explicit:
"The one exception to the rule here is that, when a release branch currently exists, the hotfix changes need to be merged into that release branch, instead of develop
. Back-merging the bugfix into the release branch will eventually result in the bugfix being merged into develop
too, when the release branch is finished. (If work in develop
immediately requires this bugfix and cannot wait for the release branch to be finished, you may safely merge the bugfix into develop
now already as well.)
http://nvie.com/posts/a-successful-git-branching-model/
I just made a quick test with git-flow outside of SourceTree and I find the same as Thijs: standard git-flow commands ignore the release branch.
Unless there are ways of telling git-flow about the release branch, I think I would just issue direct git commands to merge the hotfix in this case:
$ git checkout master
$ git merge --no-ff hotfix/1.1.1
$ git tag 1.1.1
$ git checkout release/1.2.0
$ git merge --no-ff hotfix/1.1.1
$ git branch -d hotix/1.1.1
Obviously merge conflicts are possible when merging the hotfix branch into the release branch and would need to be dealt with. As you suggest, the hotfix naturally flows back into develop when the release branch is merged.
EDIT: The standard git-flow doesn't have an option to merge into the release branch so I think the only option is to do it manually (or abandon the release branch, as suggested above).
https://github.com/nvie/gitflow/blob/develop/git-flow-hotfix
edit: already answered above
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi.
That is actually the standard git-flow workflow, see the section on Hotfix in https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Micheal,
It still seems strange to not merge the hotfix intro a release branch.
But what is the best practice in this kind of situation?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I suspect you should cancel the Release branch and start that again.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.