!マーカーによる破壊的変更
Conventional Commitsで!マーカーを使用して破壊的変更を示す方法。正しい配置とメジャーバージョンバンプをトリガーするものを学びます。
Breaking Changes
詳細な説明
!破壊的変更マーカー
感嘆符(!)は、コミットが破壊的変更を導入することを示す簡潔な方法です。タイプとオプションのスコープの後、コロン区切りの直前に配置されます。
形式
feat!: remove deprecated getUserByName API
feat(api)!: change authentication response format
バージョンへの影響
破壊的変更はセマンティックバージョニングでメジャーバージョンバンプ(例:1.2.3から2.0.0)をトリガーします。これは最も重要なバージョン変更であり、コンシューマーにコードの更新が必要であることを通知します。
配置ルール
!は以下の位置に配置する必要があります:
- タイプの後:
feat! - スコープの後(存在する場合):
feat(api)! - コロンの前:
feat!: ...
無効な配置:
!feat: ...— タイプの前feat: !description— 説明の中feat!(api): ...— タイプとスコープの間
!とBREAKING CHANGEフッターの比較
両方の方法が破壊的変更を示すために有効です:
feat!: remove deprecated API
は以下と同等です:
feat: remove deprecated API
BREAKING CHANGE: the getUserByName endpoint has been removed
!マーカーは1行のコミットログでより簡潔で目立ちます。フッターアプローチは破壊的変更の詳細な説明を可能にします。最大限の明確さのために両方を併用できます。
破壊的変更を使用するタイミング
以下の場合にコミットを破壊的としてマークします:
- パブリックAPIエンドポイントまたはメソッドを削除する
- パブリック関数のシグネチャを変更する
- 設定ファイルの形式を変更する
- 既存の機能の動作を互換性のない方法で変更する
- プラットフォーム、ランタイム、または依存関係バージョンのサポートを終了する
ユースケース
1行のコミットログで簡潔で目立つ破壊的変更の表示が必要な場合に!マーカーを使用します。コミットの説明自体が影響を説明する小さな破壊的変更に最適です。複雑な破壊的変更の場合は、BREAKING CHANGEフッターと組み合わせてください。