🚀 Git Auto Commit (gac)

June 18, 2026 · View on GitHub

🚀 Git Auto Commit (gac)

PyPI version Changelog Python Build Status codecov Ruff mypy Contributions welcome License: MIT

English | 简体中文 | 繁體中文 | 日本語 | 한국어 | हिन्दी | Tiếng Việt | Français | Русский | Español | Português | Norsk | Svenska | Deutsch | Nederlands | Italiano

KI-gestützte Commit-Nachrichten, die Ihren Code verstehen!

Automatisieren Sie Ihre Commits! Ersetzen Sie git commit -m "..." durch uvx gac für kontextbezogene, gut formatierte Commit-Nachrichten, die von großen Sprachmodellen generiert werden!


Was Sie erhalten

Intelligente, kontextbezogene Nachrichten, die das Warum hinter Ihren Änderungen erklären:

GAC generating a contextual commit message


Schnellstart

uvx gac init   # Konfigurieren Sie Ihren Provider, Ihr Modell und Ihre Sprache
uvx gac  # Generieren und committen mit KI

Das ist alles! Überprüfen Sie die generierte Nachricht und bestätigen Sie mit y.


Hauptfunktionen

33+ Unterstützte Provider

  • AnthropicAzure OpenAICerebrasChatGPT (OAuth)Chutes.aiClaude Code (OAuth)
  • Crof.aiDeepInfraDeepSeekFireworksGeminiGitHub Copilot (OAuth)Groq
  • Kimi for CodingLilacLM StudioMiniMax.ioMistral AIMoonshot AINeuralwattOllama
  • Ollama CloudOpenAIOpenCode GoOpenRouterPlexus GatewayQwen Cloud (CN & INTL)
  • ReplicateStreamlake/VanchinSynthetic.newTogether AIWafer.aiZ.AI (API & Coding Plans)
  • Custom Endpoints (Anthropic/OpenAI)

🧠 Intelligente KI-Analyse

  • Versteht die Absicht: Analysiert Code-Struktur, Logik und Muster, um das "Warum" hinter Ihren Änderungen zu verstehen, nicht nur was sich geändert hat
  • Semantisches Bewusstsein: Erkennt Refactoring, Bug-Fixes, Features und Breaking Changes, um kontextbezogene Nachrichten zu generieren
  • Intelligentes Filtern: Priorisiert sinnvolle Änderungen und ignoriert generierte Dateien, Abhängigkeiten und Artefakte
  • Intelligentes Commit-Grouping - Gruppiert automatisch zusammengehörige Änderungen in mehreren logischen Commits mit --group

📝 Mehrere Nachrichtenformate

  • Einzeiler (-o Flag): Einzeilige Commit-Nachricht im conventional commit Format
  • Standard (Standard): Zusammenfassung mit Stichpunkten zur Erklärung der Implementierungsdetails
  • Ausführlich (-v Flag): Umfassende Erklärungen inklusive Motivation, technischer Herangehensweise und Impact-Analyse
  • 50/72 Regel (--50-72 Flag): Erzwingt das klassische Commit-Message-Format für optimale Lesbarkeit in git log und GitHub UI
  • DCO/Signoff (--signoff Flag): Fügt Signed-off-by Zeile für Developer Certificate of Origin Compliance hinzu (erforderlich von Cherry Studio, Linux Kernel und anderen Projekten)

🌍 Mehrsprachige Unterstützung

  • 25+ Sprachen: Generieren Sie Commit-Nachrichten in Englisch, Chinesisch, Japanisch, Koreanisch, Spanisch, Französisch, Deutsch und 18+ weiteren Sprachen
  • Flexible Übersetzung: Wählen Sie, ob Sie conventional commit Präfixe auf Englisch für Tool-Kompatibilität belassen oder vollständig übersetzen möchten
  • Mehrere Workflows: Stellen Sie eine Standardsprache mit uvx gac language ein oder verwenden Sie das -l <Sprache>-Flag für einmalige Überschreibungen
  • Unterstützung für native Skripte: Volle Unterstützung für nicht-lateinische Skripte inklusive CJK, Kyrillisch, Thai und mehr

