Sie erwähnen, dass Sie die semantische Versionierung verwenden möchten. Schauen wir uns also die Spezifikation für die semantische Versionierung unter http://semver.org/ an :
Inkrementieren Sie bei gegebener Versionsnummer MAJOR.MINOR.PATCH Folgendes:
- MAJOR-Version, wenn Sie inkompatible API-Änderungen vornehmen,
- MINOR-Version, wenn Sie Funktionen abwärtskompatibel hinzufügen, und
- PATCH-Version, wenn Sie abwärtskompatible Fehlerbehebungen vornehmen.
Zusätzliche Beschriftungen für Pre-Release- und Build-Metadaten sind als Erweiterungen des MAJOR.MINOR.PATCH-Formats verfügbar.
und etwas weiter unten:
Eine Vorabversion kann durch Anhängen eines Bindestrichs und einer Reihe von durch Punkte getrennten Bezeichnern unmittelbar nach der Patch-Version gekennzeichnet werden. Bezeichner MÜSSEN nur ASCII-Alphanumerik und Bindestrich [0-9A-Za-z-] enthalten. Bezeichner dürfen NICHT leer sein. Numerische Bezeichner DÜRFEN KEINE führenden Nullen enthalten. Vorabversionen haben eine niedrigere Priorität als die zugehörige normale Version. Eine Vorabversion zeigt an, dass die Version instabil ist und möglicherweise nicht die beabsichtigten Kompatibilitätsanforderungen erfüllt, die in der zugehörigen normalen Version angegeben sind. Beispiele: 1.0.0-alpha, 1.0.0-alpha.1, 1.0.0-0.3.7, 1.0.0-x.7.z.92.
Wenn Sie also eine echte Beta Ihrer 1.0-Version veröffentlichen, sollten Sie diese mit einem Tag versehen 1.0.0-beta
(oder ähnlich wie in der Spezifikation angegeben). Wenn Sie mehr Beta - Versionen gehen zu müssen , wie Sie Fehler zu beheben, dann 1.0.0-beta.1
, 1.0.0-beta.2
usw.
Wenn Sie abwärtskompatible Funktionen hinzufügen, sollten Sie die MINOR-Nummer erhöhen. Wenn Sie viele interne Änderungen vornehmen, die zu Änderungen an anderen Stellen in Ihrer Anwendung führen würden, ist dies eine wichtige Änderung. Wenn Sie weniger dramatische Änderungen vornehmen (z. B. nur Code hinzufügen und das Verhalten des vorhandenen Codes nicht ändern ), ist dies eine geringfügige Änderung. Wenn Sie eine UI-schwere Anwendung haben und diese UI vollständig ändern, würde ich auch sagen, dass dies ebenfalls eine MAJOR-Änderung ist (UI kann als API für Endbenutzer betrachtet werden).
Was , wie Indikatoren zu Ihrem git Repo hinzufügen, würde ich vorschlagen , dass Sie zuerst einen erstellen 1.x
Zweig. Auf diese Weise können Sie problemlos alles in Version 1 verfolgen und gleichzeitig Version 2 auf Master weiterentwickeln. Dann kennzeichnen Sie die Beta-Version mit einem Tag 1.0.0-beta
(oder -beta.1
wenn es mehrere Betas geben wird). Wenn Sie alle Fehler behoben haben, die Sie beheben müssen, markieren Sie die tatsächliche 1.0.0
Version. Kennzeichnen Sie dann jede Version nach Bedarf.
Sie können sich einige bewährte Workflows für Git wie Git Flow und Github Flow ansehen, um Ideen zu erhalten, wie Sie Ihren laufenden Workflow einrichten möchten.
Wenn Sie mehr Kontext zur semantischen Versionierung für Programme ohne API wünschen, wird diese Antwort ausführlich behandelt.