| English | 中文 |
Release management must ensure that versions are trackable, changes are explainable, and issues can be rolled back.
Git itself records version history, while GitHub Release, tags, changelogs, and CI/CD turn this history into deliverable version assets.
merge -> tag -> release notes -> deploy -> verify -> announce
Semantic versioning is recommended:
v2.0.0
v2.0.1
v2.1.0
Common meanings:
Include at least:
See Release Note Template for a template.
Hotfixes only address emergency issues in the production environment.
Principles:
For the process, see Hotfix Process.
Public practices like Netflix Spinnaker remind us that for many teams, the real risk is concentrated in the release process, of which the branching model is only a part.
Once a team has PRs, CI, and branch protection, the next things to add are:
See Netflix Spinnaker and Release Pipeline Practices for details.
The Microsoft Release Flow experience is suited for teams with fixed sprints and fixed release windows:
Slack’s publicly shared deployment practices place more emphasis on “continuous small-batch releases”: breaking down risks into daily deployments through automated checks, deployment queues, observability, and rollback paths.
These two types of practices differ in direction, but their common ground is clear: release management cannot solely rely on branch naming; it must string together verifications, approval points, release records, monitoring, and rollback paths.
If the team has fixed release windows, Microsoft Release Flow can be prioritized as a reference. If the team deploys frequently, Slack Deploys and Netflix Spinnaker can be prioritized. For more case comparisons, see Big Tech Engineering Practice Decision Map.