💻 Developer Experience

  • Interaktives Feedback: Geben Sie r ein zum erneuten Generieren, e zum Bearbeiten (standardmäßig In-Place-TUI, oder $GAC_EDITOR falls gesetzt) oder geben Sie direkt Ihr Feedback ein wie mache es kürzer oder konzentriere dich auf den Bug-Fix
  • Interaktive Befragung: Verwenden Sie --interactive (-i) um gezielte Fragen zu Ihren Änderungen zu beantworten für mehr kontextbezogene Commit-Nachrichten
  • Ein-Befehl-Workflows: Vollständige Workflows mit Flags wie uvx gac -ayp (alles hinzufügen, automatisch Bestätigen, pushen)
  • Git-Integration: Respektiert pre-commit und leftthook Hooks, führt sie vor teuren KI-Operationen aus
  • MCP-Server: Führen Sie uvx gac serve aus, um Commit-Tools über das Model Context Protocol für KI-Agenten bereitzustellen

📊 Nutzungsstatistiken

uvx gac stats               # Übersicht: Gesamt-Gacs, Streaks, tägliche/wöchentliche Spitzen, Top-Projekte & -Modelle
uvx gac stats models        # Modell-Aufschlüsselung: Gacs, Tokens, Latenz, Geschwindigkeit, Latenz-pro-Commit-Diagramme
uvx gac stats projects      # Projekt-Aufschlüsselung: Gacs, Commits, Tokens, Ø Dateien pro Gac über alle Repos
uvx gac stats recent        # Letzte Gac-Verlauf: Tokens, Geschwindigkeit, Latenz, Dateien pro Gac (-n 20 für mehr)
uvx gac stats reset         # Alle Statistiken zurücksetzen (bittet um Bestätigung)
uvx gac stats reset model <model-id>  # Statistiken nur für ein bestimmtes Modell zurücksetzen
  • Verfolgen Sie Ihre gacs: Sehen Sie, wie viele Commits Sie mit gac gemacht haben, Ihren aktuellen Streak, die höchste tägliche/wöchentliche Aktivität und Top-Projekte
  • Token-Tracking: Gesamtzahl der Prompt-, Output- und Reasoning-Tokens nach Tag, Woche, Projekt und Modell — mit Highscore-Trophäen auch für die Token-Nutzung
  • Top-Modelle: Sehen Sie, welche Modelle Sie am häufigsten verwenden und wie viele Tokens jedes verbraucht
  • Highscore-Feiern: 🏆 Trophäen, wenn Sie neue tägliche, wöchentliche, Token- oder Streak-Rekorde aufstellen; 🥈 wenn Sie diese einstellen
  • Opt-in beim Setup: uvx gac init fragt, ob Sie Statistiken aktivieren möchten, und erklärt genau, was gespeichert wird
  • Jederzeit Opt-out: Setzen Sie GAC_DISABLE_STATS=true (oder 1/yes/on), um zu deaktivieren. Die Einstellung auf false/0/no (oder das Entfernen) hält Statistiken aktiviert
  • Datenschutz zuerst: Lokal gespeichert in ~/.gac_stats.json. Nur Zähler, Daten, Projektnamen und Modellnamen — keine Commit-Nachrichten, Code oder persönliche Daten. Keine Telemetrie

🛡️ Eingebaute Sicherheit

  • Automatische Geheimnis-Erkennung: Scannt vor dem Commit nach API-Schlüsseln, Passwörtern und Tokens
  • Interaktiver Schutz: Fordert vor dem Commit potenziell sensible Daten auf mit klaren Korrekturoptionen
  • Intelligentes Filtern: Ignoriert Beispieldateien, Vorlagendateien und Platzhaltertext zur Reduzierung von Falschpositiven

Verwendungsbeispiele

Basis-Workflow

# Ihre Änderungen hinzufügen
git add .

# Generieren und committen mit KI
uvx gac

# Überprüfen → y (commit) | n (abbrechen) | r (erneut generieren) | e (bearbeiten) | oder Feedback eingeben

Häufige Befehle

