git-flow und LaTeX
Auf LaTeX-Dokumente lassen sich Git-Informationen aufdrucken was die Lenkung und das Management erheblich vereinfacht und transparenter macht. Bei der Verwendung des Branching Modells git-flow ist der Workflow jedoch ein klein wenig anzupassen.
Möchtest du deine LaTeX-Dokumente automatisch mit einem Tag versehen, wie hier in meinem Beitrag 👉 LaTeX und Git – Git Information in LaTeX-Dokumenten verwenden vorgestellt, dann ist der git-flow
-Workflow ein wenig anzupassen.
Wenn das Branching Model git-flow
verwendet wird, dann wird automatisch ein Tag erstellt, wenn das Release beendet wird und der Release-Branch in den Branch main
und develop
gemerged wird.
Für das LaTeX-Dokument ist das dann aber zu spät!
Damit der Tag für LaTeX verwendet werden kann, musst du
- manuell einen Tag erstellen
- ein Check-out in deinen Release-Branch machen (du befindest dich zwar bereits im Release-Branch, aber das Shell-Skript in
~/.git/hooks/post-checkout
muss die Git-Informationen in die Datei~/.git/gitHeadInfo.gin
schreiben, damit LaTeX diese auslesen kann.) - einen Konvertierungslauf durchlaufen (die Git-Informationen werden aus der Datei
~/.git/gitHeadInfo.gin
ausgelesen und auf das Dokument gedruckt)
Also was musst du machen?
Manuell einen Tag erstellen
Bevor du dein Release mit einem Klick auf Finish release
beendest, musst du noch manuell einen neuen Tag erstellen.
Achte dabei darauf, dass der Tag einen anderen Namen benötigt als dein Release-Branch.
Verwendest du den gleichen Tag-Namen, wie für dein Release, kommt es zu einem Namenskonflikt.
Beispiel:
Name des Release-Branch: release-1.0
Daraus wird nach unserer Namenskonvention der Tag v.1.0
Du musst also einen anderen Tag-Namen verwenden, wie z.B. 1.0
.
Git Check-out
git checkout release-release-1.0
LaTeX Konvertierungslauf
pdflatex datei.tex
Änderungen stagen und commiten
Allen Änderungen nach dem LaTeX-Konvertierungslauf sind zu stagen und zu committen.
Release beenden
Nun kannst du dein Release beenden.
Git Commit Graph - Ein Beispiel
Am Beispiel dieses Screenshots wird das Vorgehen deutlich.
Vor jedem Beenden eines Releases (v1.0, v2.0
) wurde manuell ein Tag (1.0, 2.0
) erstellt.
Der manuell angelegte Tag (z.B. 1.0
) muss nicht auf Remote gepusht werden. Es kann auch nur für die Dauer der LaTeX-Konvertierungslaufs angelegt werden und dann wieder gelöscht werden.
Gib mir gerne einen Kaffee ☕ aus ❗️
Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕️ ausgeben.
Follow Me❗️
Source
Photo by Angèle Kamp on Unsplash