!マーカーによる破壊的変更

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フッターと組み合わせてください。

試してみる — Conventional Commits Linter

フルツールを開く