BefehlBeschreibung
uvx gacCommit-Nachricht generieren
uvx gac -yAutomatisch bestätigen (keine Überprüfung erforderlich)
uvx gac -aAlle Änderungen vor der Generierung der Commit-Nachricht hinzufügen
uvx gac -SInteraktiv Dateien zum Staging auswählen
uvx gac -oEinzeilige Nachricht für triviale Änderungen
uvx gac -vAusführliches Format mit Motivation, technischer Herangehensweise und Impact-Analyse
uvx gac -h "hinweis"Kontext für KI hinzufügen (z.B. uvx gac -h "bug fix")
uvx gac -sScope einschließen (z.B. feat(auth):)
uvx gac -iFragen zu Änderungen stellen für besseren Kontext
uvx gac -gÄnderungen in mehrere logische Commits gruppieren
uvx gac -pCommit und push
uvx gac modelKI-Provider und Modell ändern
uvx gac statsIhre gac-Nutzungsstatistiken anzeigen

Power-User-Beispiele

# Vollständiger Workflow in einem Befehl
# Ihre Commit-Statistiken anzeigen
uvx gac stats

# Statistiken für alle Projekte
uvx gac stats projects

uvx gac -ayp -h "Release-Vorbereitung"

# Detaillierte Erklärung mit Scope
uvx gac -v -s

# Schneller Einzeiler für kleine Änderungen
uvx gac -o

# Commit-Nachricht in einer bestimmten Sprache generieren
uvx gac -l de

# Änderungen in logisch zusammengehörige Commits gruppieren
uvx gac -ag

# Interaktiver Modus mit ausführlicher Ausgabe für detaillierte Erklärungen
uvx gac -iv

# Debuggen, was die KI sieht
uvx gac --show-prompt

# Sicherheits-Scan überspringen (vorsichtig verwenden)
uvx gac --skip-secret-scan

# Signoff für DCO Compliance hinzufügen (Cherry Studio, Linux Kernel, etc.)
uvx gac --signoff

Interaktives Feedback-System

Nicht zufrieden mit dem Ergebnis? Sie haben mehrere Optionen:

# Einfaches erneutes Generieren (kein Feedback)
r

# Die Commit-Nachricht bearbeiten
e

# Oder geben Sie Ihr Feedback direkt ein!
mache es kürzer und konzentriere dich auf die Performance-Verbesserung
verwende conventional commit Format mit Scope
erkläre die Sicherheitsimplikationen

# Enter bei leerer Eingabe drücken, um die Eingabeaufforderung erneut zu sehen

Die Bearbeitungsfunktion (e) lässt Sie die Commit-Nachricht verfeinern:

  • Standardmäßig (In-Place-TUI): Mehrzeiliges Editing mit vi/emacs-Keybindings — Tippfehler korrigieren, Formulierungen anpassen, umstrukturieren
  • Mit GAC_EDITOR: Öffnet Ihren bevorzugten Editor (code, vim, nano usw.) — volle Editor-Funktionalität einschließlich Suchen/Ersetzen, Makros usw.

GUI-Editoren wie VS Code werden automatisch behandelt: gac fügt --wait ein, sodass der Prozess blockiert, bis Sie den Editor-Tab schließen. Keine zusätzliche Konfiguration nötig.


Konfiguration

Führen Sie uvx gac init aus, um Ihren Provider interaktiv zu konfigurieren, oder setzen Sie Umgebungsvariablen:

Später Provider oder Modelle ändern, ohne Spracheinstellungen zu berühren? Verwenden Sie uvx gac model für einen Optimierten Ablauf, der die Spracheingabeaufforderungen überspringt.

Siehe .gac.env.example für alle verfügbaren Optionen.

Möchten Sie Commit-Nachrichten in einer anderen Sprache? Führen Sie uvx gac language aus, um aus 25+ Sprachen zu wählen, inklusive Español, Français, 日本語 und mehr.

Möchten Sie den Stil der Commit-Nachrichten anpassen? Siehe docs/CUSTOM_SYSTEM_PROMPTS.md für Anleitungen zum Schreiben von benutzerdefinierten System-Prompts.


Hilfe erhalten


⭐ Star uns auf GitHub🐛 Probleme melden📖 Vollständige Doku