Git pre-commit Hook
VerBump kann als pre-commit-Wächter eingesetzt werden: Ist eine Quelldatei
neuer als VERSION, wird der Commit blockiert und VerBump öffnet sich
automatisch zum Erhöhen.
Einrichten: Einstellungen öffnen, Projekt auswählen, auf
Git-Hook installieren klicken. VerBump schreibt ein kleines Skript in
.git/hooks/pre-commit — vorhandene Hook-Inhalte bleiben erhalten.
Entfernen geht genauso über Git-Hook entfernen.
Der Hook ruft VerBump mit --check auf. Manuell möglich:
VerBump.exe --check # Projekt im aktuellen Verzeichnis prüfen
VerBump.exe --check C:\mein\Projekt
Exit-Code 0 = VERSION aktuell · 1 = veraltet (Commit blockiert).
Der Hook-Dialog zeigt nur das betroffene Projekt (nicht alle Projekte aus den Settings).
Es stehen drei Buttons zur Verfügung:
- ✓ Bump & Commit — Version erhöhen und Commit durchlassen.
- ↷ Jetzt überspringen — diesen Commit ohne Bump durchlassen
(nützlich für WIP-Commits oder reine Doku-Änderungen).
- ✗ Commit stoppen — Commit abbrechen (Exit 1).
Corporate-Deployments: Um Bumping bei jedem Commit zu erzwingen und
Jetzt überspringen zu deaktivieren, Datei
C:\ProgramData\VerBump\policy.json anlegen:
{ "allowHookBypass": false }
Diese Datei wird maschinenübergreifend ausgewertet; Benutzer können sie nicht
überschreiben. Deployment per Installer oder Gruppenrichtlinie. Bei
allowHookBypass: false sind nur Bump & Commit
und Commit stoppen sichtbar.
Der Hook passt zu jedem Commit-Stil.
Bei WIP-Commits oder reinen Doku-Änderungen einfach Jetzt überspringen
klicken — kein git commit --no-verify nötig. Der Bump-Dialog erscheint
immer dann, wenn eine Quelldatei neuer als die aktuelle VERSION ist — als sanfte
Erinnerung, nicht als unbedingter Blocker. Teams, die Bumping bei jedem Commit
erzwingen müssen, können Jetzt überspringen über die Policy-Datei oben
deaktivieren.
Ignore-Regeln
VerBump markiert Projekte als veraltet, wenn Quelldateien neuer als die VERSION sind,
oder (bei Git-Repos) wenn sich Dateien seit dem letzten Commit geändert haben.
Verzeichnisse und Dateimuster können global oder pro Projekt ausgeschlossen werden,
um diese Erkennung präzise anzupassen.
Global ignore — in den Einstellungen, gilt für alle Projekte:
Dirs: .git node_modules bin obj dist
Files: *.bak *.tmp *.log
Projektspezifisch — im Bereich „Entry" der Einstellungen.
Mit !-Präfix kann ein global ausgeschlossener Eintrag wieder eingeschlossen werden:
Dirs: build ← zusätzlich für dieses Projekt ausschließen
!bin ← 'bin' wieder einschließen (überschreibt globale Regel)