Hotfixes
A fix that goes straight to production, and back into integration behind it.
A hotfix is a release that starts from production rather than from integration: something is wrong in what is shipped, and the fix cannot wait for whatever is half-finished on the integration branch.
Starting one
Innesta suggests the next patch version — 1.4.2 after 1.4.1 — and applies the same collision checks as a release: a local branch or tag that already exists blocks, and one that exists only on the remote warns and lets you go on.
Start Hotfix — Start… in the GitFlow popover with Hotfix picked, and then the confirmation — creates the branch from the production branch and switches to it. That is the difference from a release, and it is the point: the fix contains what is in production plus the fix, and nothing else. Like a release, it commits the new version on the branch as it starts, when versioning writes a version file.
Production is the default here rather than the only option: the confirmation’s Starting Point picker will cut the hotfix from another local branch, and the sheet warns you when it is not production. Whatever that branch carries comes into the hotfix with it, which is what starting from production avoids.
Finishing one
Finish Hotfix… does exactly what finishing a release does — validate,
check collisions, commit the version again only if it no longer matches the tag,
merge into production with --no-ff, create the annotated tag, merge back into
integration with --no-ff — and then tries to delete the branch. It asks in the
same sheet, described under releases: the local
answer first, the push remote’s underneath, and a version already taken offering
the next free one — the next free patch here, where a release would offer
the next minor.
The back-merge is not optional here either. A hotfix that reaches production and not integration is a bug that comes back with the next release.