セマンティックバージョニングの使用を検討しているとのことですが、http://semver.org/にあるセマンティックバージョニング仕様を見てみましょう。
バージョン番号MAJOR.MINOR.PATCHを指定して、次の値を増やします。
- 互換性のないAPI変更を行った場合のメジャーバージョン
- 下位互換性のある方法で機能を追加する場合のマイナーバージョン
- 下位互換性のあるバグ修正を行う場合のパッチバージョン。
プレリリースおよびビルドメタデータの追加のラベルは、MAJOR.MINOR.PATCH形式の拡張機能として利用できます。
そしてもう少し下:
プレリリースバージョンは、パッチバージョンの直後にハイフンと一連のドットで区切られた識別子を追加することによって示すことができます。識別子は、ASCII英数字とハイフン[0-9A-Za-z-]のみで構成する必要があります。識別子を空にすることはできません。数値識別子に先行ゼロを含めることはできません。プレリリースバージョンは、関連する通常バージョンよりも優先順位が低くなっています。プレリリースバージョンは、バージョンが不安定であり、関連する通常のバージョンで示されているように、意図した互換性要件を満たさない可能性があることを示します。例:1.0.0-alpha、1.0.0-alpha.1、1.0.0-0.3.7、1.0.0-x.7.z.92。
したがって、1.0リリースの真のベータ版をリリースする場合は、それにタグ付けする必要があります1.0.0-beta
(または仕様に従って同様)。あなたがバグを修正するように、複数のベータリリースを持ってしようとしている場合は、1.0.0-beta.1
、1.0.0-beta.2
、など
下位互換性のある機能を追加する場合は、MINOR数を増やす必要があります。アプリケーションの他の場所で重大な変更を引き起こす内部変更を多数行った場合、それは大きな変更です。それほど劇的な変更を行わない場合(たとえば、コードを追加するだけで、既存のコードの動作は変更しない場合)、これはマイナーな変更になります。UIの多いアプリケーションがあり、そのUIを完全に変更する場合、それもメジャーな変更であると言えます(UIはエンドユーザーのAPIと見なすことができます)。
どのようにあなたのgitリポジトリに指標を追加するには、私はあなたが最初に作成することをお勧めしたい1.x
ブランチを。これにより、マスターでのバージョン2の継続的な開発を可能にしながら、バージョン1のすべてを簡単に追跡できます。次に、ベータリリースにタグを付けます1.0.0-beta
(または-beta.1
、複数のベータ版がある場合)。修正する必要があるすべてのバグを修正したら、実際の1.0.0
リリースにタグを付けます。次に、必要に応じて各リリースにタグを付けます。
gitフローやgithubフローのようなgitの実証済みのワークフローを見て、継続的なワークフローをどのように設定したいかを考えてください。
また、APIなしのプログラムのセマンティックバージョニングについてもう少しコンテキストが必要な場合は、この答えは少し深く入ります。