2016-05-07 31 views
2

Ich denke, ich verwende die "https://github.com/nvie/gitflow", wenn das ist das, das innerhalb des Smartgit GUI-Programms kommt.Wie hole ich das gitflow Hotfix Finish vor?

Jedes Mal, wenn ich etwas begehe, aktualisiere ich die Build-Nummer. Beispiel: 2.6.0-77 bis 2.6.0-78

Dies ist bereits implementiert, um das Vorabkommando zu haken und die Buildnummer zu erhöhen, aber wie ein Hook erstellt wird, um den gitflow-Hotfix zu haken und den Hotfix zu inkrementieren Versionsnummer? Beispiel: 2.6.0-70 bis 2.6.1-70

Der Code zum Hochstufen der Hotfix-Version ist bereits erledigt. Wir müssen nur ausführen: githooks/updateVersion.sh patch

Dann haben wir 2.6.0-70 bis 2.6.1-70 über das Projekt. Dieser Code ist hier implementiert: https://github.com/evandrocoan/.versioning

Dort sind die Pre-Commit-, Post-Commit-Hooks implementiert.

Wenn es nicht getan werden kann, könnten wir es auf dem Pre-Commit Hook tun? Wir müssen nur wissen, wann wir etwas Alltägliches begehen, und wann wir den gitflow-Hotfix machen.

Antwort

0

Ich kann auch darüber nachdenken, die Commit-Nachricht und dann bestimmen, zu lesen, ob es eine normale Commit (./githooks/updateVersion.sh Build) oder ein Hotfix (./githooks/updateVersion.sh Patch).

Ich meine, ein Muster über das Projekt und nur am Ziel-Hotfix zu erstellen, um dieses Schlüsselwort zu verwenden, das durch den Vorbereitungs-Hook erhalten wird. Etwas wie, immer ein Finish-Hotfix mit den Worten 'Finish Hotfix' zu starten.

Dann könnte auch dasselbe auf kleinere und größere Versionen angewendet werden, dann könnten wir immer automatisch die Softwareversion aktualisieren.

Obs

Dies setzt voraus, eine Version waren „Major.Minor.Patch-Build“, wo Build der Zähler verpflichten, die jeder Zweig begehen entwickeln erhöht.

Aber das ist ein falsches Verzweigungsmodell, wir können keine Dinge in den Entwicklungszweig schreiben, wir müssen Feature-Zweige erstellen. Wir erhöhen immer die Patch-Nummer, jedes Hotfix-Release. Aber berühre nicht die Build-Nummer. Dann sollten wir die Build-Nummer, jedes Feature Finish erhöhen. Und erhöhen Sie die Major-oder Minor-Nummer jedes Release Start, je nachdem es Hauptfunktionen oder kleinere Features Release war.

Aber das verursacht ein Problem. Wenn wir die Features A, B und C erstellen, beenden wir das Feature A und erhöhen dann die Build-Nummer, aber wenn wir das Feature B oder C beenden, wird if einen Konflikt verursachen, da ihre Build-Nummern nicht mehr aktuell sind.

Die Lösung ist die Integration der Entwicklung vor jedem Feature-Finish, damit wir die richtige Build-Nummer während der Integration bekommen können, dann vermeiden wir Konflikte.