【ほっとふぃっくす】

ホットフィックス とは?

最終更新:
💡 「今すぐ直さないとまずい!」ときの緊急パッチ

ホットフィックスとは、本番で発生した緊急性の高い不具合を、次の定期リリースを待たずに修正するパッチのこと。通常リリースとの違い、Git FlowでのHotfixブランチの作り方を初心者向けに解説。

📌 このページのポイント
ホットフィックスの流れ 重大バグ発見 本番環境で障害 緊急度: 高 緊急修正 hotfixブランチ 最小限の変更 テスト 再現・修正の確認 影響範囲確認 早急に デプロイ 通常リリース vs ホットフィックス 通常リリース 開発 → コードレビュー → QA → ステージング → 本番(予定に合わせて) ホットフィックス 最小限の修正 → レビュー・テスト → 本番(予定を待たずに)→ 開発側へも反映
ホットフィックス:重大バグに対する緊急修正の流れ
ひよこ ひよこ
ホットフィックスって普通のバグ修正と何が違うの?
ペンギン先生 ペンギン先生
普通のバグ修正は次のリリースに含めて計画的に出すけど、ホットフィックスは「次のリリースまで待つと被害が大きい」ときの修正だよ。定期リリースを待たずに、修正だけを別に出すんだ
ひよこ ひよこ
たとえばどんなときにホットフィックスするの?
ペンギン先生 ペンギン先生
セキュリティの脆弱性が見つかって攻撃されている場合、決済機能がバグで動かなくなった場合、データが壊れるバグが見つかった場合とかだね。ビジネスインパクトが大きいものが対象だよ
ひよこ ひよこ
急いで修正するとかえって問題を起こしそう…
ペンギン先生 ペンギン先生
そのとおりで、急ぎでもレビューとテストは必要だよ。まずバグを再現するテストを書いて、修正で直ることと周りが壊れていないことを確かめる。修正範囲を最小限に絞ることも大事で、関係ない改善を混ぜると障害を広げるリスクがあるからね
ひよこ ひよこ
Git Flowでのホットフィックスの流れは?
ペンギン先生 ペンギン先生
本番用ブランチ(元の記事ではmaster、今はmainと呼ぶことが多い)からhotfix-*ブランチを切って修正し、本番用とdevelopの両方にマージするよ。リリースブランチが作業中なら、developの代わりにそちらへマージするんだ。トランクベース開発では、まずトランクでバグを再現して直し、その修正をリリースブランチへチェリーピックするのが基本とされているよ
もっと詳しく知りたい人へ

Git Flowのhotfixブランチは今でも使うべき?

チームのリリースのしかた次第だよ。Git Flowの提唱者は2020年に元の記事へ注記を加えて、この方式は複数のバージョンを並行して保守するソフトウェア向けで、継続的にデリバリーするWebアプリなどではGitHub Flowのような単純な流れを勧めているんだ。その場合は、通常の短いブランチで修正してすぐに本番へ出すことになり、hotfix専用のブランチは作らないこともあるよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「ホットフィックス」って出てきたら「緊急の問題を即座に修正するパッチ」と思えればだいたいOK!
📖 おまけ:英語の意味
「Hotfix」 = 熱い修正
💬 「Hot(緊急の・熱い)+ Fix(修正)」で、急いで当てる修正という意味で使われているよ

参考資料

← 用語集にもどる