Dieses Repository enthält Skripte zur automatisierten Erstellung von Git-Commit-Messages
mithilfe von OpenAI und Mixtral (Ollama).
Die generierten Nachrichten werden strukturiert gespeichert und über Symlinks schnell zugänglich gemacht.
Wichtiger Hinweis:
Die automatisch generierten Commit-Messages sind eine Unterstützung, ersetzen jedoch nicht die inhaltliche und sprachliche Prüfung durch den Entwickler. Vor dem Commit sollte der Text immer geprüft und bei Bedarf angepasst werden, um Fehlinformationen oder unpassende Formulierungen zu vermeiden.
Erzeugt eine Commit-Message mit OpenAI (gpt-4.1-mini
) basierend auf dem aktuell gestageten Git-Diff.
-
Ausgabe:
logs/openai/<YYYY-MM-DD_HH-MM-SS>/
mit:payload.json
– API-Payloadresponse.json
– volle API-Antwortcommit_message.txt
– generierte Commit-Message
- Symlink
logs/openai/latest
→ letzter Run - Symlink
latest-Commit-MSG-openai.txt
→ letzte OpenAI-Commit-Message
-
Nutzung:
./generate_commit_msg.sh git commit -F latest-Commit-MSG-openai.txt
Erzeugt eine Commit-Message mit Mixtral (lokal über Ollama) basierend auf dem aktuell gestageten Git-Diff.
-
Ausgabe:
logs/mixtral/<YYYY-MM-DD_HH-MM-SS>/full_prompt.txt
– verwendeter Promptcommit_message.txt
– generierte Commit-Message- Symlink
logs/mixtral/latest
→ letzter Run - Symlink
latest-Commit-MSG-mixtral.txt
→ letzte Mixtral-Commit-Message
-
Nutzung:
./mixtral-commit.sh git commit -F latest-Commit-MSG-mixtral.txt
Entfernt Log-Verzeichnisse älter als eine bestimmte Anzahl Tage (Standard: 30).
- Nutzung:
./cleanup_logs.sh # Behalte 30 Tage ./cleanup_logs.sh 7 # Behalte 7 Tage ./cleanup_logs.sh --help # Hilfe anzeigen
logs/
openai/
YYYY-MM-DD_HH-MM-SS/
payload.json
response.json
commit_message.txt
latest -> <letzter Run>
mixtral/
YYYY-MM-DD_HH-MM-SS/
full_prompt.txt
commit_message.txt
latest -> <letzter Run>
git
- Für OpenAI:
- gültiger API-Key in
$OPENAI_API_KEY
jq
curl
- gültiger API-Key in
- Für Mixtral:
- Ollama installiert
- Modell
mixtral:8x7b
lokal verfügbar
Hinweis:
Die Symlinkslatest-Commit-MSG-openai.txt
undlatest-Commit-MSG-mixtral.txt
werden bei jedem Run automatisch aktualisiert und sollten in.gitignore
stehen.
Ausführliche Beschreibung und Hintergründe im Blog:
https://gwr-mbh.de/ki-commit-messages-git-diff/