Eine weitere Option - neben erwähnt Verwendung git notes
ist git tag -a
zu verwenden (es schafft eine kommentierte Tag), aber Aliasing, um den gesamten Prozess zu automatisieren.
Der folgende Alias ~/.gitconfig
hinzugefügt werden:
release = !git tag -a release-$(git tag -l "release-*"|wc -l|sed 's/ //g')-$(git symbolic-ref --short HEAD)-$(git rev-parse HEAD)
Es eine kommentierte Tag in der folgenden Form schaffen wird: werden aufgefordert,
release-<release number>-<branch name>-<commit hash>
Beachten Sie, dass Sie ein Tag Nachricht einzugeben, die kann nicht leer sein. Natürlich können Sie das Tag-Format an Ihre Bedürfnisse anpassen. Bei jedem Aufruf wird ein neues Tag erstellt. Wenn Sie ein Commit anstelle eines Tags bevorzugen, kann es auch verwendet werden.
Auch wenn es um Release-Prozess geht gute Idee ist zu folgen git flow Regeln - in der Originalversion oder geändert, um Ihren Bedürfnissen entsprechen. Wenn Sie mit mehreren Verzweigungen arbeiten und vom Master freischalten, können Sie einen Hook konfigurieren, der automatisch eine Freigabe (Tag, Notiz, was auch immer) erstellt, wenn ein Zweig zum Master zusammengeführt wird.
Verwenden Sie Tags (leichtgewichtig oder mit Anmerkungen versehen, obwohl im Allgemeinen für Releases ein kommentiertes Tag besser ist, da Sie zusätzliche Release-Daten speichern und/oder GPG-signieren können). – torek
Sie können Tags ohne Umschalten und Zusammenführen erstellen. Wenn Sie über GitHub sprechen, können Sie Releases von einem bestimmten Commit über die Benutzeroberfläche erstellen. – janos
@janos Ich möchte keinen neuen Tag-Namen für jede Version erfinden. Ich möchte, dass sie mit einem stabilen Bezeichner wie dem Zweignamen bezeichnet werden. Ich spreche nicht speziell über GitHub – porton