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 HotfixStart 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.

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, optionally update the manifest, 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.