
Die Visualisierung von Git-Historien stellt Entwicklungsteams oft vor Herausforderungen. Während IDEs und GitLab integrierte Graph-Ansichten bieten, fehlt es häufig an Flexibilität für Präsentationen oder Dokumentationen. Das Bit-Booster Offline Commit Graph Drawing Tool schließt diese Lücke elegant.

Bit-Booster transformiert die textuelle Ausgabe von Git-Log-Befehlen in visuell ansprechende Commit-Graphen. Das Tool arbeitet vollständig offline und benötigt lediglich die strukturierte Ausgabe eines Git-Befehls.
Der zentrale Befehl extrahiert die relevanten Commit-Informationen in einem strukturierten Format:
|
1 |
git log --all --date-order --pretty="%h|%p|%d" |
Die Optionen im Detail:
– --all inkludiert sämtliche Branches und Tags
– --date-order sortiert Commits chronologisch nach Autor-Datum
– --pretty="%h|%p|%d" formatiert die Ausgabe mit Pipe-Separatoren für Hash, Parent-Hashes und Ref-Namen
Der Prozess zur Erstellung gliedert sich in drei Schritte:
1. Führen Sie den Git-Log-Befehl in Ihrem Repository-Verzeichnis aus
2. Kopieren Sie die gesamte Terminal-Ausgabe
3. Fügen Sie den Text in das Eingabefeld des Bit-Booster-Tools ein
Das Tool generiert automatisch eine grafische Darstellung mit farblich differenzierten Branches, Merge-Punkten und aussagekräftigen Ref-Labels.
Für spezifische Anwendungsfälle lässt sich der Basis-Befehl erweitern, so das auch Kommentare angezeigt werden.
Einfach alles in eine Datei schreiben und auf der Webseite https://bit-booster.com/graph.html eingeben, dann auf „Draw Commit Graph“ klicken. Schon kann das Bild als svg geladen werden.
|
1 |
git log --all --date-order --pretty="%h|%p|%d %s" > history.txt |
Beispiel:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
04a059c|7acf0cb 6cf38cb| (HEAD -> main, origin/main, origin/HEAD) Merge branch 'main' of https://gitlab.com/IT-Berater/twrente.git into main 7acf0cb|acbab4e| format acbab4e|6c1baac| junit api entf. 6cf38cb|6c1baac| README.md bearbeiten 6c1baac|a39768c| (tag: v1.2.5) Ver. 1.2.5: Nicht mehr als 300 Events/Termine in einer Datei. a39768c|c6e6dea| Nicht mehr als 300 Events/Termine in einer Datei. c6e6dea|5e4a9ff| (tag: v1.2.4) 1.2.4 Fix und Refactor. 5e4a9ff|0ff8776| (tag: v1.2.3) Ersetze `new Locale("ru")` durch `Locale.of("ru")` (Java 19+) 0ff8776|41ed003| 1.2.3 41ed003|4eb0b09| Javadoc 4eb0b09|a89725b| Ref. in neue Sprachen Klasse, rename prop a89725b|7ddf6d4| (tag: v1.2.2) Neue Version mit 18 Sprachen 7ddf6d4|44f5c88| 6 Sprachen erg. 44f5c88|67bd46f| 6 Sprachen ergänzt 67bd46f|7f0db31| Javadoc erg. 7f0db31|30fb15b| Bild v1.2.1 30fb15b|39e6795| SuppressWarnings 39e6795|c3e550d| Doc c3e550d|3d7c404| GenerateEventAction in eigene Klasse 3d7c404|ae100be| Doc ae100be|59f658d| Kleines Icon erg. 59f658d|fba9cc0| Erw. bei fehlenden Prop. Exc. gefangen. fba9cc0|9b00821| Java 21 Modul erstellt, Kalender verschoben, Gui Ref. 9b00821|913cade| (tag: v1.20) Nun mit Menü und 12 Sprachen 913cade|2f5615e| Sprachen übersetzt 2f5615e|8990250| Gr und Heb. 8990250|dac7582| Hindi und Arabisch erg. dac7582|bfcc34a| Exit Button gelöscht bfcc34a|066a21a| 8 Sprachen mit neuem Menü 066a21a|96f8ddf| Übersetzungen ergänzt 96f8ddf|01f0040| Alles auf englisch, auch Save Dialog 01f0040|9effc6c| Fix falschen Dateinamen, de 9effc6c|8cc4ead| Gui engl. schon mal ok 8cc4ead|4a2735b| Englisch vorbereitet 4a2735b|ada8920| (tag: v1.1.4) Neuen Hyperlink für Info auf Webseite ada8920|a1f063d| Ref. rename a1f063d|08c0911| Bilder 1.1.4 08c0911|8aacf63| Ref. rename GenerateEventAction 8aacf63|4f16f7e| Ref. ActionListenerImplementation erst. 4f16f7e|37d383c| Add Checkbox optimiert 37d383c|34b9267| Neuen JUnit Test 34b9267|1de4f87| Fix Javadoc 1de4f87|5eadf0f| Neue JUnit Test testGenerateICSFileZweiTag 5eadf0f|8098228| JUnit Test für Wochentage angepasst 8098228|46c1a0a| Locale auf DE 46c1a0a|c373afe| Frame zentrieren c373afe|3c9959b| Ref. eigene Main 3c9959b|bdcd084| Mit Wochentag Checkbox bdcd084|e2b8c44| 1.1.3 Gui kleiner e2b8c44|9b8cd9d| Bild mit höherer Auflösung 9b8cd9d|8ce82ee ec3196f| Merge branch 'main' of https://gitlab.com/IT-Berater/twrente ec3196f|7076cd1| LICENSE bearbeiten 7076cd1|9ae0001| Neue Datei hinzufügen 8ce82ee|f81187c| 10 Pixel linker Rand für Label f81187c|c1fbf46| clean c1fbf46|f23fefe| File Filter um ical erg. f23fefe|8032aaf| eine weltweit eindeutige PRODID erg. 8032aaf|cb3d7e5| Bild cb3d7e5|9ae0001| Neuer Ablauf mit Save Dialog 9ae0001|c13ea24| (tag: v1.1.2) Readme erg. c13ea24|951f6bd| Ablauf erg. 951f6bd|1f10bad| Bild in Readme und Link angp. 1f10bad|10ce09e| Readme erg. 10ce09e|0db8231| Java Doc, und vorbereitet für nächste Maven Version 0db8231|2496f27| Speichern Text angepasst 2496f27|789a29b| Mit File Save Dialog 789a29b|0571ac1| (tag: v1.1.1-Release) v1.1.1 0571ac1|d897d64 5cdd4ef| Merge branch 'main' of https://gitlab.com/IT-Berater/twrente 5cdd4ef|17f4494| Datei .gitlab-ci.yml aktualisieren d897d64|640bfe0 17f4494| Merge branch 'main' of https://gitlab.com/IT-Berater/twrente 17f4494|112fcba| Datei .gitlab-ci.yml aktualisieren 112fcba|154d9c3| maven:3.9.9-eclipse-temurin-21 154d9c3|6b0a89a| Datei .gitlab-ci.yml aktualisieren 6b0a89a|643370e| Datei .gitlab-ci.yml aktualisieren 640bfe0|5690d0f 643370e| Merge branch 'main' of https://gitlab.com/IT-Berater/twrente 643370e|c252645| Pipeline erg. 5690d0f|c252645| Mit Von Datum für Ereignis c252645|b708284| (tag: v1.1.1) 1.1.0 Ereignis nun frei bearbeitbar, b708284|7d16337| Neues Eingabe Feld für die Ereignisse 7d16337|689b541| Ablauf Diagramm erstellt 689b541|2c23229| Fix JUnit Test 2c23229|15b93b6| Fix, nun als ganztägiges Ereignis 15b93b6|5b841d5| 1.0.0 nach Maven Central veröffentlicht 5b841d5|bb85695| Finale 1.0.0 bb85695|deb36f1| 5. Prompt, erzeuge JUnit Testklasse deb36f1|2434716| 4. Prompt mit Exit Button 2434716|e28b36c| 3. Prompt, funktion schon mal ok. e28b36c|cbbe150| (tag: v0.0.1) Bild erg. cbbe150|2685488| Erste Version 2685488|| Initial commit |
Ergibt (Auszug):

Die generierten Graphen eignen sich hervorragend für:
– Architektur-Dokumentationen zur Veranschaulichung von Branching-Strategien
– Präsentationen über Git-Workflows und Best Practices
– Schulungsmaterialien für Teams
– Retrospektiven zur Visualisierung von Release-Zyklen
Das Tool bewährt sich besonders bei der Demonstration von Merge-Strategien. Entwicklungsteams können verschiedene Ansätze wie Fast-Forward, No-Fast-Forward oder Rebase visuell vergleichen. Für Code-Reviews ermöglicht die Darstellung ein schnelles Verständnis von Feature-Branch-Integrationen.
Für aussagekräftige Visualisierungen empfiehlt sich eine konsistente Naming-Convention für Branches. Tags sollten semantisch versioniert sein und wichtige Meilensteine markieren. Bei umfangreichen Repositories kann eine zeitliche oder thematische Filterung die Übersichtlichkeit erheblich steigern.
